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

4 سال پیش

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد بهترین شیوه ها در برنامه نویسی اندروید (Best Practices) صحبت خواهیم کرد.

 

برخی از روش ها وجود دارد که می توانید هنگام توسعه برنامه اندروید دنبال کنید. این ها توسط خود اندروید پیشنهاد می شوند و با توجه به زمان بهبود می یابند.

بهترین شیوه ها در برنامه نویسی اندروید شامل ویژگیهای طراحی تعامل، عملکرد، امنیت و حریم خصوصی، سازگاری، نکات آزمایش، توزیع و کسب درآمد است.

 

بهترین شیوه ها در برنامه نویسی اندروید- User input

بعضی از قسمت های متن (textfield) برای کارهای متفاوت در نظر گرفته شده است. به عنوان مثال، برخی از textfield برای متن و برخی دیگر برای اعداد است. اگر مخصوص اعداد است، بهتر است وقتی آن textfield متمرکز است، صفحه کلید عددی نمایش داده شود. نحو آن به صورت زیر است.

<EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/editText"
   android:layout_alignParentRight="true"
   android:layout_alignParentEnd="true"
   android:hint="User Name"
   android:layout_below="@+id/imageView"
   android:layout_alignLeft="@+id/imageView"
   android:layout_alignStart="@+id/imageView"
   android:numeric="integer" />

در غیر اینصورت اگر فیلد شما برای گذرواژه است، باید password hint عبور را نشان دهد تا کاربر بتواند به راحتی گذرواژه را به خاطر بسپارد.

<EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/editText2"
   android:layout_alignLeft="@+id/editText"
   android:layout_alignStart="@+id/editText"
   android:hint="Pass Word"
   android:layout_below="@+id/editText"
   android:layout_alignRight="@+id/editText"
   android:layout_alignEnd="@+id/editText"
   android:password="true" />

بهترین شیوه ها در برنامه نویسی اندروید- Background jobs

فعالیت های خاصی(Background jobs) در برنامه وجود دارد که در پس زمینه برنامه در حال اجرا هستند. این فعالیت ها ممکن است این باشد که از اینترنت چیزی را دانلود کند وموسیقی پخش کند یا کارها دیگری را انجام دهد. توصیه می شود که فعالیت های خاص طولانی مدت نباید در قسمت UI انجام شوند و در سرویس مربوطه یا AsyncTask در پس زمینه انجام می شوند.

AsyncTask Vs Services.

هر دو برای انجام کارهای پس زمینه مورد استفاده قرار می گیرند ، اما service تحت تأثیر اکثر رویدادهای چرخه حیات رابط کاربری نیست، بنابراین در شرایطی که باعث خاموش شدن AsyncTask می شود، به کار خود ادامه می دهد.

 

بهترین شیوه ها در برنامه نویسی اندروید- Performance

Performance میزان کارایی و یا عملکرد دستگاه شما را هنگامی که به کابل شارژ یا 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);

بهترین شیوه ها در برنامه نویسی اندروید-Security and privacy

بسیار مهم است که برنامه شما ایمن باشد و نه تنها برنامه، بلکه داده های کاربر و داده های برنامه نیز باید ایمن باشند. عوامل زیر می توانند امنیت را افزایش دهند.

  • برای ذخیره سازی فایل های برنامه ها، از حافظه داخلی و نه خارجی استفاده کنید
  • هر جا ممکن است از ارائه دهندگان محتوا استفاده کنید
  • هنگام اتصال به وب از SSl استفاده کنید
  • برای دسترسی به عملکردهای مختلف دستگاه از مجوزهای مناسب استفاده کنید

 

مثال

مثال زیر برخی از بهترین شیوه هایی را که باید هنگام ایجاد برنامه اندروید دنبال کنید را نشان می دهد. این یک برنامه اساسی است که به شما امکان می دهد نحوه استفاده از قسمت های متنی و چگونگی افزایش کارایی را با بررسی وضعیت شارژ تلفن مشخص کنید.

برای آزمایش این مثال، باید آن را روی یک دستگاه واقعی اجرا کنید.

شرح مراحل 

۱ از Android studio IDE برای ایجاد یک برنامه Android تحت یک بسته com.example.sairamkrishna.myapplication استفاده خواهید کرد.
۲ برای افزودن کد، فایل src / MainActivity.java را تغییر دهید
۳ طرح XML را تغییر دهید فایل res / layout / activity_main.xml در صورت لزوم، هر جز GUI اضافه کنید.
۴ برنامه را اجرا کنید و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را تأیید کنید.

در اینجا محتوای src / MainActivity.java است

 

package com.example.sairamkrishna.myapplication;

import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
   EditText ed1,ed2;
   Button b1;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      b1=(Button)findViewById(R.id.button);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         
         public void onClick(View v) {
            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;

            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
   protected void onDestroy() {
      super.onDestroy();
   }
}

در اینجا محتوای activity_main.xml است

<?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" 
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" 
   tools:context=".MainActivity">
   
   <TextView android:text="Bluetooth Example" 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textview"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView"
      android:layout_below="@+id/textview"
      android:layout_centerHorizontal="true"
      android:textColor="#ff7aff24"
      android:textSize="35dp" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:hint="User Name"
      android:layout_below="@+id/imageView"
      android:layout_alignLeft="@+id/imageView"
      android:layout_alignStart="@+id/imageView"
      android:numeric="integer" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText2"
      android:layout_alignLeft="@+id/editText"
      android:layout_alignStart="@+id/editText"
      android:hint="Pass Word"
      android:layout_below="@+id/editText"
      android:layout_alignRight="@+id/editText"
      android:layout_alignEnd="@+id/editText"
      android:password="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Check"
      android:id="@+id/button"
      android:layout_below="@+id/editText2"
      android:layout_centerHorizontal="true" />
      
</RelativeLayout>

در اینجا محتوای Strings.xml وجود دارد

<resources>
    <string name="app_name">My Application</string>
</resources>

در اینجا محتوای AndroidManifest.xml است

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.sairamkrishna.myapplication.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      
      </activity>
      
   </application>
</manifest>

بیایید برنامه را اجرا کنیم. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

تصویر بالا خروجی برنامه را نشان می دهد

اکنون کافیست در قسمت username تایپ کنید و مشاهده خواهید کرد که پیشنهادات اندرویدی داخلی از دیکشنری شروع به نمایش می کند. این در بالا نشان داده شده است.

اکنون قسمت password را مشاهده خواهید کرد. به محض شروع به نوشتن در این زمینه ناپدید می شود. در بالا نشان داده شده است.

در پایان، فقط دستگاه خود را به کابل AC یا کابل USB متصل کرده و دکمه بررسی شارژ را فشار دهید. وقتی برق AC را وصل می کنیم، این پیام زیر را نشان می دهد.

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه