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

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

اشکال زدایی (debug) برنامه

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

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

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

تابحال تو دو تا از پست ها بهتون نشون داده شده که چجوری از DDMS برای مشاهده واقعی گزارشات ثبت شده (log) مربوط به برنامه که ناشی از دستگاهتون یا شبیه‌سازتونه، استفاده کنید. این کار بهتون کمک میکنه که بتونید خطاهای برنامه‌تونو رفع کنید یا فقط ببینید چه اتفاقی داره در حال اجرا می‌یفته.

در این مطلب می‌خوایم یه مقدار بیشتر به روش‌های خطایابی های قدیمی بپردازیم.

1. اول یه پروژه جدید ایجاد کنید.

2. میریم سراغ فولدر res بعد layout ، فایل activity_main.xml رو باز می‌کنیم، از قسمت pallette یه TextViewو Button و EditText می‌کشیم میاریم رو صفحه. البته TextView معمولا به صورت پیش فرض هست(همون HelloWord).

و برنامه رو ذخیره می‌کنیم.

3. حالا اگر بخوایم برنامه مونو اشکال زدایی کنیم، باید یه چیزی به manifest اضافه کنیم که اجازه این کارو بهمون بده.

پس فایل Androidmanifest.xml رو باز می‌کنیم و رو زبانه Application کلیک می‌کنیم.

می‌تونیم مشخصه‌ی debuggable رو همون بالا ببینیم. اگر بخوایم برنامه‌مونو به اشکال زدای ایکلیپس متصل کنیم، باید این مشخصه رو فعال(true) کنیم.

 

۴. می‌خوایم تو فایل جاوای برنامه مون اعلام کنیم که در صورت فشردن دکمه چیکار کنه. پس با این کد یه نمونه از دکمه می‌سازیم و به دکمه‌ای که قبلا رو صفحه گذاشته بودیم متصل می‌کنیم.

  Button dokme = (Button)findViewById(R.id.button1);

و بعد تابعی که قراره موقع کلیک دکمه صدا زده بشه رو می‌سازیم.

dokme.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub	
			}
		});

مراحل نوشتن با تصاویر متحرک

۵. روی DDMS کلیک کنید و LogCat رو ببینید. البته بدون رفتن تو DDMS هم می‌تونید LogCat رو ببینید، از منوی که پایین ایکلیپس قرار داره می‌تونید پیداش کنید.  LogCat در واقع هر چیزی رو که تو دستگاه اندروید در حال وقوعه، گزارش می‌کنه. پس به ازای هر ضربه ای که به صفحه ی دستگاهتون میزنید، اگر کار خاصی انجام بدید، شروع میکنه به ساختن اطلاعات گزارشی. ولی ما می‌تونیم اطلاعاتی رو که خودمون درباره برنامه‌مون می‌خوایم هم اونجا قرار بدیم.

LogCat
۶. پس به فایل جاوا برمی‌گردیم. اینجا از کلاس Log که تو بسته ی android.util هست، استفاده می‌کنیم.

تو این کلاس چندتا تابع وجود داره که می‌تونیم ازشون برای تهیه گزارش از هرچیزی تو LogCat استفاده کنیم. مثلا تابع d یه پیغام اشکال زدایی ارسال می‌کنه و ورودی‌هاش یه برچسب(tag) و یه پیغام(msg) هست. البته اگر بخوایم یه استثنایی رو هم گزارش کنیم، میتونیم یه شیء throwable رو به عنوان ورودی بهش بدیم.

همچنین تابع e رو داریم که برای گزارش استثناء بکار می‌ره، تابع i یه پیغام اطلاعاتی و تابع v پیغام طولانی رو گزارش می‌کنه. w هم برای اخطاره. و اما جالب ترین چیزی که اینجا وجود داره، wtf هستش که مخفف اینه: What a Terrible Failure یعنی چه خرابی وحشتناکی و بیانگر چیزیه که انتظار نداشتیم تو سیستم اتفاق بیفته.

توابع مربوط به Log

حالا ما می‌خوایم از تابع d استفاده کنیم. تو قسمت tag هر چیزی می‌تونه باشه، فقط باید یه جوری باشه که بتونیم از بین گزارشای دیگه توی LogCat تشخیصش بدیم. من اینجا با حروف بزرگ، سه بار می‌نویسم A. به عنوان پیغام هم اعلام می‌کنم که دکمه کلیک شده.

public void onClick(View v) {
				// TODO Auto-generated method stub
				Log.d("AAA", "dokme feshorde shode");
			}

7. کاری که من میخوام انجام بدم اینه که یه نقطه توقف (break point) به قطعه کد بالا اضافه کنم، بطوریکه اجرای برنامه رو تو اون نقطه متوقف کنه و به ما اجازه اشکال زدایی (debug) بده. به ستونی که سمت چپ کدتون هست توجه کنید. روی اون ستون، دقیقا روبروی خط سوم، دوبار کلیک کنید تا یه break point ایجاد بشه. مطمئنا هر کدوم از شما که قبلا کدش رو دیباگ کرده، این کارو انجام داده.

 

و بعد اون علامت دیباگ بالای صفحه رو میزنیم.
و گزینه اول، یعنی Android Application رو انتخاب می‌کنیم.

۸. تو شبیه‌ساز اول یه پیغام نشون میده مبنی بر اینکه منتظر اشکال زدا (Debugger) بوده.

در واقع منتظر اشکال زدای ایکلیپس بوده که به برنامه‌مون متصل شه. یه کمی صبر کنید متصل می‌شه.
وقتی رو دکمه ای که ساختیم کلیک کنیم، میبینیم که خودش ما رو می‌بره به قسمت debug توی ایکلیپس.

البته بسته به اینکه قبلا رو ایکلیپس چه کارایی انجام دادید، ممکنه یه پیغام نشون بده و ازتون بپرسه که آیا میخواید به قسمت اشکال زدا (debug) برید یا نه؟ که فقط کافیه بله رو بزنید.

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

ستون Tag تو LogCat در واقع نشون دهنده‌ی اینه که کدوم فرایند، یا کدوم برنامه این پیغام رو ارسال کرده.

۱۰. یه چیز دیگه که باید درمورد LogCat بهش توجه کنیم، اینه که مقدار عظیمی از اطلاعات رو، درمورد هر اتفاقی که تو دستگاه می‌افته، گزارش می‌کنه. ولی اگه بخوایم که فقط اطلاعات مربوط برنامه مون گزارش بشه چی؟
کاری که باید انجام بدیم اینه که یه فیلتر تنظیم کنیم. پس روی علامت که اون بالاست، کلیک می‌کنیم. و من اسم فیلترمو میذارم A و بهش میگم اون گزارش هایی رو نشون بده که با برچسب AAA علامت گذاری شدن.

 

و بعد مشاهده میکنید


11. همه این کارایی که انجام دادیم، یه روش قدیمی برای اشکال زدایی کد بود. و اما در مورد واسط کاربری، یه ابزار فوق العاده تو بسته ی SDK هست که این امکان رو برمون فراهم می‌کنه تا بتونیم مشکلات مربوط به صفحه‌بندی‌ها (layout) و در واقع واسط کاربری بپردازیم.
بنابراین فعلا رو علامت کلیک میکنیم که ارتباط دیباگر قطع شه.
به محل نصب android sdk می‌ریم یعنی پوشه ی android-sdk رو باز می‌کنیم و بعد به پوشه ی Toolsمی‌ریم. ابزار مورد نظرمون یه batch فایله که اسمش هست hierarchyviewer. روش دوبار کلیک میکنیم. تو مک خودش برنامه رو از طریق command line باز می‌کنه.
hierarchy به معنی سلسله مراتبه. کاری که این ابزار انجام می‌ده اینه که تمام فرایندها یا برنامه هایی رو که روی دستگاهمون در حال اجرا هستند، نمایش میده. الان دستگاهمون همون شبیه‌سازه.

12. برنامه‌های آماده‌ی اشکال‌زدایی تو hierarchyviewer نشون داده می‌شه. برنامه‌ای می‌خوایم رو انتخاب می‌کنیم و بعد هم گزینه Load View Hierarchy رو می‌زنیم.

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

الان ممکنه کنجکاو بشید که اون سه تا دایره ی رنگی چی هستن؟ در واقع برای نشون دادن performance یا همون سرعت عملکرده و سه مرحله هم واسش وجود داره. اولی اندازه گیری (measure)‌ هستش که میزان فضای مورد نیاز رو اندازه می‌گیره. مرحله ی دوم صفحه‌بندی (layout) هستش که چیزایی که داریم رو صفحه‌بندی می‌کنه و مرحله ی سوم هم رسم کردن (draw) نام داره که طراحی رو روی صفحه رسم می‌کنه. و واضحه که اگر رنگ همه این دایره ها سبز باشه، بهتره، که اینم فقط به بقیه ی viewهای برنامه تون بستگی داره. ولی اگر رنگشون زرد یا قرمز باشه، خوب نیست (واضحه که قرمز بدترین حالت رو نشون میده) و شما باید این نقاط رو به خاطر بسپارید و مراقبشون باشید که خرابی به بار نیارن.


13. همه ما هنگام ساخت یه برنامه اندروید دوست داریم نمایی که از سلسله مراتب برنامه مون می‌بینیم،در ساده ترین شکل ممکن باقی بمونه و نمی‌خوایم که کلی صفحه‌بندی‌های تو در تو داشته باشیم. حالا اگه رو مستطیل مربوط به دکمه‌مون کلیک کنیم، یه قاب باز می‌شه که کنترل دکمه اصلی توی اون قاب نمایانه.

  

همچنین می‌تونیم تو قسمت property که سمت راست قرار داره، همه اطلاعات مربوط به این دکمه، از جمله اندازه و مکان قرار گرفتن و ... رو با جزئیات کامل مشاهده کنیم.


14. این دفعه اگه رو مستطیل مربوط به دکمه‌مون دو بار کلیک کنیم، یه پیش نمایش ظاهر می‌شه که می‌تونیم بطور زنده توش ببینیم دکمه مون با پشت زمینه سیاه یا سفید چه شکلی میشه یا یه سری اطلاعات اضافه‌تری رو ببینیم.

بهتون پیشنهاد میکنم حتما hierarchyviewer رو باز کنید و سلسله مراتب طراحی‌تونو توش ببینید، چون این ابزار میتونه برای بهبود عملکرد برنامه‌تون خیلی مهم باشه.

15. ابزارهای دیگه ای هم وجود دارند که به همین خوبی هستند. این تصویر سایت SDK، زبانه ی Dev Guide، قسمت Debugging هستش. اگر شما واقعا به یه ردیابی عملکرد با جزئیات بالا برای برنامه تون نیاز دارید، یه ابزار به نام TraceView وجود داره که می‌تونه این کارو انجام بده. این ابزار حتی یه چیزی بیشتر از یه ابزار پیشرفته‌ست، به خاطر همینم ما فعلا خیلی بهش نمی پردازیم.

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

تاکید می‌کنم که اگر شما با مشکلات اساسی تو برنامه تون روبرو می‌شید، یا دارید برنامه ای می نویسید که عملکرد خوب جز اولویت‌های بالای اونه، TraceView ابزاریه که خیلی می‌تونه کمکتون کنه.
 

فهرست مطالب

ادامه آموزش: واحدهای اندازه‌گیری (Units)



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

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

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

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

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

آخرین نظرات

  • ۲ فروردين ۰۱، ۱۲:۱۱ - سعید حسین پور
    عالی ...

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

اشکال زدایی (debug) برنامه

يكشنبه, ۱۲ آبان ۱۳۹۲، ۰۸:۱۸ ب.ظ

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

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

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

تابحال تو دو تا از پست ها بهتون نشون داده شده که چجوری از DDMS برای مشاهده واقعی گزارشات ثبت شده (log) مربوط به برنامه که ناشی از دستگاهتون یا شبیه‌سازتونه، استفاده کنید. این کار بهتون کمک میکنه که بتونید خطاهای برنامه‌تونو رفع کنید یا فقط ببینید چه اتفاقی داره در حال اجرا می‌یفته.

در این مطلب می‌خوایم یه مقدار بیشتر به روش‌های خطایابی های قدیمی بپردازیم.

1. اول یه پروژه جدید ایجاد کنید.

2. میریم سراغ فولدر res بعد layout ، فایل activity_main.xml رو باز می‌کنیم، از قسمت pallette یه TextViewو Button و EditText می‌کشیم میاریم رو صفحه. البته TextView معمولا به صورت پیش فرض هست(همون HelloWord).

