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

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

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

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

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

۲۵۶ مطلب با موضوع «آموزش اندروید» ثبت شده است

کل دیروز این معماری رو میخوندم.

یه مقدار پیچیدگی داره ولی دیسیپلینش خیلی قشنگه.

توی این معماری باید کد رو به سه لایه، Model، View و presenter تقسیم کنیم. به طوری که:

- توی presenter هیچ کد اندرویدی نباشه.

- view و model هیچ رفرنسی به همدیگه ندارن.

- توی presenter هیچ context ای نداریم.

 

 

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

کلا به سه روش میشه توی اندروید دستورات sql رو اجرا کرد:

 

query: که متعلق به API اندروید هست.

execSql: که دستورات SQL ای میگیره و خروجی نداره. بنابراین برای select نمیشه از این استفاده کرد.

rowQuery: اینم دستورات SQL ای میگیره ولی خروجی داره. بنابراین برای select میشه ازش استفاده کرد.

 

اطلاعات بیشتر

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

کلاس سینگل تون DBHelper که توش از کلاس SQLiteOpenHelper نیو میکنیم.

 

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

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

 

کلاسی که از 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 میشه.

 

 

 

لینک

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