این کد خیلی مهمه. پراگرس بار رو توسط Handler در ترد UI و بدون تعریف ترد ورکر آپدیت میکنه.
همش بخونش تا حفظ شی :|
این کد خیلی مهمه. پراگرس بار رو توسط Handler در ترد UI و بدون تعریف ترد ورکر آپدیت میکنه.
همش بخونش تا حفظ شی :|
دو نوع پراگرس بار داریم:
determinate و Indeterminate
determinate: درصد انجام فرآیند رو به صورت تیکه تیکه نشون میده.
Indeterminate: فقط مثل یه دایره میچرخه - شکل اول
با اتریبیوت android:indeterminate="true" میشه این ویژگی رو اضافه کرد.
اگر به پراگرس بار استایل ندیم، مثل شکل اول میشه.
اگر به پراگرس بار به صورت زیر استایل بدیم، میتونیم توی فایل style.xml رنگش رو عوض کنیم.
برای اینکه تیکه تیکه بره جلو، باید یک shape از نوع ring تعریف کنیم به صورت زیر:
از طریق اتریبیوت drawable این ویژگی رو ست میکنیم. نکته مهم اینه که برای این حالت حتما باید از همین استایل استفاده بشه تا جواب بده.
توضیحاتشو توی برگه نوشتم. اینجا عکس کدها رو میذارم.
این کد کلاس ترد هست که کاستوم شده. نکته مهم اینه که handler و looper پابلیک تعریف شدن تا از کلاس های دیگه قابل دسترس باشن.
اندروید یک ترد اصلی به نام ترد UI داره. کارهایی که طول میکشن رو نمیشه توی این ترد انجام داد چون اگر بیشتر از 5 ثانیه طول بکشه اپ کرش میکنه. بنابراین باید توی یه ترد این کارها رو انجام بدیم.
برای این کار، توی xml تکست ویو پراپرتی
android:scrollbars="vertical"
رو قرار میدیم و در قسمت جاوا کد زیر رو بعد از setText مینویسیم:
show_contacts.setMovementMethod(new ScrollingMovementMethod());
نفهمیدم چجوریه. حفظاتیک یاد گرفتم.
توضیحات اینا رو توی کاغذ نوشتم. بنابراین دیگه توضیح نمیدم.
در کل توسط ContentResolver به دیتابیس اپ های دیگه دسترسی پیدا میکنیم. مثل خوندن کانتکت ها.
"به زبان ساده content provider امکان به اشتراک گذاری داده ها را بین برنامه ها ممکن می سازد."
آموزش انجام عملیات CRUD برای دیتابیس فچ شده - کد رو نوشته و خیلی کامل و خوبه
اینم مثل بالاییه ولی بالایی بهتره
-------
------
چون عملیات دیتابیسی زمان بر هست، بهتره کوئری ها توی یک ترد دیگه باشن. بنابراین از cursoeLoader استفاده میکنن.
کد خواندن کانتکت ها با استفاده از cursorLoader
زمانی که میخواهیم اکتیویتی مقصد یه کاری انجام بده و نتیجه آن به ما برگرده.
در چنین شرایطی به جای startActivity از startActivityForResult استفاده می کنیم. برای مثال کاربر را به گالری هدایت میکنیم تا عکسی را انتخاب کند و پس از انتخاب عکس به برنامه ما برگرد. نتیجه بازگردانده شده شامل uri مربوط به عکس می باشد. در چنین حالاتی از startActivityForResult استفاده کرده و یک requestCode به آن اختصاص می دهیم.