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

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

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

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

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

۲۱ مطلب در دی ۱۳۹۹ ثبت شده است

پروگارد یه نرم افزار کامند لاینی هست که جز 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);
}

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

توی اندروید استودیوی 4 به بعد باتن پیش فرض باتن متریال دیزاین هست. بنابراین اگر برای کاستوم کردن باتن از روش قبلی استفاده کنیم یعنی shape بسازیم و با اتریبیوت background بدیم باتن تغییری نمیکنه. این روش برای باتن هایی که غیر متریال هستن جواب میده.

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

 

1. استفاده از باتن غیر متریال و shape

این باتن توی XML اینجوری فراخونی میشه:

android.widget.Button

 

2. استفاده از باتن متریال و کاستوم کردن باتن به صورت زیر:

  • app:rippleColor: The colour to be used for the button ripple effect
  • app:backgroundTint: Used to apply a tint to the background of the button. If you wish to change the background color of the button, use this attribute instead of background.

  • app:strokeColor: The color to be used for the button stroke

  • app:strokeWidth: The width to be used for the button stroke
  • app:cornerRadius: Used to define the radius used for the corners of the button

 

منبع

 

 

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