Android - En İyi Uygulamalar

Android uygulama geliştirirken takip edebileceğiniz bazı uygulamalar bulunmaktadır. Bunlar android tarafından öneriliyor ve zamana göre gelişmeye devam ediyorlar.

Bu en iyi uygulamalar arasında etkileşim tasarımı özellikleri, performans, güvenlik ve gizlilik, uyumluluk, test etme, dağıtma ve para kazanma ipuçları yer alır. Daraltılmış ve aşağıdaki gibi listelenmiştir.

En İyi Uygulamalar - Kullanıcı girdisi

Her metin alanı farklı bir işe yöneliktir. Örneğin, bazı metin alanları metin, bazıları ise sayılar içindir. Sayılar içinse, o metin alanı odaklandığında sayısal tuş takımını görüntülemek daha iyidir. Sözdizimi.

<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" />

Aksi takdirde, alanınız parola içinse, kullanıcının parolayı kolayca hatırlayabilmesi için bir parola ipucu göstermesi gerekir. Olarak elde edilebilir.

<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" />

En İyi Uygulamalar - Arka plan işleri

Bir uygulamada, bir uygulama arka planında çalışan belirli işler vardır. İşleri internetten bir şeyler almak, müzik çalmak vb. Olabilir. Uzun süre bekleyen görevlerin UI iş parçacığında yapılmaması, daha çok arka planda hizmetler veya AsyncTask tarafından yapılması önerilir.

AsyncTask Vs Hizmetleri.

Her ikisi de arka plan görevleri yapmak için kullanılır, ancak hizmet çoğu kullanıcı arabirimi yaşam döngüsü olayından etkilenmez, bu nedenle bir AsyncTask'ı kapatacak durumlarda çalışmaya devam eder.

En İyi Uygulamalar - Performans

Uygulama performansınız işarete uygun olmalıdır. Ancak, ön uçta değil, cihaz bir güç kaynağına bağlandığında veya şarj olduğunda arka uçta farklı şekilde çalışmalıdır. Şarj işlemi USB'den ve kablo kablosundan yapılabilir.

Cihazınız kendi kendini şarj ederken, varsa, uygulama ayarlarınızı güncellemeniz önerilir, örneğin cihaz her bağlandığında yenileme hızınızı en üst düzeye çıkarmak gibi. Bu şekilde yapılabilir.

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);

En İyi Uygulamalar - Güvenlik ve gizlilik

Uygulamanızın yalnızca uygulamanın değil, kullanıcı verilerinin ve uygulama verilerinin de güvende olması çok önemlidir. Güvenlik aşağıdaki faktörlerle artırılabilir.

  • Uygulama dosyalarını depolamak için harici depolama yerine dahili depolamayı kullanın

  • Mümkün olan her yerde içerik sağlayıcıları kullanın

  • Web'e bağlanırken SSl kullanın

  • Cihazın farklı işlevlerine erişmek için uygun izinleri kullanın

Misal

Aşağıdaki örnek, android uygulaması geliştirirken izlemeniz gereken en iyi uygulamalardan bazılarını göstermektedir. Telefonun şarj durumunu kontrol ederek metin alanlarının nasıl kullanılacağını ve performansın nasıl artırılacağını belirlemenize olanak tanıyan temel bir uygulama içerir.

Bu örneği denemek için, bunu gerçek bir cihazda çalıştırmanız gerekir.

Adımlar Açıklama
1 Com.example.sairamkrishna.myapplication paketinin altında bir Android uygulaması oluşturmak için Android studio IDE'yi kullanacaksınız.
2 Kodu eklemek için src / MainActivity.java dosyasını değiştirin
3 Düzen XML dosyasını değiştirin res / layout / activity_main.xml gerekirse herhangi bir GUI bileşeni ekleyin.
4 Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın.

İşte içeriği 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();
   }
}

İşte içeriği 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>

İşte içeriği Strings.xml

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

İşte içeriği 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>

Uygulamanızı çalıştırmayı deneyelim. Gerçek Android Mobil cihazınızı bilgisayarınıza bağladığınızı varsayıyorum. Uygulamayı Android stüdyosundan çalıştırmak için, projenizin etkinlik dosyalarından birini açın

ve araç çubuğundan Çalıştır simgesine tıklayın . Android Studio aşağıdaki Resimleri gösterecektir.

Yukarıdaki resimde bir uygulama çıktısı gösterilmektedir

Şimdi sadece kullanıcı adı alanına yazın ve sözlükten yerleşik android önerilerini göreceksiniz. Bu yukarıda gösterilmiştir.

Şimdi şifre alanını göreceksiniz. Alana yazmaya başladığınız anda kaybolur. Yukarıda gösterilmiştir.

Sonunda, cihazınızı AC kablosuna veya USB kablosuna bağlayın ve şarj kontrol düğmesine basın. Benim durumumda, AC gücü bağladım, aşağıdaki mesajı gösteriyor.