آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جستجو در لیست ویو پرشده از دیتابیس

بانوی شرقی  11 سال پیش  11 سال پیش
+4 0

با سلام

اگه ما چند تا طبقه بندی برای مطالبمون داشته باشیم ، چطوری میتونیم امکان جست و جو بین مطالب کل نرم افزار رو قرار بدیم ؟

اگه تو ویدئویی استاد در این مورد صحبت کردن ، ممنون میشم بگید کدوم ویدئو هست .

با تشکر از همه مهندسا

+1 0
اگه مطالب در دیتابیسه میتونید با استفاده از تگ ها این کارو انجام بدید (11 سال پیش)
+1 0
بستگی داره که شما این مطالب رو کجا ذخیره کردی ؟ به روش database روی SDCARD یا روی سرور ؟ که روی سرور به Json نیاز هست ولی روی database به SQL نیاز هست < از دستور SELECT (11 سال پیش)
0 0
سلام. تصور کنید من چند نوع موضوع دارم . مثلا : ورزشی ، علمی، هنری ، مذهبی تو هر کدوم از این موضوع ها ، یه سری مطالب نوشته شده. حالا نرم افزار من یه گزینه جست و جو داره. کاربر کلمه ی "فوتب" رو مینویسه.(یعنی در حال نوشتن کلمه فوتبال هست) تمام صفحات از بین این متن های ذخیره شده که کلمه ی فوتب رو دارن Title هاشون برای کاربر لیست میشه. (11 سال پیش)
0 0
میشه بگید دستور Select رو چطوری برای تغییر کردن Edit text پیاده سازی کنم؟ در واقع دکمه search ندارم و با نوشتن به صورت خودکار خودش سرچ میکنه (11 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
بانوی شرقی  11 سال پیش
0 0

سلام. تصور کنید من چند نوع موضوع دارم . مثلا : ورزشی ، علمی، هنری ، مذهبی
تو هر کدوم از این موضوع ها ، یه سری مطالب نوشته شده.
حالا نرم افزار من یه گزینه جست و جو داره. کاربر کلمه ی "فوتب" رو مینویسه.(یعنی در حال نوشتن کلمه فوتبال هست) تمام صفحات از بین این متن های ذخیره شده که کلمه ی فوتب رو دارن Title هاشون برای کاربر لیست میشه.   چطوری میتونم این کار رو انجام بدم؟

+1 0
سلام. شما برای ذخیره کردن مطلب هایتان از یک دیتابیس استفاده می کنید. (اگر نمی کنید، بکنید.) وقتی دیتابیس خود را طراحی می کنید، یکی از فیلدها را برای Title و یکی را برای category اختصاص دهید. به این ترتیب در حین اجرای برنامه می توانید به راحتی با رکوردهای مورد نظر را پیدا کنید. برای آشنایی با دیتابیس و همچنین نحوه سرچ در آن به ویدئوی 14-1 مراجعه بفرمایید. (11 سال پیش)
0 0
وقتی من برای اولین بار از متد SELECT برای سرچ در دیتابیس استفاده کردم، باورم نمی شد که کار به این بزرگی به این سادگی انجام شده باشد!!! (11 سال پیش)
0 0
خب میریم سراغ قسمت دیگه سوال. یکی از امکانای دیگه که بعضی از سایت ها یا برنامه ها دارن ، اینه که در حال تایپ تو قسمت جست و جو، نتایج جست و جو رو نشون میده و با هر تایپ دیگه کاربر ، نتایج بازم فیلتر میشن . میتونین منظورمو متوجه بشید؟ (11 سال پیش)
0 0
مفهومی که مدنظرتون هست autocomplete هست در این ارتباط جستجو کنین (11 سال پیش)
پاسخ به سوال 
mma-amini  11 سال پیش
0 0

شما یک ادیت باکس ایجاد کن و اون رو در فایل جاوا معرفی کن و بعد مثل setOnClickListener از addTextChangedListener استفاده کن. مثل کد پایین که برای یک Adapter لیست ویو استفاده شده:

public class ActivityMain extends Activity {

public ArrayAdapter adapter;


@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();

if (adapter != null) {
adapter.notifyDataSetChanged();
}
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ListView lstContent = (ListView) findViewById(R.id.lstContent);
EditText edtSearch = (EditText) findViewById(R.id.edtSearch);

adapter = new AdapterNote(G.notes);
lstContent.setAdapter(adapter);

adapter.notifyDataSetChanged();

edtSearch.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence cs, int start, int before, int count) {
ActivityMain.this.adapter.getFilter().filter(cs);
}

@Override
public void beforeTextChanged(CharSequence cs, int start, int count,
int after) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable cs) {
// TODO Auto-generated method stub

}
});
}
}

البته نمیدونم مشکل کجاست. چون متاسفانه این کد در لیست ویوهایی که از آرایه داینامیک دارن اطلاعات میگیرن درست جواب نمیده ولی روی آرایه‌های استاتیک کامل جواب میده. اگر شما راه حلی دیگه‌ای پیدا کردید ممنون میشم اینجا مطرحش کنید.

0 0
سلام. برای من کار نمیکنه این دستور ؟ (11 سال پیش)
پاسخ به سوال 
بانوی شرقی  11 سال پیش
0 0

Cursor cursor = database.rawQuery("SELECT * FROM content WHERE title LIKE '%" 
+Place.edtSearch.getText().toString();+ "%'", null);


دوستان چنین دستوری رو من نوشتم . اما خطا میگیره . میدنید مشکلش کجاست؟
0 0
; کنار toString() اضافه س (11 سال پیش)
پاسخ به سوال 
RojaDev  11 سال پیش
+3 0

بانوی شرقی عزیز ، ببین این نوع سرچ کمکت میکنه :

تابع سرچ :

     public String search(int row, int col, String word, String field) {
        Cursor cursor1 = null;
        if (field.equals("Name")) {
            cursor1 = mydb.rawQuery("select * from نام جدول where " + field + " like '" + word + "%'", null);
        }

        cursor1.moveToPosition(row);
        String save = cursor1.getString(col);
        return save;
    }

وقتی روی ادیت باکست کلیک شد :

         edt_searchbox.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                fetch(edt_searchbox.getText().toString(), "Name");
            }


            @Override
            public void afterTextChanged(Editable arg0) {}


            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}
        });

تابع fetch:

     private void fetch(String text1, String field) {

        db.open();
        int s = db.count_search(text1, field);

        Name = new String[s];


        for (int i = 0; i < s; i++) {
            Name[i] = db.search(i, 1, text1, field);
        }

        setListAdapter(new AA());
        db.close();

    }

فیلد name هم اینجا همون فیلدی هست که میخوای براساس اون سرچ رو انجام بدی.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .