رفتن به مطلب
  • 0

نحوه ی جستجو در دیتابیس


ebraeim

سوال

سلام
سوالم در موزد جستجو در دیتابیس است.
يک اديت تکست دارم مي خواهم اگه کاربر حرفي رادر آن وارد کرد تمام مطالبي که با آن حرف شروع مي شود را از ديتابيس بگيرد و در يک ليست ويو قرار دهد و اگه کاربر روي يکي از عنوان ها کليک کرد مطلب مربوط به آن عنوان در يک اسکرول ويو بارگذاري اگه میشه توضیح کامل بدهید.
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 1395/02/23, 11:42:03، ebraeim گفته است :

سلام

من تا حدودی این چیزهایی را که گفتی بلدم فکر کنم اگه یه سورس وجود می داشت من می توانستم به صورت کامل این مورد را یاد بگیرم شما می تونی یه سورس بگذاری

خیلی ساده هست. از رویداد تغییر متن edittext استفاده کنید و با هر بار تغییر، متن رو جستجو کنید.

فقط اگر تعداد ایتم های داخل دیتابیس زیاد هستش، مثل دیکشنری ها. بهتره برای بیشتر از دو یا سه حرف جستجو انجام بدید. چون یک حرف مثل a ممکنه 10000 نتیجه به همراه داشته باشه و cpu و منابع رو مدتی درگیر میکنه (و رابط کاربری هم چند ثانیه ممکنه قفل کنه یا در صورت ضعیف بودن cpu کند بشه) در حالی که کاربر همون لحظه می خواد حرف دوم رو وارد کنه.

برای روان تر شدن جستجو میشه از ترد جدا گونه یا AsyncTask استفاده کرد(برای جلوگیری از قفل شدن رابط کاربری).

(البته خود sql هم متد هایی مثل ExecQueryAsync و ExecNonQueryBatch داره و نیاز نیست برای AsyncTask از کتابخونه جداگونه ای استفاده بشه)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 15 دقیقه قبل، rasool.g گفته است :

خیلی ساده هست. از رویداد تغییر متن edittext استفاده کنید و با هر بار تغییر، متن رو جستجو کنید.

فقط اگر تعداد ایتم های داخل دیتابیس زیاد هستش، مثل دیکشنری ها. بهتره برای بیشتر از دو یا سه حرف جستجو انجام بدید. چون یک حرف مثل a ممکنه 10000 نتیجه به همراه داشته باشه و cpu و منابع رو مدتی درگیر میکنه (و رابط کاربری هم چند ثانیه ممکنه قفل کنه یا در صورت ضعیف بودن cpu کند بشه) در حالی که کاربر همون لحظه می خواد حرف دوم رو وارد کنه.

برای روان تر شدن جستجو میشه از ترد جدا گونه یا AsyncTask استفاده کرد(برای جلوگیری از قفل شدن رابط کاربری).

(البته خود sql هم متد هایی مثل ExecQueryAsync و ExecNonQueryBatch داره و نیاز نیست برای AsyncTask از کتابخونه جداگونه ای استفاده بشه)

اقا وارد برنامه نویس کل تاپیک های قدیمی رو آپ کردی :| تاربخ هارو نگاه کنی بد نیست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 3 ساعت قبل، mohammad3250 گفته است :

اقا وارد برنامه نویس کل تاپیک های قدیمی رو آپ کردی :| تاربخ هارو نگاه کنی بد نیست

تو اخرین ارسال ها بود دیگه منم تاریخ رو نگاه نکردم :DD:

فکر کنم بروزرسانی رو زده بودن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

چیزی که میخواهید در انجمن بسیار در موردش بحث شده اما نه دقیقا به این صورتی که شما دارید میگید

شما باید اول جست و جو در دیتابیس رو یاد بگیرید

بعدش کار با اسکرول ویو و فراخوانی متن رو یاد بگیرید

بعدش کلیک کردن روی آیتم و رفتن به اون متن رو یاد بگیرید

 

تمامی آموزش ها توی انجمن موجوده

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من تا حدودی این چیزهایی را که گفتی بلدم فکر کنم اگه یه سورس وجود می داشت من می توانستم به صورت کامل این مورد را یاد بگیرم شما می تونی یه سورس بگذاری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...