Thứ Tư, 5 tháng 9, 2018

Android - Sao lưu dữ liệu

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 sang bộ nhớ "đá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. Bạn chỉ có thể sao lưu dữ liệu ứng dụng của mình. Để truy cập dữ liệu ứng dụng khác, bạn cần phải root điện thoại của bạn.

Để thực hiện một ứng dụng sao lưu dữ liệu, bạn cần phải đăng ký ứng dụng của bạn 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 Android Manifest. XML
<application
   android:allowBackup="true"
   android:backupAgent="MyBackupPlace">

   <meta-data 
      android:name="com.google.android.backup.api_key"
      android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />
</application>
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 học này, bạn phải mở rộng lớp học của bạn 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 ở một trong hai dạng. Hoặc có thể là SharedPrefrences hoặc có thể là Tệp. 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ó với 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 dự phòng 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 cho 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 bên dưới

Sr.NoPhương pháp & mô tả
1onBackup (ParcelFileDescriptor oldState, dữ liệu BackupDataOutput, ParcelFileDescriptor newState)

Chạy quá trình sao lưu trên mỗi trình xử lý được định cấu hình
2onRestore (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 định cấu hình
Các phương thức của lớp SharedPreferencesBackUpHelper được liệt kê dưới đây.

Sr.NoPhương pháp & mô tả
1performBackup (ParcelFileDescriptor oldState, dữ liệu BackupDataOutput, ParcelFileDescriptor newState)

Sao lưu các nhóm SharedPreferences được định cấu hình
2restoreEntity (Dữ liệu BackupDataInputStream)

Khôi phục một thực thể từ luồng dữ liệu khôi phục về kho lưu trữ tệp tùy chọn được chia sẻ thích hợp

Thí dụ

Ví dụ sau đây minh họa 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 ứng dụng này trên thiết bị thực hoặc trong trình giả lập.

Các bướcSự miêu tả
1Bạn sẽ sử dụng Android studio để tạo ứng dụng Android và đặt tên là Sao lưu trong 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.
3Sửa đổi Android Manifest để thêm khóa cần thiết tương ứng và các thành phần khác
4Tạo lớp tác nhân sao lưu với tên bạn chỉ định tại Android Manifest.XML
5Chạy ứng dụng và xác minh kết quả


Đăng ký bạn ứng dụng 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 điều khoản dịch vụ và sau đó nhập tên gói ứng dụng. Nó được hiển thị dưới đây

Học lập trình Android

Sau đó bấm vào Đăng ký với dịch vụ sao lưu Android. Nó sẽ cung cấp cho bạn chìa khóa của bạn, cùng với mã AndroidManifest của bạn để sao chép. Chỉ cần sao chép chìa khóa. Nó được hiển thị dưới đây

Học android
Học Android
Khi bạn sao chép khóa, bạn cần phải viết mã đó trong tệp Android Manifest.XML của mình. 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ư tên bạn đã chỉ định trong thẻ backupAgent trong ứng dụng trong AndroidManifest.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, bằng cách sử dụng bmgr.

Cài đặt ứng dụng của bạn trên một hình ảnh hệ thống Android phù hợp.

Nếu sử dụng trình mô phỏng, 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 đang chạy Android 2.2 trở lên và đã tích hợp sẵn Google Play.

Đảm bảo sao lưu dữ liệu được bật

Nếu sử dụng trình mô phỏng, bạn có thể bật sao lưu bằng lệnh sau từ các công cụ / đường dẫn SDK của bạn

adb shell bmgr enable true 

Nếu sử dụng thiết bị, hãy mở Cài đặt hệ thống, chọn Bảo mật, sau đó bật Sao lưu dữ liệu của tôi và Khôi phục tự động.

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 sau

adb 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 đây.

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 có trong hàng đợi của nó.

Gỡ cài đặt và cài đặt lại ứng dụng của bạn

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

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...