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

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

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

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

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

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

برای بعضی 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"/>

منبع

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

متدی به نام "onKeyDown" داریم که میشه باهاش هر کلید سخت افزاری که کاربر فشار میده detect کرد.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // back was pressed
        return true;
    } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
        // volume up was pressed
    }
    return super.onKeyDown(keyCode, event);
}

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