Các phương pháp hay nhất này bao gồm các tính năng thiết kế tương tác, hiệu suất, bảo mật và quyền riêng tư, khả năng tương thích, thử nghiệm, phân phối và mẹo kiếm tiền. Chúng được thu hẹp lại và được liệt kê dưới đây.
Thực tiễn tốt nhất - Nhập của người dùng
Mỗi trường văn bản được dành cho một công việc khác. Ví dụ: một số trường văn bản dành cho văn bản và một số dành cho số. Nếu nó dành cho các con số thì tốt hơn là hiển thị bàn phím số khi trường văn bản đó được tập trung. Cú pháp của nó là.<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" />Khác sau đó nếu lĩnh vực của bạn là cho mật khẩu, sau đó nó phải hiển thị một gợi ý mật khẩu, để người dùng có thể dễ dàng nhớ mật khẩu. Nó có thể đạt được như.
<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" />
Thực tiễn tốt nhất - Công việc nền
Có một số công việc nhất định trong một ứng dụng đang chạy trong nền ứng dụng. Công việc của họ có thể là lấy một số thứ từ internet, chơi nhạc vv Chúng tôi đề nghị rằng các tác vụ chờ đợi lâu không nên được thực hiện trong chuỗi giao diện người dùng và thay vì trong nền bởi dịch vụ hoặc AsyncTask.Dịch vụ AsyncTask Vs.
Cả hai đều được sử dụng để thực hiện các tác vụ nền, nhưng dịch vụ không bị ảnh hưởng bởi hầu hết các sự kiện trong vòng đời của giao diện người dùng, do đó nó tiếp tục chạy trong các trường hợp sẽ tắt AsyncTask.Thực tiễn tốt nhất - Hiệu suất
Hiệu suất ứng dụng của bạn phải được cập nhật. Nhưng nó sẽ thực hiện khác nhau không phải trên giao diện người dùng, nhưng ở mặt sau khi thiết bị được kết nối với nguồn điện hoặc sạc. Sạc có thể từ USB và từ dây cáp.Khi thiết bị của bạn đang tự sạc, bạn nên cập nhật cài đặt ứng dụng của mình nếu có, chẳng hạn như tối đa hóa tốc độ làm mới của bạn bất cứ khi nào thiết bị được kết nối. Nó có thể được thực hiện như thế này.
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);
Thực tiễn tốt nhất - Bảo mật và quyền riêng tư
Điều rất quan trọng là ứng dụng của bạn phải được bảo mật và không chỉ ứng dụng, mà còn dữ liệu người dùng và dữ liệu ứng dụng cũng phải được bảo mật. Bảo mật có thể được tăng lên bởi các yếu tố sau.Sử dụng bộ nhớ trong thay vì bên ngoài để lưu trữ tệp ứng dụng
Sử dụng nhà cung cấp nội dung bất cứ khi nào có
Sử dụng SSl khi kết nối với web
Sử dụng các quyền thích hợp để truy cập các chức năng khác nhau của thiết bị
Thí dụ
Ví dụ dưới đây minh họa một số phương pháp hay nhất bạn nên làm theo khi phát triển ứng dụng Android. Nó thùng một ứng dụng cơ bản cho phép bạn chỉ định cách sử dụng các trường văn bản và cách tăng hiệu suất bằng cách kiểm tra trạng thái sạc của điện thoại.Để thử nghiệm với ví dụ này, bạn cần chạy trên một thiết bị thực tế.
| Các bước | Sự miêu tả |
|---|---|
| 1 | Bạn sẽ sử dụng Android studio IDE để tạo ứng dụng Android theo gói com.example.sairamkrishna.myapplication. |
| 2 | Sửa đổi tệp src / MainActivity.java để thêm mã |
| 3 | Sửa đổi tệp XML bố trí res / layout / activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần. |
| 4 | Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả. |
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(); } }Đây là nội dung của 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>Đây là nội dung của Strings.xml
<resources> <string name="app_name">My Application</string> </resources>Đây là nội dung của 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>Hãy thử chạy ứng dụng của bạn. Tôi cho rằng bạn đã kết nối thiết bị Android Mobile thực tế với máy tính của mình.
Để chạy ứng dụng từ Android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào Chạy biểu tượng từ thanh công cụ. Android Studio sẽ hiển thị Hình ảnh sau.
![]() |
| Học lập trình Android |
Ảnh trên cho thấy đầu ra của ứng dụng
![]() |
| Học lập trình Android |
Bây giờ chỉ cần gõ vào lĩnh vực tên người dùng và bạn sẽ thấy được xây dựng trong các đề xuất android từ từ điển sẽ bắt đầu sắp tới. Điều này được hiển thị ở trên.
![]() |
| Học lập trình Android |
Bây giờ bạn sẽ thấy trường mật khẩu. Nó sẽ biến mất ngay sau khi bạn bắt đầu viết trong lĩnh vực này. Nó được hiển thị ở trên.
Cuối cùng, chỉ cần kết nối thiết bị của bạn với cáp AC hoặc cáp USB và nhấn vào nút kiểm tra sạc. Trong trường hợp của tôi, tôi kết nối nguồn AC, nó hiển thị thông báo sau.
![]() |
| Học lập trình Android |






