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

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

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

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

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

۲۱ مطلب در مرداد ۱۳۹۹ ثبت شده است

ریسایکلر ویو خودش لیسنر نداره و بنابراین خودمون باس بنویسیم واسش!

 

یکی از فرق های ریسایکلر ویو با لیست ویو همینه که لیست ویو متدهای از پیش نوشته شده داره (مثل آیتم لیسنر) ولی ریسایکلر ویو نداره. اما ریسایکلر ویو انعطاف پذیری بیشتری داره و امکان کاستومایز شدنش خیلی زیاده.

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

کارد ویو خودش dependency داره ولی توی کتابخونه متریال دیزاین هم تعریف شده. من ترجیحم اینه که از نسخه متریال دیزاینش استفاده کنم.

 

ریسایکلر ویو هم dependency داره. فقط باید نسخه ش با متریال دیزاین یکی باشه تا توی preview نشون داده بشه! این مشکلی بود که الآن اینجوری حل شد!

 

implementation 'com.google.android.material:material:1.2.0-alpha02'
implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha05'
۰ نظر موافقین ۰ مخالفین ۰ ۱۴ مرداد ۹۹ ، ۱۶:۰۱
میم دال

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

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

توی این معماری باید کد رو به سه لایه، 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ها هدر هستن که ست میشن ولی فکر کنم  زیاد مهم نباشن! حالا نوشتمشون!

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

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

 

 

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