企业网站建设文案已备案个人网站做淘宝客

diannao/2026/1/16 4:48:48/文章来源:
企业网站建设文案,已备案个人网站做淘宝客,门户子网站建设申请,网站制作怎么报价单2.14 备份Android应用程序数据 Pratik Rupwal2.14.1 问题当用户恢复出厂设置或者改用新的Android设备时#xff0c;应用程序丢失存储数据或者应用程序设置。2.14.2 解决方案Android的Backup Manager#xff08;备份管理器#xff09;能够在应用程序重新安装时自动恢复备份数… 2.14 备份Android应用程序数据 Pratik Rupwal2.14.1 问题当用户恢复出厂设置或者改用新的Android设备时应用程序丢失存储数据或者应用程序设置。2.14.2 解决方案Android的Backup Manager备份管理器能够在应用程序重新安装时自动恢复备份数据或者应用程序设置。2.14.3 讨论Android的备份管理器本质上以两种模式运行——备份和恢复。在备份操作期间备份管理器BackuManager类询问应用程序所要备份的数据并将其放入一个备份传输中备份传输负责将数据发送到基于云的存储中。在恢复操作期间备份管理器从备份传输中读取备份数据并将其返回给应用程序以便将数据恢复到设备上。应用程序可以请求恢复但是在应用程序安装且与用户关联的备份数据存在时Android并不一定执行恢复操作。恢复备份数据主要发生在用户重置设备或者升级到新设备并且重新安装过去安装的应用程序时。例2-19展示了为应用程序实现备份管理器以保存应用程序当前状态的方法。以下是这一过程各个步骤的简单描述1 . 在Eclipse中创建BackupManagerExample项目。2 . 打开layout/backup_restore.xml文件并插入例2-19中的代码。3 . 打开values/string.xml文件并插入例2-20中的代码。4 . 清单文件看上去将类似于例2-21。5 . 例2-22中的代码完成了应用程序备份管理器的实现。例2-19备份/恢复布局 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:orientationverticalandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentScrollViewandroid:orientationverticalandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:layout_weight1LinearLayoutandroid:orientationverticalandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentTextView android:textstring/filling_textandroid:textSize20dpandroid:layout_marginTop20dpandroid:layout_marginBottom10dpandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/RadioGroup android:idid/filling_groupandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginLeft20dpandroid:orientationverticalRadioButton android:idid/baconandroid:textstring/bacon_label/RadioButton android:idid/pastramiandroid:textstring/pastrami_label/RadioButton android:idid/hummusandroid:textstring/hummus_label//RadioGroupTextView android:textstring/extras_textandroid:textSize20dpandroid:layout_marginTop20dpandroid:layout_marginBottom10dpandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/CheckBox android:idid/mayoandroid:textstring/mayo_textandroid:layout_marginLeft20dpandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/CheckBox android:idid/tomatoandroid:textstring/tomato_textandroid:layout_marginLeft20dpandroid:layout_widthmatch_parentandroid:layout_heightwrap_content//LinearLayout/ScrollView /LinearLayout例2-20示例使用的字符串 resourcesstring namehelloHello World, BackupManager!/stringstring nameapp_nameBackupManager/stringstring namefilling_textChoose Settings for your application:/stringstring namebacon_labelSound On/stringstring namepastrami_labelVibration On/stringstring namehummus_labelBacklight On/stringstring nameextras_textExtras:/stringstring namemayo_textUse Orientation?/stringstring nametomato_textUse Camera?/string /resources例2-21AndroidManifest.xml ?xml version1.0 encodingutf-8? manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.sym.backupmanagerandroid:versionCode1android:versionName1.0uses-sdk android:minSdkVersion9 /application android:labelBackup/Restore android:icondrawable/iconandroid:backupAgentExampleAgent !-- Here you specify the backup agent--!--Some backup transports may require API keys or other metadata--meta-data android:namecom.google.android.backup.api_keyandroid:valueINSERT YOUR API KEY HERE /activity android:name.BackupManagerExampleintent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activity /application /manifest例2-22备份/恢复活动 package com.sym.backupmanager; import android.app.Activity; import android.app.backup.BackupManager; import android.os.Bundle; import android.util.Log; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioGroup; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; public class BackupManagerExample extends Activity {static final String TAG BRActivity;static final Object[] sDataLock new Object[0];static final String DATA_FILE_NAME saved_data;RadioGroup mFillingGroup;CheckBox mAddMayoCheckbox;CheckBox mAddTomatoCheckbox;File mDataFile;BackupManager mBackupManager;Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.backup_restore);mFillingGroup (RadioGroup) findViewById(R.id.filling_group);mAddMayoCheckbox (CheckBox) findViewById(R.id.mayo);mAddTomatoCheckbox (CheckBox) findViewById(R.id.tomato);mDataFile new File(getFilesDir(), BackupManagerExample.DATA_FILE_NAME);mBackupManager new BackupManager(this);populateUI();}void populateUI() {RandomAccessFile file;int whichFilling R.id.pastrami;boolean addMayo false;boolean addTomato false;synchronized (BackupManagerExample.sDataLock) {boolean exists mDataFile.exists();try {file new RandomAccessFile(mDataFile, rw);if (exists) {Log.v(TAG, datafile exists);whichFilling file.readInt();addMayo file.readBoolean();addTomato file.readBoolean();Log.v(TAG, mayo addMayo tomato addTomato filling whichFilling);} else {Log.v(TAG, creating default datafile);writeDataToFileLocked(file,addMayo, addTomato, whichFilling);mBackupManager.dataChanged();}} catch (IOException ioe) {// 在这里进行错误处理}}mFillingGroup.check(whichFilling);mAddMayoCheckbox.setChecked(addMayo);mAddTomatoCheckbox.setChecked(addTomato);mFillingGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {public void onCheckedChanged(RadioGroup group,int checkedId) {Log.v(TAG, New radio item selected: checkedId);recordNewUIState();}});CompoundButton.OnCheckedChangeListener checkListener new CompoundButton.OnCheckedChangeListener() {public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {Log.v(TAG, Checkbox toggled: buttonView);recordNewUIState();}};mAddMayoCheckbox.setOnCheckedChangeListener(checkListener);mAddTomatoCheckbox.setOnCheckedChangeListener(checkListener);}void writeDataToFileLocked(RandomAccessFile file,boolean addMayo, boolean addTomato, int whichFilling)throws IOException {file.setLength(0L);file.writeInt(whichFilling);file.writeBoolean(addMayo);file.writeBoolean(addTomato);Log.v(TAG, NEW STATE: mayo addMayo tomato addTomato filling whichFilling);}void recordNewUIState() {boolean addMayo mAddMayoCheckbox.isChecked();boolean addTomato mAddTomatoCheckbox.isChecked();int whichFilling mFillingGroup.getCheckedRadioButtonId();try {synchronized (BackupManagerExample.sDataLock) {RandomAccessFile file new RandomAccessFile(mDataFile, rw);writeDataToFileLocked(file, addMayo, addTomato, whichFilling);}} catch (IOException e) {Log.e(TAG, Unable to record new UI state);}mBackupManager.dataChanged();} }数据备份不能保证在所有Android设备上可用。但是如果设备没有提供备份传输应用程序并不会受到不利影响。如果你相信用户将从应用程序的数据备份中获益就可以按照这个文档中描述的步骤实现、测试这一功能然后发布应用程序而不考虑设备是否实际执行备份。当应用程序在不提供备份传输的设备上运行时它将正常运作但是不会接受来自备份管理器的回调来备份数据。尽管你无法知道当前传输手段是什么但是始终可以确信备份数据不会被设备上的其他应用程序读取。只有备份管理器和备份传输有权访问备份操作中所提供的数据。警告 因为云存储和传输服务在不同的设备上可能有差别Android不能保证备份中的数据安全。在使用备份存储敏感数据如用户名和密码时应该始终保持警惕。测试你的备份代理实现备份代理之后可以使用bmgr命令按照如下步骤测试备份/恢复功能1 . 在合适的Android系统映像上安装你的应用程序。如果使用模拟器创建和使用带有Android 2.2API Level 8的AVD。如果使用真实设备设备必须运行Android 2.2或更高版本并内建Android Market。2 . 确保备份功能启用。如果使用的是模拟器可以从SDK tools/路径用如下命令启用备份功能adb shell bmgr enable true如果使用的是设备打开系统设置选择Privacy隐私然后启用“Back up my data” 备份我的数据和 “Automatic restore”自动恢复。3 . 打开应用程序并初始化某些数据。如果在你的应用程序中已经正常地实现了备份功能在每次数据改变时将要求备份。例如每当用户修改某些数据应用程序将会调用dataChanged()该方法在备份服务器队列中添加一个备份请求为了测试你也可以用如下的bmgr命令发出一个请求adb shell bmgr backup your.package.name4 . 初始化备份操作adb shell bmgr run这条命令强制备份管理器执行队列中的所有备份请求。5 . 卸载你的应用程序adb uninstall your.package.name6 . 重新安装应用程序。如果备份代理成功第4步中初始化的所有数据将被恢复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国建设网站官网网页设计报告需求分析