و برنامه رو ذخیره می‌کنیم.

3. حالا اگر بخوایم برنامه مونو اشکال زدایی کنیم، باید یه چیزی به manifest اضافه کنیم که اجازه این کارو بهمون بده.

پس فایل Androidmanifest.xml رو باز می‌کنیم و رو زبانه Application کلیک می‌کنیم.

می‌تونیم مشخصه‌ی debuggable رو همون بالا ببینیم. اگر بخوایم برنامه‌مونو به اشکال زدای ایکلیپس متصل کنیم، باید این مشخصه رو فعال(true) کنیم.

 

۴. می‌خوایم تو فایل جاوای برنامه مون اعلام کنیم که در صورت فشردن دکمه چیکار کنه. پس با این کد یه نمونه از دکمه می‌سازیم و به دکمه‌ای که قبلا رو صفحه گذاشته بودیم متصل می‌کنیم.

  Button dokme = (Button)findViewById(R.id.button1);

و بعد تابعی که قراره موقع کلیک دکمه صدا زده بشه رو می‌سازیم.

dokme.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub	
			}
		});

مراحل نوشتن با تصاویر متحرک

۵. روی DDMS کلیک کنید و LogCat رو ببینید. البته بدون رفتن تو DDMS هم می‌تونید LogCat رو ببینید، از منوی که پایین ایکلیپس قرار داره می‌تونید پیداش کنید.  LogCat در واقع هر چیزی رو که تو دستگاه اندروید در حال وقوعه، گزارش می‌کنه. پس به ازای هر ضربه ای که به صفحه ی دستگاهتون میزنید، اگر کار خاصی انجام بدید، شروع میکنه به ساختن اطلاعات گزارشی. ولی ما می‌تونیم اطلاعاتی رو که خودمون درباره برنامه‌مون می‌خوایم هم اونجا قرار بدیم.

LogCat
۶. پس به فایل جاوا برمی‌گردیم. اینجا از کلاس Log که تو بسته ی android.util هست، استفاده می‌کنیم.

تو این کلاس چندتا تابع وجود داره که می‌تونیم ازشون برای تهیه گزارش از هرچیزی تو LogCat استفاده کنیم. مثلا تابع d یه پیغام اشکال زدایی ارسال می‌کنه و ورودی‌هاش یه برچسب(tag) و یه پیغام(msg) هست. البته اگر بخوایم یه استثنایی رو هم گزارش کنیم، میتونیم یه شیء throwable رو به عنوان ورودی بهش بدیم.

همچنین تابع e رو داریم که برای گزارش استثناء بکار می‌ره، تابع i یه پیغام اطلاعاتی و تابع v پیغام طولانی رو گزارش می‌کنه. w هم برای اخطاره. و اما جالب ترین چیزی که اینجا وجود داره، wtf هستش که مخفف اینه: What a Terrible Failure یعنی چه خرابی وحشتناکی و بیانگر چیزیه که انتظار نداشتیم تو سیستم اتفاق بیفته.

توابع مربوط به Log

حالا ما می‌خوایم از تابع d استفاده کنیم. تو قسمت tag هر چیزی می‌تونه باشه، فقط باید یه جوری باشه که بتونیم از بین گزارشای دیگه توی LogCat تشخیصش بدیم. من اینجا با حروف بزرگ، سه بار می‌نویسم A. به عنوان پیغام هم اعلام می‌کنم که دکمه کلیک شده.

public void onClick(View v) {
				// TODO Auto-generated method stub
				Log.d("AAA", "dokme feshorde shode");
			}

7. کاری که من میخوام انجام بدم اینه که یه نقطه توقف (break point) به قطعه کد بالا اضافه کنم، بطوریکه اجرای برنامه رو تو اون نقطه متوقف کنه و به ما اجازه اشکال زدایی (debug) بده. به ستونی که سمت چپ کدتون هست توجه کنید. روی اون ستون، دقیقا روبروی خط سوم، دوبار کلیک کنید تا یه break point ایجاد بشه. مطمئنا هر کدوم از شما که قبلا کدش رو دیباگ کرده، این کارو انجام داده.

 

و بعد اون علامت دیباگ بالای صفحه رو میزنیم.
و گزینه اول، یعنی Android Application رو انتخاب می‌کنیم.

