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

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

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

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

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

نمایندگی یا Delegation

اگر کلاس A رو داشته باشیم و بخواهیم عملکردهای کلاس B رو هم داشته باشه، دو روش وجود داره:

 

1. استفاده از وراثت یا inheritance

2. استفاده از Delegation - در این حالت یک شی از B به A پاس میدیم. در این صورت کارهایی که B میتونست انجام بده رو A هم میتونه.

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

برای بعضی third libraryها باید پروگارد رو غیر فعال کنیم. توی گیت اکثر کتابخونه ها قوانین پروگاردشون نوشته شده که باید توی فایل proguard-rules.pro کپی پیست شه.

 

مثلا اینجوری نوشته میشه:

-keep class  اسم کامل کلاس.**

دستورات dontWarn و اینا هم داره.

 

این ریپازیتوری قوانین پروگارد اکثر کتابخونه ها رو نوشته.

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

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

پروگارد یه نرم افزار کامند لاینی هست که جز SDK اندروید بوده و باهاش میشه کار minimize، hide و optimize برای کد انجام داد.

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

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

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

از این کتابخانه برای راحت شدن از شر findViewByID ها استفاده میشود.

 

خلاصه آموزش:

با نوشتن کد زیر یک تکست ویو به آی دی tv_noNetwork بایند میشود و در برنامه توسط tv_noNetwork به این ویو دسترسی داریم.

 

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

همون لیوتی که با اسکرول کردن به سمت پایین آیکون پراگرس بار رو نشون میده (مشابه اینستاگرام)

نحوه استفاده:

 

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

برای ساخت آیکون لانچر از image asset استفاده میکنیم. در این صورت، مدل های rounded و circle ساخته خواهد شد.

توضیحات کامل اینجا گفته شده.

 

 سایز عکس آیکون ها با کیفیت های مختلف:

 

  • MDPI: 48x48
  • HDPI: 72x72
  • XHDPI: 96x96
  • XXHDPI: 144x144
  • XXXHDPI: 192x192
۰ نظر موافقین ۰ مخالفین ۰ ۰۵ دی ۹۹ ، ۰۶:۵۳
میم دال

برای اینکه بدونیم در حال حاضر دیوایس به اینترنت وصل هست یا خیر از کد زیر استفاده می شود:

 

private boolean isNetworkConnected() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

    return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}

نکته مهم اینکه در منیفست باید پرمیشن زیر اضافه شده باشه:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

منبع

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