Học lập trình Android cho phép bạn sao lưu dữ liệu ứng dụng của mình vào bộ lưu trữ "đám mây" từ xa, để cung cấp điểm khôi phục cho dữ liệu và cài đặt ứng dụng.
Để tạo một ứng dụng sao lưu dữ liệu, bạn cần đăng ký ứng dụng của mình với dịch vụ sao lưu google. Điều này đã được giải thích trong ví dụ. Sau khi đăng ký, bạn phải chỉ định khóa của nó trong AndroidManifest.XML
Học lập trình Android hỗ trợ cả hai loại sao lưu trong các lớp tương ứng của SharedPreferencesBackupHelper và FileBackupHelper.
Để sử dụng SharedPerefernceBackupHelper , bạn cần khởi tạo đối tượng của nó bằng tên của tệp SharedPerefernces của bạn. Cú pháp của nó được đưa ra dưới đây
Ngoài các phương thức này, còn có các phương thức khác được định nghĩa trong lớp BackupAgentHelper. Chúng được định nghĩa dưới đây
Các phương thức của lớp SharedPreferencesBackUpHelper được liệt kê bên dưới.
Ví dụ sau đây cho thấy việc sử dụng lớp BackupAgentHelper để tạo bản sao lưu dữ liệu ứng dụng của bạn.
Để thử nghiệm với ví dụ này, bạn cần chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.
Đăng ký ứng dụng Học lập trình Android với dịch vụ sao lưu google. Để làm điều đó, hãy truy cập liên kết này . Bạn phải đồng ý với các điều khoản dịch vụ, sau đó nhập tên gói ứng dụng. Nó được hiển thị dưới đây
Sau đó bấm vào Đăng ký với dịch vụ sao lưu Android. Nó sẽ cung cấp cho bạn khóa của bạn, cùng với mã AndroidManifest để sao chép. Chỉ cần sao chép chìa khóa. Nó được hiển thị dưới đây
Sau khi sao chép khóa, bạn cần ghi nó vào tệp AndroidManifest.XML. Mã của nó được đưa ra dưới đây
Cài đặt ứng dụng của bạn trên hình ảnh hệ thống Học lập trình Android phù hợp.
Nếu sử dụng trình giả lập, hãy tạo và sử dụng AVD với Android 2.2 (API cấp 8).
Nếu sử dụng thiết bị, thiết bị phải chạy Android 2.2 trở lên và có Google Play tích hợp.
Đảm bảo sao lưu dữ liệu được bật
Nếu sử dụng trình giả lập, bạn có thể bật sao lưu bằng lệnh sau từ đường dẫn / công cụ SDK của mình
Nếu sử dụng thiết bị, hãy mở Cài đặt hệ thống, chọn Quyền riêng tư, sau đó bật Sao lưu dữ liệu của tôi và Tự động khôi phục.
Bắt đầu một hoạt động sao lưu bằng cách gõ lệnh sau.
Điều này buộc Trình quản lý sao lưu thực hiện tất cả các yêu cầu sao lưu trong hàng đợi của nó.
Gỡ cài đặt và cài đặt lại ứng dụng của bạn Học lập trình Android
Gỡ cài đặt ứng dụng bằng lệnh sau
Sau đó cài đặt lại ứng dụng và xác minh kết quả.
Bạn chỉ có thể sao lưu dữ liệu ứng dụng của bạn. Để truy cập dữ liệu ứng dụng khác, bạn cần root điện thoại.
![]() |
| Học lập trình Android chuyên nghiệp |
Để tạo một ứng dụng sao lưu dữ liệu, bạn cần đăng ký ứng dụng của mình với dịch vụ sao lưu google. Điều này đã được giải thích trong ví dụ. Sau khi đăng ký, bạn phải chỉ định khóa của nó trong AndroidManifest.XML
<application android:allowBackup="true" android:backupAgent="MyBackupPlace"> <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" /> </application>Học lập trình Android cung cấp lớp BackUpAgentHelper để xử lý tất cả các hoạt động sao lưu dữ liệu. Để sử dụng lớp này, bạn phải mở rộng lớp của mình với nó. Cú pháp của nó được đưa ra dưới đây
public class MyBackUpPlace extends BackupAgentHelper { }Dữ liệu liên tục mà bạn muốn sao lưu nằm ở một trong hai dạng. Nó có thể là SharedPrefrences hoặc nó có thể là File.
Học lập trình Android hỗ trợ cả hai loại sao lưu trong các lớp tương ứng của SharedPreferencesBackupHelper và FileBackupHelper.
Để sử dụng SharedPerefernceBackupHelper , bạn cần khởi tạo đối tượng của nó bằng tên của tệp SharedPerefernces của bạn. Cú pháp của nó được đưa ra dưới đây
static final String File_Name_Of_Prefrences = "myPrefrences"; SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences);Điều cuối cùng bạn cần làm là gọi phương thức addHelper bằng cách chỉ định chuỗi khóa sao lưu và đối tượng trợ giúp. Cú pháp của nó được đưa ra dưới đây
addHelper(PREFS_BACKUP_KEY, helper);Phương thức addHelper sẽ tự động thêm một trình trợ giúp vào một tập hợp dữ liệu đã cho vào cấu hình của tác nhân.
Ngoài các phương thức này, còn có các phương thức khác được định nghĩa trong lớp BackupAgentHelper. Chúng được định nghĩa dưới đây
| Không. | Phương pháp & mô tả |
|---|---|
| 1 | onBackup (ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) Chạy quá trình sao lưu trên mỗi trình xử lý được cấu hình |
| 2 | onRestore (Dữ liệu BackupDataInput, int appVersionCode, ParcelFileDescriptor newState) Chạy quá trình khôi phục trên mỗi trình xử lý được cấu hình |
| Không. | Phương pháp & mô tả |
|---|---|
| 1 | PerformanceBackup (ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) Sao lưu các nhóm SharedPreferences được cấu hình |
| 2 | restoreEntity (dữ liệu BackupDataInputStream) Khôi phục một thực thể từ luồng dữ liệu khôi phục vào kho lưu trữ tệp tùy chọn chia sẻ thích hợp của nó |
Để thử nghiệm với ví dụ này, bạn cần chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.
| Các bước | Sự miêu tả |
|---|---|
| 1 | Bạn sẽ sử dụng studio Android để tạo một ứng dụng Android và đặt tên là Sao lưu theo gói com.example.backup. |
| 2 | Đăng ký ứng dụng của bạn với dịch vụ sao lưu của Google. |
| 3 | Sửa đổi AndroidManifest để thêm khóa cần thiết tương ứng và các thành phần khác |
| 4 | Tạo lớp đại lý dự phòng với tên bạn chỉ định tại AndroidManifest.XML |
| 5 | Chạy ứng dụng và xác minh kết quả |
Sau đó bấm vào Đăng ký với dịch vụ sao lưu Android. Nó sẽ cung cấp cho bạn khóa của bạn, cùng với mã AndroidManifest để sao chép. Chỉ cần sao chép chìa khóa. Nó được hiển thị dưới đây
Sau khi sao chép khóa, bạn cần ghi nó vào tệp AndroidManifest.XML. Mã của nó được đưa ra dưới đây
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.backup" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:backupAgent="MyBackUpPlace" android:theme="@style/AppTheme" > <activity android:name="com.example.backup.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> <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" /> </application> </manifest>Đây là mã của lớp BackUpAgentHelper. Tên của lớp phải giống như bạn đã chỉ định trong thẻ backupAgent trong ứng dụng trong Học lập trình Android Manifest.XML
package com.example.backup; import android.app.backup.BackupAgentHelper; import android.app.backup.SharedPreferencesBackupHelper; public class MyBackUpPlace extends BackupAgentHelper { static final String File_Name_Of_Prefrences = "myPrefrences"; static final String PREFS_BACKUP_KEY = "backup"; @Override public void onCreate() { SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences); addHelper(PREFS_BACKUP_KEY, helper); } }
Kiểm tra BackupAgent của bạn
Khi bạn đã triển khai tác nhân sao lưu của mình, bạn có thể kiểm tra chức năng sao lưu và khôi phục bằng quy trình sau, sử dụng bmgr.Cài đặt ứng dụng của bạn trên hình ảnh hệ thống Học lập trình Android phù hợp.
Nếu sử dụng trình giả lập, hãy tạo và sử dụng AVD với Android 2.2 (API cấp 8).
Nếu sử dụng thiết bị, thiết bị phải chạy Android 2.2 trở lên và có Google Play tích hợp.
Đảm bảo sao lưu dữ liệu được bật
Nếu sử dụng trình giả lập, bạn có thể bật sao lưu bằng lệnh sau từ đường dẫn / công cụ SDK của mình
adb shell bmgr enable true
Nếu sử dụng thiết bị, hãy mở Cài đặt hệ thống, chọn Quyền riêng tư, sau đó bật Sao lưu dữ liệu của tôi và Tự động khôi phục.
Thực hiện sao lưu
Đối với mục đích thử nghiệm, bạn cũng có thể thực hiện yêu cầu bằng lệnh bmgr sauadb shell bmgr backup your.package.name
Bắt đầu một hoạt động sao lưu bằng cách gõ lệnh sau.
adb shell bmgr run
Điều này buộc Trình quản lý sao lưu thực hiện tất cả các yêu cầu sao lưu trong hàng đợi của nó.
Gỡ cài đặt và cài đặt lại ứng dụng của bạn Học lập trình Android
Gỡ cài đặt ứng dụng bằng lệnh sau
adb uninstall your.package.name
Sau đó cài đặt lại ứng dụng và xác minh kết quả.

Không có nhận xét nào:
Đăng nhận xét