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

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

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

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

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

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

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

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

 

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

برای ساخت آیکون لانچر از 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

 

منبع

 

 

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

توی معماری MVP، لایه های Model و Presenter نباید Context داشته باشن.

توی لایه Model دیتا رو از API یا دیتابیس میگیریم و ممکنه به Context نیاز پیدا کنیم.

راه حل این مشکل اینه که کلاسی که به Context نیاز داره رو توی یک لایه دیگه abstract کنیم.

اینجا بیشتر توضیح داده.

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

برای اینکه آیتم های ریسایکلر ویو از هم فاصله داشته باشن (معمولا آیتم ها کارد ویو هستن) در rootکه همون کارد ویو هست اتریبیوت زیر را اضافه میکنیم:

 

app:cardUseCompatPadding="true"

 

 

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

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

2020-03-23T13:58:53Z

T جدا کننده بوده و بیانگر اینه که در ادامه مقدار زمان آمده است. احتمالا مخفف time هست.

Z بیانگر UTC timezone هست.

 

این نوع بیان تاریخ استاندارد ISO 8601 است.

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