۸. تو شبیه‌ساز اول یه پیغام نشون میده مبنی بر اینکه منتظر اشکال زدا (Debugger) بوده.

در واقع منتظر اشکال زدای ایکلیپس بوده که به برنامه‌مون متصل شه. یه کمی صبر کنید متصل می‌شه.
وقتی رو دکمه ای که ساختیم کلیک کنیم، میبینیم که خودش ما رو می‌بره به قسمت debug توی ایکلیپس.

البته بسته به اینکه قبلا رو ایکلیپس چه کارایی انجام دادید، ممکنه یه پیغام نشون بده و ازتون بپرسه که آیا میخواید به قسمت اشکال زدا (debug) برید یا نه؟ که فقط کافیه بله رو بزنید.

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

ستون Tag تو LogCat در واقع نشون دهنده‌ی اینه که کدوم فرایند، یا کدوم برنامه این پیغام رو ارسال کرده.

۱۰. یه چیز دیگه که باید درمورد LogCat بهش توجه کنیم، اینه که مقدار عظیمی از اطلاعات رو، درمورد هر اتفاقی که تو دستگاه می‌افته، گزارش می‌کنه. ولی اگه بخوایم که فقط اطلاعات مربوط برنامه مون گزارش بشه چی؟
کاری که باید انجام بدیم اینه که یه فیلتر تنظیم کنیم. پس روی علامت که اون بالاست، کلیک می‌کنیم. و من اسم فیلترمو میذارم A و بهش میگم اون گزارش هایی رو نشون بده که با برچسب AAA علامت گذاری شدن.

 

و بعد مشاهده میکنید


11. همه این کارایی که انجام دادیم، یه روش قدیمی برای اشکال زدایی کد بود. و اما در مورد واسط کاربری، یه ابزار فوق العاده تو بسته ی SDK هست که این امکان رو برمون فراهم می‌کنه تا بتونیم مشکلات مربوط به صفحه‌بندی‌ها (layout) و در واقع واسط کاربری بپردازیم.
بنابراین فعلا رو علامت کلیک میکنیم که ارتباط دیباگر قطع شه.
به محل نصب android sdk می‌ریم یعنی پوشه ی android-sdk رو باز می‌کنیم و بعد به پوشه ی Toolsمی‌ریم. ابزار مورد نظرمون یه batch فایله که اسمش هست hierarchyviewer. روش دوبار کلیک میکنیم. تو مک خودش برنامه رو از طریق command line باز می‌کنه.
hierarchy به معنی سلسله مراتبه. کاری که این ابزار انجام می‌ده اینه که تمام فرایندها یا برنامه هایی رو که روی دستگاهمون در حال اجرا هستند، نمایش میده. الان دستگاهمون همون شبیه‌سازه.

12. برنامه‌های آماده‌ی اشکال‌زدایی تو hierarchyviewer نشون داده می‌شه. برنامه‌ای می‌خوایم رو انتخاب می‌کنیم و بعد هم گزینه Load View Hierarchy رو می‌زنیم.

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

الان ممکنه کنجکاو بشید که اون سه تا دایره ی رنگی چی هستن؟ در واقع برای نشون دادن performance یا همون سرعت عملکرده و سه مرحله هم واسش وجود داره. اولی اندازه گیری (measure)‌ هستش که میزان فضای مورد نیاز رو اندازه می‌گیره. مرحله ی دوم صفحه‌بندی (layout) هستش که چیزایی که داریم رو صفحه‌بندی می‌کنه و مرحله ی سوم هم رسم کردن (draw) نام داره که طراحی رو روی صفحه رسم می‌کنه. و واضحه که اگر رنگ همه این دایره ها سبز باشه، بهتره، که اینم فقط به بقیه ی viewهای برنامه تون بستگی داره. ولی اگر رنگشون زرد یا قرمز باشه، خوب نیست (واضحه که قرمز بدترین حالت رو نشون میده) و شما باید این نقاط رو به خاطر بسپارید و مراقبشون باشید که خرابی به بار نیارن.


