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

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

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

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

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

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

در اندروید دو نوع حافظه داریم:

 

حافظه داخلی و حافظه خارجی

 

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

در اندروید برای پلی کردن مدیا از کلاس MediaPlayer استفاده میشه. بدین صورت:

mediaPlayer = new MediaPlayer();
try {
    mediaPlayer.setDataSource(fileToPlay.getAbsolutePath());
    mediaPlayer.prepare();
    mediaPlayer.start();
} catch (IOException e) {
    e.printStackTrace();
}

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

ممکنه بخواهیم آیتم های ریسایکلر ویو رو مرتب سازی کنیم. (مثلا توی اپ Voice Recorder فایل های ضبط شده برحسب تاریخ مرتب سازی شدن). برای این کار باید لیستی که به ریسایکلر ویو میدیم رو برحسب ویژگی مد نظرمون sort کنیم.

برای این کار کلاس model باید اینترفیس comparable یا comparator رو پیاده سازی کنه. این دو تا مثل هم هستن ولی تفاوت هایی دارن که در جدول زیر اومده:

 

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

قبلا برای مدیریت onBackPressed در فرگمنت از روش سنتی استفاده میکردیم! بدین صورت که در اکتیویتی اصلی که host فرگمنت هست، فرگمنت فعلی رو میگرفتیم و بررسی میکردیم کدوم فرگمنت هست و با توجه به آن، دکمه بک مدیریت میشد.

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ آذر ۹۹ ، ۰۹:۲۸
میم دال

نویگیشن کامپوننت که یکی از زیر مجموعه های لایبرری Jetpack به شمار میره، برای این به وجود اومده که کار با فرگمنت ها رو ساده کنه. عمدتا از نویگیشن کامپوننت در اپ های single activity استفاده میشه.

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

توی کدوم یک از این متدها باید لاجیک کد (یعنی initialize و بقیه موارد) رو انجام داد؟

 

اینجا میگه توی onCreateView فقط ویو inflate شود و در onViewCreated لاجیک کد رو بنویسیم. دلیلشم اینه که میگه ممکنه توی متد onCreateView هنوز ویو آماده نشده باشه و ممکنه اپ کرش کنه.

ولی توی متد onViewCreated که بلافاصله بعد onCreateView اجرا میشه، مطمئنیم که ویو آماده هست. بنظر من منطقیه. مضاف بر اینکه خود سایت وزین اندروید هم این نظر رو دارن که اینجا نوشته.

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

این کرنومتر یه مقدار عجیبه! این ویو اکستند شده از تکست ویو بوده و یک تایمر ساده رو پیاده سازی میکنه.

علاوه بر این، دیتای خاصی توی خودش نگه نمیداره. 

این کرنومتر دارای متدهای start و stop هست و pause نداره. ولی میشه خودمون pause رو پیاده سازی کنیم.

 

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

اگر یک نویگیشن به این صورت داشته باشیم:

 

A > B > C > A

 

برای پیاده سازی این بهتره به addToBackstack یک استرینگ به عنوان اسم بدهیم و پس از فرگمنت C توسط popBackStack فرگمنت A را پاپ کنیم.

 

توضیح بیشتر اینجا

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

مشکلی که توی اپ بلاگ داشتم این بود که اگر کاربر بیشتر از یک بار روی فرگمنت میزد، همه دفعات در استک ثبت میشد و اگر بک رو میزدیم به همون تعداد پاپ میشد که خب زیاد جالب نیست!

 

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

متد popBackStack اوور لودهای زیر را دارد:

 

popBackStack(int, int)

popBackStack(String, int)

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