آموزش برنامه نویسی اندروید

آموزش ساختن برنامه برای اندروید به زبان فارسی
جمعه, ۲۰ دی ۱۳۹۲، ۰۵:۳۱ ب.ظ

فهرست‌ها (Lists)

تماشای برخط [لینک مستقیم] فیلم آموزشی «فهرست‌ها»

زیر نویس انگلیسی [English Subtitle]

دریافت نسخه‌ی pdf این آموزش [719 کیلوبایت]

یکی از مواردی که تو خیلی از برنامه می بینید فهرست هست. فهرست در واقع جایی به کار می‌ره که شما می‌خواید از بین یه سری گزینه تو فهرست یکی رو انتخاب کنید مثه انتخاب نام کشور خودتون در بین همه کشورها یا اینکه یه سری اطلاعات رو قراره تو قالب یک فهرست مشاهده کنین.

۱.خوب برای شروع یه پروژه اندروید بسازید. (تصویر متحرک ساختن پروژه) و در فولدر res روی فولدر values راست کلیک کنید و New بعد هم Other.

حالا از زیرساخه Android روی Android XML Values Files کلیک کنید و یه اسمی براش بذارید. من اسمشو می‌ذارم daneshgah.

۲.فایلی که ساختید براتون باز می‌شه، روی زبانه‌ی daneshgah.xml کلیک کنید تا خود فایل رو براتون باز کنه و این آرایه‌ی رشته‌ها رو توش وارد کنید. ما قراره این آرایه رو داخل یک فهرست قرار بدیم.

۳.خوب به فایل MainActivity.java (در src) می‌ریم، می‌بینیم که به صورت پیش‌فرض کلاس اصلی‌مون توسط کلاس فعالیت (activity) توسعه داده شده، اگر ما در یک فعالیت بخوایم فقط از فهرست‌ها استفاده کنیم بهتره به جای کلاس فعالیت از کلاس فعالیت‌فهرستی یا ListAcrivity استفاده کنیم، پس خط اولمون این شکلی می‌شه:

public class MainActivity extends ListActivity {

وقتی کد رو تغییر می‌دید زیر کلمه ListActivity خط قرمز می‌کشه روش ctrl+1 بزنید و گزینه (import 'ListActivity' (android.app رو بزنید.

۴.حالا به فایل activity_main.xml می‌ریم (در res->layout) و از ستون سمت چپ (Palette) زیرشاخه composite برید و نمای‌فهرستی (ListView) رو روی صفحه بکشید و رها کنید. باید به فهرستمون یه شناسه خاص بدیم که بتونیم تو فعالیت‌فهرستیمون بهش ارجاع بدیم. چون در هر فعالیت فهرستی فقط می‌تونیم شناسه مربوط به یک فهرست رو بدیم. زبانه activity_main.xml رو از نوار پایین انتخاب کنید و دنبال خطی بگردید که با <ListView شروع شده باشه. قسمت اولش نوشته "android:id="@+id/listView1 به کد زیر تغییرش بدید. 

android:id="@android:id/list"

۵.به فایل MainActivity.java می‌ریم. برای اینکه مقادیر دلخواهمون رو به فهرست وارد کنیم، باید از تابع وفق‌دهنده‌فهرست ListAdapter استفاده کنیم. در واقع وفق‌دهنده مولفه‌ایه که داده مورد نظر رو می‌گیره و برای نمایش، شی‌مون رو وفق می‌ده. خوب از تابع ایجادوفق‌دهنده‌فهرست (setListAdapter) استفاده می‌کنیم و برای ورودیش یه نمونه جدید از آرایه‌ی‌وفق‌دهنده (ArrayAdapter) می‌سازیم. کاری که این آرایه می‌کنه اینه که آرایه‌ای از اطلاعات رو می‌گیره تا بتونه در فهرست ما نشون بده. برای درست کردن آرایه‌ی‌وفق‌دهنده سازنده‌های مختلفی وجود داره، سازنده‌ای که استفاده می‌کنید بسته به نوع اطلاعاتی داره که برای فهرستتون تهیه کردید. خوب مثلا اگه یه فهرست سفارشی درست کردیم که فقط یه متن معمولی نیست، می‌تونیم از شناسه منبع اون که به صورت نمای‌متنی (TextView) ذخیره شده استفاده کنیم. ولی چون ما اینجا می‌خوایم یه متن ساده رو به فهرستمون بفرستیم از این سازنده استفاده می کنیم که به عنوان ورودی ۳ تا مورد رو می خواد: محتوا، شماره منبع (که در اینجا همون صفحه‌بندیه) و شماره‌منبع‌نمای‌متنی.

ArrayAdapter (Context context, int resource, int textViewResourceId)

۶.برای محتوا کافیه کلمه this رو بنویسیم به معنی اینکه برای محتوا به همین فعالیت‌فهرستی ارجاع بشه، نوع این اطلاعات هم آرایه‌ای از رشته است که از همون فایل xml ای می‌یاد که ابتدای این آموزش ساختیم. برای منبع هم چون یه منبع خاص نساختیم می‌تونیم از منابع داخلی خود اندروید استفاده کنیم. android.R.layout.simple_list_item_1 فقط یه نمای‌متنی ساده است، اگه می خواستیم از یه فهرست سفارشی و خاص استفاده کنیم باید خودمون نمای‌فهرستی اش رو می‌ساختیم. (که در آموزش بعد یادخواهیم گرفت)

۷.برای گرفتن شماره منبع نمای‌متنی از تابع getResources استفاده می‌کنیم، این تابع تمامی منابع موجود در پروژه‌مون رو تهیه می‌کنه.بعد تابع تهیه‌ی‌آرایه‌ی‌رشته‌ای (getStringArray) رو صدا می‌زنیم و به عنوان ورودی باید شناسه آرایه‌ی رشته‌ای که تو فایل daneshgah.xml ساختیم رو بدیم: (بعد زیر ArrayAdapter خط قرمز می‌کشه روش ctrl+1 رو بزنید و گزینه import رو انتخاب کنید)

setListAdapter (new ArrayAdapter  <String> (this, 
android.R.layout.simple_list_item_1,
getResources ().getStringArray(R.array.daneshgah)));

۸.تمام این کارا ممکنه یه کمی پیچیده به نظر برسه ولی وقتی علت هر قطعه کد رو متوجه بشید براتون آسون می‌شه، تو این آموزش یاد گرفتیم که چطور یه فهرست ساده درست کنیم، تو آموزش بعدی یاد می‌گیریم که چطور فهرست سفارشی (customise list) درست کنیم.

این هم نمایی از همین فهرستی که درست کردیم در شبیه‌ساز:

نکته : اگر کلمات فارسی به صورت جداجدا در شبیه ساز نشون داده شد، باید شبیه‌سازتون از نسخه Android 3.0 بالاتر باشه (قسمت Target Name در Android Virtual Device Manager)

فهرست مطالب

ادامه آموزش: فهرست‌هاس سفارشی (custom list)



نوشته شده توسط وجدانی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

آموزش برنامه نویسی اندروید

آموزش ساختن برنامه برای اندروید به زبان فارسی
آموزش برنامه نویسی اندروید
بسم الله الرحمن الرحیم
در این سایت آموزش جامع و کاملی درباره اینکه چطور برای اندروید برنامه بنویسیم قرار داده خواهد شد
امیدوارم این آموزش ها بتونه راه گشای تمام ایرانیانی باشه که می خوان تو این زمینه به موفقیت برسند و باعث افتخار کشورشون باشن
اساس آموزش این سایت، فیلم آموزشی از سایت Lynda.com هست
زیر نویس فارسی و انگلیسی این فیلم ها با پسوند srt برای دانلود قرار داده خواهد شد (گردآوری شده در این صفحه )
همون طور که می دونید این آموزش در سایت Lynda.com رایگان نیست.
برای همین اینجا و اینجا براتون آپلودش کردم
(حکم دانلود رایگان این فیلم ها که پولی هستند)

اگه هر کدوم از لینک هایی که گذاشتم کار نمی کرد حتما منو از طریق قسمت نظرات یا ایمیل مطلع کنید.
Email : AndroidCode@ymail.com

امام علی (ع) : هر عملی که با بسم الله الرحمن الرحیم شروع شود با برکت است.

آخرین نظرات

پیوندهای روزانه

فهرست‌ها (Lists)

جمعه, ۲۰ دی ۱۳۹۲، ۰۵:۳۱ ب.ظ

تماشای برخط [لینک مستقیم] فیلم آموزشی «فهرست‌ها»

زیر نویس انگلیسی [English Subtitle]

دریافت نسخه‌ی pdf این آموزش [719 کیلوبایت]

یکی از مواردی که تو خیلی از برنامه می بینید فهرست هست. فهرست در واقع جایی به کار می‌ره که شما می‌خواید از بین یه سری گزینه تو فهرست یکی رو انتخاب کنید مثه انتخاب نام کشور خودتون در بین همه کشورها یا اینکه یه سری اطلاعات رو قراره تو قالب یک فهرست مشاهده کنین.

۱.خوب برای شروع یه پروژه اندروید بسازید. (تصویر متحرک ساختن پروژه) و در فولدر res روی فولدر values راست کلیک کنید و New بعد هم Other.

حالا از زیرساخه Android روی Android XML Values Files کلیک کنید و یه اسمی براش بذارید. من اسمشو می‌ذارم daneshgah.

۲.فایلی که ساختید براتون باز می‌شه، روی زبانه‌ی daneshgah.xml کلیک کنید تا خود فایل رو براتون باز کنه و این آرایه‌ی رشته‌ها رو توش وارد کنید. ما قراره این آرایه رو داخل یک فهرست قرار بدیم.

۳.خوب به فایل MainActivity.java (در src) می‌ریم، می‌بینیم که به صورت پیش‌فرض کلاس اصلی‌مون توسط کلاس فعالیت (activity) توسعه داده شده، اگر ما در یک فعالیت بخوایم فقط از فهرست‌ها استفاده کنیم بهتره به جای کلاس فعالیت از کلاس فعالیت‌فهرستی یا ListAcrivity استفاده کنیم، پس خط اولمون این شکلی می‌شه:

public class MainActivity extends ListActivity {

وقتی کد رو تغییر می‌دید زیر کلمه ListActivity خط قرمز می‌کشه روش ctrl+1 بزنید و گزینه (import 'ListActivity' (android.app رو بزنید.

۴.حالا به فایل activity_main.xml می‌ریم (در res->layout) و از ستون سمت چپ (Palette) زیرشاخه composite برید و نمای‌فهرستی (ListView) رو روی صفحه بکشید و رها کنید. باید به فهرستمون یه شناسه خاص بدیم که بتونیم تو فعالیت‌فهرستیمون بهش ارجاع بدیم. چون در هر فعالیت فهرستی فقط می‌تونیم شناسه مربوط به یک فهرست رو بدیم. زبانه activity_main.xml رو از نوار پایین انتخاب کنید و دنبال خطی بگردید که با <ListView شروع شده باشه. قسمت اولش نوشته "android:id="@+id/listView1 به کد زیر تغییرش بدید. 

android:id="@android:id/list"

۵.به فایل MainActivity.java می‌ریم. برای اینکه مقادیر دلخواهمون رو به فهرست وارد کنیم، باید از تابع وفق‌دهنده‌فهرست ListAdapter استفاده کنیم. در واقع وفق‌دهنده مولفه‌ایه که داده مورد نظر رو می‌گیره و برای نمایش، شی‌مون رو وفق می‌ده. خوب از تابع ایجادوفق‌دهنده‌فهرست (setListAdapter) استفاده می‌کنیم و برای ورودیش یه نمونه جدید از آرایه‌ی‌وفق‌دهنده (ArrayAdapter) می‌سازیم. کاری که این آرایه می‌کنه اینه که آرایه‌ای از اطلاعات رو می‌گیره تا بتونه در فهرست ما نشون بده. برای درست کردن آرایه‌ی‌وفق‌دهنده سازنده‌های مختلفی وجود داره، سازنده‌ای که استفاده می‌کنید بسته به نوع اطلاعاتی داره که برای فهرستتون تهیه کردید. خوب مثلا اگه یه فهرست سفارشی درست کردیم که فقط یه متن معمولی نیست، می‌تونیم از شناسه منبع اون که به صورت نمای‌متنی (TextView) ذخیره شده استفاده کنیم. ولی چون ما اینجا می‌خوایم یه متن ساده رو به فهرستمون بفرستیم از این سازنده استفاده می کنیم که به عنوان ورودی ۳ تا مورد رو می خواد: محتوا، شماره منبع (که در اینجا همون صفحه‌بندیه) و شماره‌منبع‌نمای‌متنی.

ArrayAdapter (Context context, int resource, int textViewResourceId)

۶.برای محتوا کافیه کلمه this رو بنویسیم به معنی اینکه برای محتوا به همین فعالیت‌فهرستی ارجاع بشه، نوع این اطلاعات هم آرایه‌ای از رشته است که از همون فایل xml ای می‌یاد که ابتدای این آموزش ساختیم. برای منبع هم چون یه منبع خاص نساختیم می‌تونیم از منابع داخلی خود اندروید استفاده کنیم. android.R.layout.simple_list_item_1 فقط یه نمای‌متنی ساده است، اگه می خواستیم از یه فهرست سفارشی و خاص استفاده کنیم باید خودمون نمای‌فهرستی اش رو می‌ساختیم. (که در آموزش بعد یادخواهیم گرفت)

۷.برای گرفتن شماره منبع نمای‌متنی از تابع getResources استفاده می‌کنیم، این تابع تمامی منابع موجود در پروژه‌مون رو تهیه می‌کنه.بعد تابع تهیه‌ی‌آرایه‌ی‌رشته‌ای (getStringArray) رو صدا می‌زنیم و به عنوان ورودی باید شناسه آرایه‌ی رشته‌ای که تو فایل daneshgah.xml ساختیم رو بدیم: (بعد زیر ArrayAdapter خط قرمز می‌کشه روش ctrl+1 رو بزنید و گزینه import رو انتخاب کنید)

setListAdapter (new ArrayAdapter  <String> (this, 
android.R.layout.simple_list_item_1,
getResources ().getStringArray(R.array.daneshgah)));

۸.تمام این کارا ممکنه یه کمی پیچیده به نظر برسه ولی وقتی علت هر قطعه کد رو متوجه بشید براتون آسون می‌شه، تو این آموزش یاد گرفتیم که چطور یه فهرست ساده درست کنیم، تو آموزش بعدی یاد می‌گیریم که چطور فهرست سفارشی (customise list) درست کنیم.

این هم نمایی از همین فهرستی که درست کردیم در شبیه‌ساز:

نکته : اگر کلمات فارسی به صورت جداجدا در شبیه ساز نشون داده شد، باید شبیه‌سازتون از نسخه Android 3.0 بالاتر باشه (قسمت Target Name در Android Virtual Device Manager)

فهرست مطالب

ادامه آموزش: فهرست‌هاس سفارشی (custom list)

نظرات  (۹)

۱۵ تیر ۹۴ ، ۱۵:۰۶ طراحی سایت
سلام
مطالب خوب هستند
با تشکر

سلام خسته نباشید
خیلی ممنون بابت این پست
خدا قوت ;)

سلام

از این ساده تر نمیشه توضیح داد

مرسی

سلام

ببخشید اگر زحمتی نیست یه آموزشم برایکلیک روی آیتم های این لیست بذارید 

ممنون
سلام
از اسمه daneshgah ایراد میگیره ارورشم رفع نمیشه
چی کار باید کنم
خاهشا راهنماییم کنید
پاسخ:
سلام، متن پیغام خطا چیه؟
سپاس
سلام
چطوری میشه کاری کرد ک وقتی رو یکی از گزینه های فهرست بزنیم ی صفحه جدید بیاد؟!!!
پاسخ:
سلام از شماره ۱۴ به بعد این آموزش رو بخونید
سلام و خسته نباشید
خدا قوت
من فارسی مینویسم مربع مربع میشه
پاسخ:
سلام به نکته ی آخر آموزش توجه کنید (خط آخر)
سلام
کارتون درسته ممنون به خاطر آموزشا :X
اگه میشه یه بخشه همایت مالی هم اضافه کنین بد نمیشه :D
متشکرم

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">