آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

و تو چه میدانی دیتابیس چیست :)) یک هفته ست درگیرم که سنگل تونش کنم!

 

کلاسی که از SQLiteOpenHelper اکستند میشه، مسئول ساخت دیتابیس هست.

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ مرداد ۹۹ ، ۱۶:۵۱
میم دال

دی کامپایل کردن خیلی حال میده :))

دو تا اپ رو دی کامپایل کردم و خیلی راضیم :))

 

آموزش

 

ورژن های مختلف سورس apktool

 

با این روش هم فایل های جاوا  و هم فایل های xml بازیابی میشن! :))

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ مرداد ۹۹ ، ۱۰:۳۸
میم دال

برای استفاده از کلاس asyncTask باید یه کلاس جدید بنویسیم و از asyncTask اکستندش کنیم. asyncTask یک کلاس ابسترکت هست و باید حتما متد doInBackground پیاده سازی بشه.

کلاس asyncTask سه تا پارامتر به عنوان جنریک میگیره که مربوط به متد doInBackground هستن که در ادامه بیشتر توضیح میدم.

 

۱ نظر موافقین ۰ مخالفین ۰ ۰۶ مرداد ۹۹ ، ۰۷:۵۵
میم دال

در اینجا از کلاس asyncTask استفاده میکنیم که یک متد doInBackground داره. یعنی عملیات رو توی یه ترد دیگه انجام میده. بنابراین نیازی به ساخت ترد جدید برای اتصال به اینترنت و handler وجود نداره. کلاس asyncTask رو توی یک پست جداگونه توضیح میدم.

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

propertyها هدر هستن که ست میشن ولی فکر کنم  زیاد مهم نباشن! حالا نوشتمشون!

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ مرداد ۹۹ ، ۰۵:۱۷
میم دال

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

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۵ مرداد ۹۹ ، ۱۵:۳۰
میم دال

چون fucntion pointer در جاوا ساپورت نمیشه، بنابراین این مفهوم رو با اینترفیس پیاده سازی میکنه.

 

از اینترفیس برای انتقال اطلاعات بین کلاسها استفاده میشه.

 

اینترفیس یا باید توسط یه کلاسی پیاده سازی بشه یا به صورت anounymous class در خط پیاده سازی شه.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ مرداد ۹۹ ، ۱۱:۳۱
میم دال

تگ include برای اینه که یک ویو تکراری رو توی لیوت های مختلف استفاده کنیم.

مثلا توی بازی XO صفحه بازی رو توی لیوت های مختلف include کردم.

تگ marge برای اینه که روت لیوتی که قراره include شه توی لیوت main قرار نگیره. چون این لیوت اضافه هست و باعث کندی render شدن لایه xml میشه.

 

 

 

لینک

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ تیر ۹۹ ، ۱۲:۳۹
میم دال

گفته میشه دیالوگ فرگمنت از همه دیالوگ ها بهتر و منعطف تر هست. چرا؟ بخاطر لایف سایکلی که داره!

بنابراین ترجیحا از این نوع دیالوگ باید استفاده شه.

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۵:۲۸
میم دال

root و attachToRoot در متد inflate

 

توضیح اینکه اینها رو چی بذاریم:

 

لینک اول

لینک دوم

لینک سوم

 

این موضوع به خصوص توی فرگمنت ها خیلی مهمه. مخصوصا دو تا لینک اول حتما خوانده شود.

 

البته برای دیالوگ root رو نال میذاریم. چون یک ویوی مستقل است.

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۴:۴۷
میم دال

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

Dialog و AlertDialog

سایت اندروید گفته از اولی استفاده نکنید، چون کلاس کلی هست و از دومی استفاده کنید که از اولی اکستند شده. اینجا

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۲:۵۰
میم دال