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
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.