Java的Collection和Collections主要在以下三个方面存在区别: 角色与功能: Collection是一个集合接口,它为各种具体的集合提供了最大化的统一操作方式。它是Java集合框架中集合类的一个基本接口,包括List、Set、Queue等集合类的父…

做白酒的网站做毕业设计一个网站的数据来源

上午的时候看到有朋友需要微信推送,正好我也需要,之前一直用 Server 酱的,但是最近用不了,想找一个替代品,一开始准备选择钉钉,除了打卡,我很少使用钉钉,邮件提醒是备用方案&#xf…

dede手机网站更新酒店网站的开发及其设计方案

网络工程师之交换机配置单臂 ECHO 功能的 BFD 会话篇 配置单臂 ECHO 功能的 BFD 会话,实现对链路故障的快速检测 在支持BFD功能的路由上配置 bfd # 启用 BFD 功能;q退出 bfd atob bind peer-ip 10.1.1.2 interface gigabitEthernet1/0/0 one-…

做网站需要做优化吗欧美简约风格网站设计

今天在整个ssm的时候出现了个低级错误,找了好久才找出来,在发现真理的那一刻,我都有死的冲动了。 报错如下: HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalStateException: Optional int …

网站app开发哪家好营销型网站的设计框架

C程序由一组对象组成,这些对象包括程序中所使用的变量和实现特定功能的函数。变量可以分为函数内部定义、使用的变量和函数外部定义的变量,通常情况下,把函数内部定义、使用的变量称为内部变量或局部变量,而将在函数外部定义的、供…

