آموزش ساخت قسمت جستجو در عنوان های مباحث، برای برنامه اندروید
در این مبحث، قصد دارم که چگونگی ساخت جستجو در بین عنوان های برنامه اندروید را آموزش بدهم. مثلا فرض کنید که شما یک برنامه اندروید ساخته اید که دارای 200 قسمت می باشد و هر قسمت دارای یک عنوان خاص است، من به شما آموزش می دهم که چگونه یک صفحه مخصوص جستجو بسازید که ابتدا همه 200 قسمت را به صورت یک لیست نمایش بدهد و سپس، کاربر کلمات مورد نظر خود را وارد کند و آنگاه، در لیست، تنها عنوان هایی باقی بماند که کلمه مورد نظر کاربر، در آنها وجود دارد. کاربر با اشاره بر روی هر عنوان آموزشی، به صفحه مربوط به آن، هدایت خواهد شد.
کدها با این فرض نوشته شده اند که هیچ دو مبحثی، دارای عنوان برابر نیستند (داشتن عنوان برابر می تواند باعث باز شدن همزمان هر دو مبحث، هنگام اشاره کاربر بر روی نتایج شود. این مورد را به زودی تغییر خواهم داد تا کدها برای عنوان های برابر نیز مشکلی نداشته باشد، البته انتخاب عنوان برابر، زیاد جالب نیست ولی به هر حال، در آینده این مورد را نیز در نظر خواهم گرفت)
دسترسی به صفحه جستجو نیز به این صورت خواهد بود که در action bar ، یک عکس به شکل ذره بین قرار می دهیم و کاربر با اشاره بر روی آن، به صفحه جستجو هدایت می شود.
توصیه می کنم ابتدا فایل apk را که در آخر این آموزش قرار داده ایم، دانلود کرده و بر روی گوشی خود نصب کنید و با قسمت جستجوی آن کار کنید، اگر دقیقا همان چیزی بود که می خواهید، این آموزش را بخوانید.
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan.com_Search می سازیم (نام package را برابر com.kelidestan.search انتخاب می کنیم. نام activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم برابر activity_main قرار می دهیم).
برای این پروژه اندروید، به دو عکس نیاز داریم، یکی برای آیکون قسمت جستجو (به شکل ذره بین) و دیگری یک عکس پس زمینه که در پشت نتایج جستجو، نمایش داده می شود (برای زیباتر شدن این بخش). این دو عکس را می توانید از لینک زیر دانلود کنید تا در ادامه، از آنها استفاده نمایید :
بعد از اینکه پروژه ساخته شد، ابتدا فرض می کنیم که برنامه اندروید ما، قرار است که دارای 3 مبحث آموزشی باشد (این تعداد را به هر عدد دلخواه می توان افزایش داد، اما ما فعلا تعداد را برابر 3 قرار می دهیم تا روش کلی را توضیح بدهیم). بنابراین ما سه activity می سازیم، با نام های Subject_1 و Subject_2 و Subject_3 که هر کدام حاوی یک TextView است که در آن متنی دلخواه را می نویسیم (به عنوان محتوای آموزش) :
هر آموزش، به صورت یک activity در نظر گرفته شده و هر activity هم، یک فایل xml را برای نمایش محتوای آموزشی، به کار می برد. دقت کنید که ممکن است برنامه شما به گونه ای طراحی شده باشد که مثلا برای نمایش 200 آموزش، تنها از یک activity و همچنین، تنها از یک فایل xml استفاده کرده باشید (این روش، روش برتر می باشد و تنها محتوا را با کدنویسی تغییر می دهند، در آینده، یک مبحث در این مورد خواهم نوشت)، در این صورت، باید روش کلی این آموزش را یاد بگیرید و تنها کدنویسی مربوط به قسمت رفتن به مباحث آموزشی (پس از انتخاب آنها در لیست نتایج جستجو) را تغییر بدهید.
خوب اکنون باید در activity اصلی، که همان صفحه اول برنامه اندروید می باشد، سه دکمه بسازیم که ما را به سه مبحث آموزش مورد نظر ببرند. بنابراین در فایل activity_main.xml که همان فایل xml متناظر برای activity اصلی می باشد، باید سه دکمه تعریف کنیم :
ابتدا TextView درون این فایل را حذف می کنیم و سپس، سه دکمه را در آن قرار می دهیم :
کدهای فایل activity_main.xml ، به صورت زیر خواهد بود :
