برای ساخت دیالوگ دو تا کلاس داریم:
Dialog و AlertDialog
سایت اندروید گفته از اولی استفاده نکنید، چون کلاس کلی هست و از دومی استفاده کنید که از اولی اکستند شده. اینجا
برای ساخت دیالوگ دو تا کلاس داریم:
Dialog و AlertDialog
سایت اندروید گفته از اولی استفاده نکنید، چون کلاس کلی هست و از دومی استفاده کنید که از اولی اکستند شده. اینجا
این یه پروژه ساده برای پیاده سازی انیمیشن Circular reveal بوده که جز مباحث متریال دیزاین هست و روی API21 جواب میده.
پروژه شبیه این لینک و این یکی لینک هست. یک FAB داره که با کلیک روی اون صفحه منو باز و بسته میشه.
پروژه چالش خاصی نداشت فقط اینکه کجا چه ویویی رو ویزیبل یا اینویزیبل کنی یه کم زمان برد.
این پرمیشن های ران تایم دهن منو سرویس کرد :|
بعد از حدود یک سال تازه فهمیدم متد requestPermissions کل پرمیشن ها رو به صورت آرایه میگیره و پشت سر هم باکس های پرمیشن رو نشون میده. بعد از تموم شدن باکس ها، کال بک onRequestPermissionsResult فراخونی میشه و نتایج اکسپت شدن یا نشدن پرمیشن ها توی آرایه grantResult میاد.
با تلاش و کوشش فراوان :)) هلپر پرمیشن ها رو نوشتم. کد در gist
چرا سینگل تون ننوشتم؟ چون نمیشد! چرا؟ چون پرمیشن ها توی هر اکتیویتی اجرا میشن، یعنی لازمه هر جا لازم شد همون اکتیویتی (و نه کانتکس) رو بهش پاس بدم. بنابراین سینگل تون بودن بی معنیه.
کلاس سینگل تون ارسال SMS
اینم زیاد پیچیده نیست. فقط لازمه متد init توی کلاس اپلیکیشن فراخونی بشه.
کلاس سینگل تون SharedPreferences
قبلا در مورد آموزشش نوشتم. این API خیلی پر کاربرده و لازمه بهش مسلط باشم.
این API رو به صورت سینگل تون نوشتم: کد در gist
تنها نکتش اینه که باید متد init توی کلاس کاستوم اپلیکیشن فراخونی بشه. یعنی کانتکس اپلیکیشن بهش میدیم.
کد جاوای قسمت آزمون سخت نبود. فقط روش حل تصحیح آزمون تستی رو توضیح میدم.
برای هر تکست ویوی که یک گزینه رو نشون میده یک لیسنر مینویسیم و بهش تگ متناظر با شماره گزینه رو اختصاص میدیم.
یک آرایه به اسم answerSheet ساخته و گزینه های درست رو به ترتیب توش میریزیم.
هر گزینه ای که کلیک شد تگش رو میگیریم و با عضو متناظر توی آرایه چک میکنیم، اگر درست بود یعنی پاسخ صحیح بوده و در غیر این صورت پاسخ اشتباه بوده.
حقیقتا سر طراحی لی لوت این صفحه برای ریسپانسیو بودنش دهنم سرویس شد :| مخصوصا سر چهار تا گزینش :|
1. 4 ضلع صفحه رو با گاید لاین به اندازه 1 درصد حاشیه گذاری کردم.
2. با اندازه های 10، 30، 86 درصد به چهار قسمت تبدیلش کردم.