13. همه ما هنگام ساخت یه برنامه اندروید دوست داریم نمایی که از سلسله مراتب برنامه مون می‌بینیم،در ساده ترین شکل ممکن باقی بمونه و نمی‌خوایم که کلی صفحه‌بندی‌های تو در تو داشته باشیم. حالا اگه رو مستطیل مربوط به دکمه‌مون کلیک کنیم، یه قاب باز می‌شه که کنترل دکمه اصلی توی اون قاب نمایانه.

  

همچنین می‌تونیم تو قسمت property که سمت راست قرار داره، همه اطلاعات مربوط به این دکمه، از جمله اندازه و مکان قرار گرفتن و ... رو با جزئیات کامل مشاهده کنیم.


14. این دفعه اگه رو مستطیل مربوط به دکمه‌مون دو بار کلیک کنیم، یه پیش نمایش ظاهر می‌شه که می‌تونیم بطور زنده توش ببینیم دکمه مون با پشت زمینه سیاه یا سفید چه شکلی میشه یا یه سری اطلاعات اضافه‌تری رو ببینیم.

بهتون پیشنهاد میکنم حتما hierarchyviewer رو باز کنید و سلسله مراتب طراحی‌تونو توش ببینید، چون این ابزار میتونه برای بهبود عملکرد برنامه‌تون خیلی مهم باشه.

15. ابزارهای دیگه ای هم وجود دارند که به همین خوبی هستند. این تصویر سایت SDK، زبانه ی Dev Guide، قسمت Debugging هستش. اگر شما واقعا به یه ردیابی عملکرد با جزئیات بالا برای برنامه تون نیاز دارید، یه ابزار به نام TraceView وجود داره که می‌تونه این کارو انجام بده. این ابزار حتی یه چیزی بیشتر از یه ابزار پیشرفته‌ست، به خاطر همینم ما فعلا خیلی بهش نمی پردازیم.

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

تاکید می‌کنم که اگر شما با مشکلات اساسی تو برنامه تون روبرو می‌شید، یا دارید برنامه ای می نویسید که عملکرد خوب جز اولویت‌های بالای اونه، TraceView ابزاریه که خیلی می‌تونه کمکتون کنه.
 

فهرست مطالب

ادامه آموزش: واحدهای اندازه‌گیری (Units)

نظرات  (۱۶)

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

میشه کمکم کنید

با سلام از زحمات شما متشکرم موفق باشید.
۰۸ خرداد ۹۵ ، ۲۳:۵۷ ایمان مجیدی
سلام خسته نباشی برادر ، این کاری که شما میکنی توی ایران کمتر جا افتاده که کسی علمشو نشر بده خداوند به شما برکت بدهد
ممون از پست واقعا مفیدتون!!
انشالا که همیشه موفق باشین
سلام
 خدا خیرتون بده.
چند بار از یاد گرفتن اندروید نا امید شدم ولی خدا رو شکر سایت شما بهم خیلی کمک کرد الان دارم کار میکنم.
zende bad
سلام
من پروژه پایانی دانشگاهم رو بر اساس آموزش های شما دارم آماده میکنم
واقعا از شما ممنونم ، سایتوتن بسیار مفید و آموزنده است
موفق باشید
پاسخ:
سلام، خدا رو شکر مطالب کمکتون می کنه.
واقعا خدا خیرتون بده خیلی عالی بود
۳۰ دی ۹۳ ، ۱۱:۴۸ هادی جمالی
سلام و خسته نباشی و همچنین دمت گرم براتون ..
تازه به سایت شما پیوستم و میخوام چند تا پروژه درست کنم که در صورت ایجاد مشکل با شما درتماس خواهم بود که خوشحال میشم کمکی در حق ما انجام بدید . با تشکر ..
سلام واقعا مطلب شما مفید بود من با مطلب شما چند تا برنامه ی خیلی مفید ساختم
ایشالا هرچی از خدا می خوای بهت بده.
سلام. خیلی کارتون درسته. خیلی لذت بردم.
ان شاءالله یه جا که انتظارشو نداری، تپل ردیف شه کارت، کیف کنی.
خیلی سایت مفیدی دارید تشکر میکنم منتظر مطالب و مباحث جدید هستیم
آقا شما خیلی در حق شما لطف کردین با این سایت
سلام خسته نباشید ممنون از وبسایت خوبتون
اگه میشه آموزش کامل ساخت یک کتاب اندروید رو بذارید
سپاس

ارسال نظر

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