مشخصات مقاله
-
1985
-
0.0
-
7148
-
0
-
0
بهترین تمرینات اندروید : Android Best Practices
آموزش بهترین تمرینات اندروید
تمریناتی وجود دارند که درهنگام توسعه ی برنامه ی اندروید می توانید دنبال کنید. این تمرینها توسط خود اندروید پیشنهاد داده می شوند و با توجه به زمان ارتقا می یابند.
این تمرینات برتر شامل کنش و واکنش ویژگی های طرح، اجرا، امنیت، امور شخصی، سازگاری، تست کردن و نکات مربوط به انتشار و رسمیت پولی بخشیدن می شود. آنها در زیر لیست شده اند.
روش های برتر داخلی یوزر
هر فیلد متن برای کار خاصی در نظر گرفته شده است. به عنوان مثال برخی از این فیلدها برای متن و برخی برای اعداد هستند. در هنگام تمرکز بر روی آن تکست فیلد، اگر مربوط به اعداد است که بهتر است صفحه کلید عدد نمایش داده شود. ترکیب آن در زیر ارائه شده است .
در غیر این صورت اگر مربوط به پسورد می باشد، پس باید نمای پسورد نشان دهد طوری که یوزر بتواند به راحتی پسورد را به خاطر بسپارد. ترکیب آن مانند زیر می باشد .
تمرینات برتر- پس زمینه
کارهای مشخصی در یک برنامه وجود دارند که در پس زمینه ی آن در حال اجرا هستند. این کارها عبارتند از گرفتن چیزی از اینترنت، اجرای موسیقی، و غیره باشد. پیشنهاد می شود که کارهایی که مدت طولانی در حال انتظار بوده اند، نباید با رشته ی UI انجام شوند بلکه بهتر است در پس زمینه توسط سرویس ها یا AsyncTask. انجام شوند.
AsyncTask. در مقایسه با سرویس ها
هردو برای انجام فعالیت های پس زمینه استفاده می شوند اما سرویس تحت تاثیر بسیاری از رویدادهای دوره ی کار اینترفیس یوزر قرار نمی گیرد، بنابراین به اجرا در محیط هایی ادامه می دهد که یک AsyncTask را می بندند.
تمرینات برتر- اجرا
زمانی که دستگاه شما به یک منبع نیرو یا شارژ متصل است، باید در انتهای پشتی ) نه در انتهای جلویی(، به طور متفاوت برنامه را اجرا کند. شارژممکن است از طریق USB یا از طریق کابل سیم انجام شود.
زمانی که دستگاه شما در حال شارژ کردن خود می باشد، پیشنهاد می شود که تنظیمات برنامه ی خود را آپدیت کنید، اگر برنامه ای باشد مانند به حداکثر رساندن میزان رفرش کردن در هنگام اتصال دستگاه. این کار می تواند به این شکل انجام شود.
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
// Are we charging / charged? Full or charging.
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
// How are we charging? From AC or USB.
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
تمرینات برتر- امنیت و خصوصی سازی
بسیار مهم است که برنامه ی شما دارای امیت باشد، و نه تنها برنامه بلکه داده ی یوزر و داده ی برنامه هم باید دارای این امنیت باشند. امنیت با دنبال کردن فاکتورهای زیر افزایش می یابد.
- از حافظه ی داخلی به جای حافظه ی خارجی برای ذخیره ی فایل های برنامه ها استفاده کنید.
- هر جا ممکن است از تامین کننده ی محتوا استفاده کنید.
- در هنگام اتصال به وب از SSI استفاده کنید.
- از مجوزهای موجود برای دسترسی به کاربردهای مختلف برنامه ها استفاده کنید.
مثال:
مثال زیر برخی از تمرینات برتری را توضیح می دهد که شما باید در زمان توسعه ی برنامه ی اندروید دنبال کنید. در این مثال یک برنامه ی پایه ایجاد می شود که به شما اجازه می دهد تا تعیین کنید که چگونه از فیلدهای متن استفاده کنید و چگونه اجرا را به وسیله ی کنترل شارژ تلفن افزایش دهید.
برای آزمایش این مثال لازم است آن را روی دستگاه انروید اجرا کنید.
در اینجا محتوای src/com.example.bestpractices/MainActivity.java را مشاهده می کنید.
package com.example.bestpractices;
import android.os.BatteryManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button Check;
private BatteryManager battery;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Check = (Button)findViewById(R.id.button1);
}
public void check(View view){
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
// How are we charging?
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,
-1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
if(usbCharge){
Toast.makeText(getApplicationContext(),"Mobile is
charging on USB",Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(getApplicationContext(),"Mobile is
charging on AC",Toast.LENGTH_LONG).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
در اینجا محتوای فایل activity_main.xml را مشاهده می کنید.
در اینجا محتوای Strings.xml را مشاهده می کنید.
Here is the content of AndroidManifest.xmlBestPractices Settings Hello world! Username Password Hello world! Charging check
در اینجا محتوای AndroidManifest.xml را مشاهده می کنید.
اجازه بدهید برنامه ی BestPractices شما را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.
دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.
اکنون روی فیلد Username تایپ کنید، و شما پیشنهادات داخلی اندروید را مشاهده می کنید که از دیکشنری می آیند. این امر در زیر نمایش داده شده است.
اکنون شما اشاره گر را در فیلد پسورد مشاهده می کنید که به محض اینکه آغاز به نوشتن کنید، ناپدید می شود. این امر در زیر نمایش داده شده است.
در انتها دستگاه خود را به کابل AC یا کابل USB متصل کنید و دکمه ی Charging check را فشار دهید. من دستگاه خود را از طریق یک کابل USB به یک کامپیوتر متصل می کنم که پیغام آن در زیر نمایش داده شده است.