左侧 导航 网站辽宁省住房和城乡建设部网站主页

密码学的基本概念 密码学(Cryptology): 研究信息系统安全保密的科学。 密码编码学(Cryptography): 研究对信息进行编码,实现对信息的隐蔽。 密码分析学(Cryptanalytics) : 研究加密消息的破译或消息的伪造。 消息被称为明文(Plaintext)。 用…

网站asp怎么没有菜单栏有了域名 怎么做网站

关于 提供了一个轻量级的图像压缩库。将允许您将大照片压缩成小 尺寸的照片,图像质量损失或可以忽略不计 compress 的依赖添加 为你的应用添加 compress-debug.har。将 compress-debug.har 复制到 entry\libs 目录下即可(由于 build.gradle 中已经依赖…

莆田网站开发公司电话网站开发学些什么

写在前面 如今,在项目中使用React、Vue等框架作为技术栈已成为一种常态,在享受带来便利性的同时,也许我们渐渐地遗忘原生js的写法。 现在,是时候回归本源,响应原始的召唤了。本文将一步一步带领大家封装一套属于自己的…

柳州做网站设计的公司无锡网站建设和

以下可以解决我的问题,请一步一步跟着做,有可能版本不一样就失败了 一、下载mqtt.js 前往蓝奏云 https://wwue.lanzouo.com/iQPdc1k50hpe 下载好后将.txt改为.js 然后放入项目里 二、连接mqtt const mqtt require(../../utils/mqtt.min); let cli…

花店网站建设方案南昌网站建设代理商

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

企业网站排版wordpress 黑

1.AAA 服务器 AAA 是验证、授权和记账(Authentication、Authorization、Accounting)3个英文单词的简称,是一个能够处理用户访问请求的服务器程序,提供验证授权以及帐户服务,主要目的是管理用户访问网络服务器,对具有访问权的用户提供服务。AAA服务器通常…

国外网站打开速度慢的原因网站做多少屏合适

最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大。如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要。shell或者python就能解决这个问题。由于我个人对于shell和python不是非常熟练的情况下,…

南昌网站搭建制作公司html5网站强制横屏

LibTooling(库工具) LibTooling是个支持基于Clang编写独立工具的库. 在此,为LLVM安装Clang工具 介绍 用LibTooling构建的工具(如Clang插件)通过代码运行FrontendActions. 这里演示运行Clang的快速检查一堆代码语法的SyntaxOnlyAction的不同方法. 解析内存中的代码片 如果想…

渠道推广费用咨询什么是网站优化

目录 正文之前1. 目的2. 原帖3. 为何推荐Notepad3.1. Notepad的一些基本特点3.2. notepad,notepad2,notepad,ultraEdit比较4. 使用Notepad前要了解的知识4.1. Notepad的名称和缩写4.2. Notepad修改设置后,立即生效4.3. Notepad的版…

网站开发与网页制作难不难什么网站招聘外国人做兼职

导读:随着信息科学技术的飞速发展,人们逐渐意识到对信息管理软件的运用可以使日常工作更加方便、快捷和高效。论文详细论述了公司合同管理系统的开发设计过程。软件采用JSP开发技术,Tomcat作容器, SQL Server 2000作数据库管理系统,实现了创建合同、修改合同、删除合同、合…

厦门门户网站制作服务商调整百度对网站的最大天级抓取频次值

开源操作系统社区 OpenCloudOS 由腾讯与合作伙伴共同倡议发起,是完全中立、全面开放、安全稳定、高性能的操作系统及生态。OpenCloudOS 沉淀了多家厂商在软件和开源生态的优势,继承了腾讯在操作系统和内核层面超过10年的技术积累,在云原生、稳…

网站建设技术支持牛商网中学生做网站的软件

目录 一、数组的概念 二、数组的类型 三、一维数组 3.1 一维数组的创建 3.2 一维数组的初始化 3.3 一维数组的访问 3.4 一维数组在内存中的存储 四、二维数组 4.1 二维数组的创建 4.2 二维数组的初始化 4.3 二维数组的访问 4.4 二维数组在内存中的存储 五、变长数组 六、…

网站设计的销售微信网页制作网站建设

动态规划 1、动态规划的概念 简称DP,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。 简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。然后把子问题答案保存起来,以减少重复计算…

网站建设找邓金平创业网站平台排名

今天听 \(\texttt{m}\color{red}{\texttt{yee}}\) 嘴的,赶紧来补个学习笔记。 PS:FFT 本质是长度为 \(2^k\) 的循环卷积。 单位根反演 反演本质: \[\frac1n\sum_{i0}^{n-1}\omega_{n}^{ai}[n|a] \]证明: 如果 \(n|i\),…

阜阳市城乡建设 档案馆网站wordpress主题商店

前言 DRY 原则,英文描述为: Don’t Repeat Yourself。中文直译:不要重复自己。将它应用在编程中,可理解为:不要写重读的代码。 可能你认为,这个原则很简单。只要两段代码长得一样,那就是违反 …