Thursday, April 14, 2016

Saturday, December 26, 2015

بکش تا بروز شه (SwipeRefreshLayout)



قدم اول: اضافه کردن support library v4

کد زیر رو به gradle اضافه می کنیم

dependencies {
compile ‘com.android.support:support-v4:23.1.0’
}

قدم دوم: اضافه کردن SwipeRefreshLayout به Layout


android:id=”@+id/swipe_refresh”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”>


android:id=”@+id/recycler_view”
android:layout_width=”match_parent”
android:layout_height=”match_parent” />


قدم سوم: نمایش SwipeRefresh در هنگام لود

هنگامی که از سرور داده ای رو درخواست می کنیم SwipeRefreshLayout رو فعال می کنیم و در زمانی که درخواست ناموفق و یا موفق بود غیر فعال می کنیم

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
swipeRefresh.setRefreshing(true);
}
}, ۱۰۰);

قدم چهارم: پیاده سازیه OnRefreshListener

swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//دریافت داده ها از سرور
}
});

قدم آخر: تغییر رنگ SwipeRefreshLayout

swipeRefresh.setColorSchemeResources(R.color.accent);

Thursday, August 20, 2015

یکسری وب سایت و ابزار بدرد بخور برای اندروید کارا

آموزشی

  • Context, What Context: این مطلب در رابطه با انواع کانتکست های اندرویده و اینکه از هر کدومشون کجا باید استفاده و کجا نباید استفاده کرد. 
  • Android Material Design Slidenerd Style: آموزش  فوق العاده کاربردی در رابطه با طراحی متریال دیزاین.

ابزارها

  • Android Asset Studio: یه ابزاره حسابیه برای درست کردن انواع آیکون ها مثل آیکن اعلان، اکشن بار، لانچر و ...
  • DP/PX Convertor: تبدیل DP، پیکسل، اینچ و ... به هم
  • App Mirror: مجموعه ای کامل از اپلیکشن های اندرویده که به راحتی قابله دانلود روی مرورگر هست
  • Mocking Bot: یه وب سایت خوب و رایگان برای درست کردن ماک برنامه

کتابخانه ها (Library)

  • ButterKnife: یه کامپونته خیلی خفن که تو همه پروژه ها ازش استفاده می کنم، کارش اینه که ویجت ها (TextView, Button , ...) رو با یه خط انوتیت (Annotate) می شه وارد کرد به اکتیویتی یا فرگمنت، حتما توصیه می کنم یه چک بکنین
  • ASNE: یه کتابخانه کامل برای کار با شبکه های اجتماعی مثل: Twitter, Linkedin, Google Plus, Facebook, Instagram , ...
  • timber: یه لاگر فوق العاده کاربردی نسبت به Log کلاس پیش فرض اندروید، با این کتابخانه می تونید لاگ های دیباگ و ورباس (Timber.d , Timber.v) رو تو نسخه نهایی غیر فعال کنید و لاگ های ارور و هشدار (Timber.e , Timber.w) رو از طریق exception reporter (مثل google analytics) ارسال کنید برای خودتون.
  • Android-Iconics : تو اندروید یکی از سخت ترین کارا اضافه کردن آیکونه، این کتابخونه با استفاده از فونت های آیکونی با جاش این مشکل رو حل کرده.

پلاگین برای اندروید استادیو

  • ParcelableGenerator: برای تولید Parcelable اندروید، کلاس رو بسازید، فیلد ها رو بهش اضافه کنید بعدش کلید میانبر ALT + Insert رو بزنید و گزینه Parcelable رو انتخاب کنید. :D
  • ADB Idea:  یه میانبر خوب برای اجرای دستورات پر کاربرد بر روی گوشی ای که به سیستم وصله، دستوراتی مثل حذف نرم افزار، بستن نرم افزار، پاک کردن کش، و اجرای مجدد نرم افزار
این مجموعه در حال تکمیله اگه شما هم ابزار بدرد بخوری می شناسید معرفی کنید

Monday, June 29, 2015

OpenJDK VS Oracle JDK

مشکلی که همیشه موقع نصب جاوا برام پیش میاد اینه که اوپن JDK رو کارایی بهتری داره و یا اوراکل JDK،  این دفعه مشکل رو با کمی تحقیق حل کردم:

هنریک استال معاون مدیریت اجرایی گروه جاوا تو شرکت اوراکل در این رابطه نوشته (متن به صورت خلاصه ترجمه شده):

این دو بسیار به هم شبیه اند، برای ایجاد نسخه ی اوراکل JDK تنها چند تکه به آن اضافه می کنیم،
به طور مثال:
  •  پلاگین جاوا (اجرا کننده ی Applet ها) و وب استارت (اجرا کننده ی نرم افزار جاوا به صورت یک کلیک)
  • یکسری از کامپوننت های کد بسته دیگر شرکت ها مثل graphics rasterizer و بعضی از فونت های استفاده شده
  • یکسری از کامپوننت های کد باز دیگر شرکت ها مثل Rhino ( راینو: موتور جاوا اسکریپت که به طور کامل با جاوا پیاده سازی شده است و توسط شرکت موزیلا توسعه داده می شود)


در ادامه هنریک نوشته : نیت ما کد باز کردن تمامی قسمت های اوراکل JDK هست به جز قسمت هایی که دارای امکانات تجاری هستند مثل Jrockit Mission Control (ابزاری برای مانیتور کردن و پروفایل کردن نرم افزار های جاوا که هنوز این محصول از طرف اوراکل ارائه نشده) باقی قسمت ها با کامپوننت های متن باز جابه جا خواهند شد.

طبق گفته این دوست عزیز از نظر کارایی تفاوت چندانی نمی کنه که از کدام JDK استفاده کنیم، برای همین من ترجیح می دم از اوپن JDK‌استفاده بکنم که هم کد بازه و هم با یک دستور تو اوبونتو نصب می شه

sudo apt-get install openjdk-8-jdk

Thursday, February 19, 2015

کتابخانه کار با رابط درگاه اینترنتی بانک ملت برای جاوا



برای کار با درگاه بانک ملت یه کتابخانه (یا همون library) با IntelliJ IDEA درست کردم، گفتم اینجا بزارم تا بقیه هم بتونن استفاده کنند.

کار با این کتابخانه خیلی راحته، نمونه کد زیر از متد bpPayRequest بانک ملت استفاده می کنه و در خواست تراکنش رو برای بانک ارسال می کنه. مابقی API های بانک ملت همانند مثال زیر یک متد دارند با یکسری پارامتر های ورودی و خروجی معین شده توسط خود بانک ملت.

IPaymentGateway service = new PaymentGatewayImplService().getPaymentGatewayImplPort();
            String response = service.bpPayRequest(
                    12,
                    "USER NAME",
                    "PASSWORD",
                    mellatBank.getId() ,
                    mellatBank.getPrice(),
                    mellatBank.getLocalDate(),
                    mellatBank.getLocalTime(),
                    "",
                    "response url",
                    0
            );

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