Thứ Sáu, 15 tháng 2, 2019

Học 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 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. 

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
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ả
1onBackup (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
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 cấu hình
Các phương thức của lớp SharedPreferencesBackUpHelper được liệt kê bên dưới.

Không.Phương pháp & mô tả
1PerformanceBackup (ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
Sao lưu các nhóm SharedPreferences được 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ào kho lưu trữ tệp tùy chọn chia sẻ thích hợp của nó
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.

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

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

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