بازنشر آموخته های شخصی

نوتیفیکیشن در اندروید

راه اندازی کلاینت GCM روی اپلیکیشن اندروید


کلاینت GCM اندرویدی به کلاینتی گفته می شود که روی دیوایس های اندرویدی راه اندازی می شود. برای راه اندازی اینگونه کلاینت ها پیشنهاد می کنم از API مربوط به GoogleCloudMessaging و اندروید استودیو به همراه Gradle استفاده کنید. 

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

چرخه ی حیات اکتیویتی

یکی از مهمترین بخش های کار کردن با اکتیویتی دانستن چرخه ی حیات مربوط به آن و نحوه و زمان فراخوانی تابع اصلی آن می باشد. برای اینکه بتوانید بهترین عملکرد را درون هریک از ویوهای اپلیکیشن خود داشته باشید، باید نسبت به این مورد دانش کافی را داشته باشید . 

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

اندروید

#android #room
View.getContext(): Returns the context the view is currently running in. Usually the currently active Activity.
Activity.getApplicationContext(): Returns the context for the entire application (the process all the Activities are running inside of). Use this instead of the current Activity context if you need a context tied to the lifecycle of the entire application, not just the current Activity.
ContextWrapper.getBaseContext(): If you need access to a Context from within another context, you use a ContextWrapper. The Context referred to from inside that ContextWrapper is accessed via getBaseContext().
۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

بخش اول RxAndroid


به بخش اول آموزش برنامه نویسی React برای اندروید خوش آمدید. اولین باری که خودم راجع به این موضوع کنجکاو شدم چند بار خیلی کور کورانه شروع به برنامه نوشتن این مدلی کردم و آموزش های مختلفی خوندم تا اینکه تونستم به دید خوبی نسبت به این موضوع برسم. برای همین تصمیم گرفتم شروع کنم راجع بهش نوشتن.

قبلا از اینکه شروع کنیم راجع به RxAndroid صحبت کردن لازمه دو تا مفهوم رو معرفی کنیم. همه چیز در این دو مفوم خلاصه می شود :‌


۱. Observables

۲. Observers


مشاهده شونده یا Observable به شی یا مفهومی در برنامه می گوییم که امکان تولید دیتا یا تغییر پیدا کردن دیتا دارد. مثلا یک آرایه از اعداد صحیح یا یک رشته. 

مشاهده گر یا Observer به شی مشاهده شونده گوش می دهد تا تغییری در آن ایجاد شود. به محض اینکه این تغییر ایجاد شد با فراخوانی متدها مناسب عملیات مورد نیاز را انجام می دهد.

بعد از ایجاد کردن یک مشاهده شونده و مشاهده گر برای اینکه مشاهده شونده بتواند دنباله ی تغییرات مشاهده شونده را دنبال کند باید از مفهومی به عنوان subscribe استفاده نماییم. 


به طور کلی دنباله ی تغییراتی که یک مشاهده گر روی مشاهده شونده انتظار آن را می کشد عبارت است از :‌


۱. ایجاد یک تغییر جدید

۲. به وجود آمدن یک خطا

۳. اتمام تغییرات


تمامی این فراخوانی ها توسط interface مشاهده گر موجود می باشد. نام این توابع به ترتیب onNext()، onError() و onCompleted() می باشد. 

حال با دانستن این موراد می توانیم به مثال های زیر رجوع کنیم :‌

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

Retrofit

Retroift چیست ؟‌

طبق گفته ی خود سایت Retroift یک کلاینت REST برای اندروید و جاوا است. 

با استفاده از این کتابخانه و نشانه گذاری های مربوط به آن (annotations) می توانیم درخواست های http به سمت سرور خود بفرستیم که ویژگی های مورد نظر ما را داشته باشد. از جمله ی این ویژگی ها می توانیم به قرار دادن پارامترهای مخصوص در URL، پارامترایزه کردن آدرس، قرار دادن اطلاعات در بدنه ی درخواست(body) و … اشاره کرد.


برای استفاده از این کتابخانه ابتدا باید آن را به عنوان یک dependency به پروژه ی خود اضافه کنیم. بدین منظور اگر از gradle استفاده می کنید باید آدرس زیر را به فایل depedency پروژ ی خود اضافه کنید‌:‌


 }dependencies 
    // Retrofit & OkHttp
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.squareup.okhttp:okhttp:2.7.2'

{

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

سویفت

سویفت زبان برنامه نویسی تقریبا نوپای اپل می باشد که برای برنامه نویسی اپلیکیشن های مختص سیستم عامل های اپل (iOS, macOS, tvOS, watchOS) استفاده می شود. این زبان که نسخه ی اولیه ی آن در WWDC سال ۲۰۱۴ ارائه شد، سازگاری مناسبی با فریم ورک های Cocoa و Cocoa Touch دارد. همچنین در برنامه های نوشته به این زبان می توان از کدهای قبلی Objective C (با تنظیماتی) استفاده کرد. 

هدف از طراحی این زبان دقت و انعطاف پذیری بیشتر و صد البته خوانایی بیشتر در نوشتن برنامه های پیچیده می باشد. برنامه های نوشته به این زبان قابلیت اجرا شدن بر روی Xcode نسخه ی ۶ و بالاتر را دارا می باشند. در طراحی این زبان از زبان های اسکریپتی مانند Ruby و Python ایده گرفته شده است و از سال ۲۰۱۰ کار روی آن آغاز شده بوده است. خالق اصلی این زبان Chris Lattner می باشد. 

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی

نمایش متن در iOS

به طور کلی پلتفرم iOS تعداد محدودی از کامپوننت ها را برای نمایش متن در اختیار ما قرار می دهد. اگر بخواهیم از این کامپوننت ها نام ببریم می توانیم به ترتیب از :‌

۱. UILabel

۲. UITextField

۳.UITextView

نام برد. به طور کلی اگر قصد نمایش متنی به صورت ایستا و بدون هیچ اکشنی را دارید بهتر است از UILabel استفاده نمایید. اما اگر قصد فرمت دادن به متن مربوطه با امکانات بیشتری را دارید قطعا UITextView گزینه ی بهتری خواهد بود . 

در شرایطی که قرار است این متن توسط کاربر تغییر کند یا بهتر است بگوییم، پویا باشد، باید از گزینه های ۲ و ۳ استفاده نماییم. حال در این شرایط چه تفاوتی بین گزینه ۲ و ۳ وجود دارد؟

اگر متن شما فقط شامل یک خط می باشد UITextField و اگر متنی دارید که حاوی بیش از یک خط‌(قبل و بعد از تغییر توسط کاربر) می باشد بهتر است از UITextView استفاده شود. 

در مباحث آینده به بررسی ویژگی های هر یک از این ۳ کامپوننت خواهیم پرداخت.

۰ نظر موافقین ۰ مخالفین ۰
مصطفی داودی