[bmgr]android应用数据备份以及还原
生活随笔
收集整理的這篇文章主要介紹了
[bmgr]android应用数据备份以及还原
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
bmgr是一個(gè)shell工具你可以用來與備份管理器在Android設(shè)備(支持API級(jí)別8或更高)。它提供了命令來指導(dǎo)的備份和恢復(fù)操作,這樣你不需要反復(fù)清除數(shù)據(jù)或采取類似的侵入性的步驟來測(cè)試您的應(yīng)用程序的備份代理。這些命令是通過adb shell。?
使用備份操作?
通常,應(yīng)用程序必須通知備份管理器在它的數(shù)據(jù)已經(jīng)改變。通過dataChanged()。備份管理器將調(diào)用您的備份代理的onBackup()實(shí)現(xiàn)在未來某個(gè)時(shí)刻。如果調(diào)用dataChanged(),可以調(diào)用一個(gè)備份請(qǐng)求從命令行運(yùn)行bmgr備份命令。?
命令:?
adb shell bmgr backup <package>?
當(dāng)您執(zhí)行該備份命令,您的應(yīng)用程序的備份代理將調(diào)用來執(zhí)行備份操作在未來一段時(shí)間內(nèi)(通過你的onBackup()方法),盡管沒有保證當(dāng)它會(huì)發(fā)生。然而,您可以強(qiáng)制執(zhí)行所有沒有運(yùn)行的備份操作,通過使用bmgr運(yùn)行命令:?
命令:?
Adb shell bmgr run?
這個(gè)命令會(huì)導(dǎo)致所有調(diào)用備份代理的應(yīng)用程序的都備份。?
使用恢復(fù)操作?
恢復(fù)操作不像備份操作,這是成批的在一起運(yùn)行在一個(gè)偶然的基礎(chǔ)上,立即執(zhí)行恢復(fù)操作。備份管理器目前提供了兩種類型的恢復(fù)操作。?
第一種恢復(fù)整個(gè)裝置的數(shù)據(jù)備份。典型的表現(xiàn)只有當(dāng)一個(gè)設(shè)備是第一個(gè)提供(復(fù)制設(shè)置和其他保存的狀態(tài)從用戶之前的設(shè)備),是一個(gè)操作,只有系統(tǒng)可以執(zhí)行。?
第二種恢復(fù)操作單個(gè)應(yīng)用程序恢復(fù)到它的“活躍的”數(shù)據(jù)集;也就是說,應(yīng)用程序?qū)⒎艞壠洚?dāng)前數(shù)據(jù)和恢復(fù)到最后一次正確數(shù)據(jù),保存在當(dāng)前的備份映像。?
您可以調(diào)用第二個(gè)恢復(fù)操作與requestRestore()方法。備份管理器將調(diào)用您的備份代理的onRestore()實(shí)現(xiàn)。?
當(dāng)測(cè)試您的應(yīng)用程序,你可以立即調(diào)用恢復(fù)操作,繞過requestRestore()方法。使用bmgr恢復(fù)命令:?
adb shell bmgr restore <package>?
備份管理器將立即實(shí)例化應(yīng)用程序的備份代理和調(diào)用它來恢復(fù)。這將發(fā)生,即使應(yīng)用程序是當(dāng)前沒有運(yùn)行。?
其他命令:?
Wiping data(擦拭數(shù)據(jù))?
一個(gè)應(yīng)用程序的數(shù)據(jù)可以被清除從Activity數(shù)據(jù)集合中。這個(gè)操作非常有用,當(dāng)你在開發(fā)一個(gè)備份代理。以防錯(cuò)誤引導(dǎo)你寫錯(cuò)誤的數(shù)據(jù)或保存的狀態(tài)信息。你可以擦拭一個(gè)應(yīng)用程序的數(shù)據(jù)與bmgr擦拭命令:?
adb? shell? bmgr? wipe <package>?
接下來的備份操作應(yīng)用程序的代理進(jìn)程將看起來好像應(yīng)用程序從未支持任何東西之前。?
查看backup(備份)是否可用?
adb shell bmgr enabled?
如果備份操作可用的,如果您的應(yīng)用程序的備份代理是從未被調(diào)用備份,以驗(yàn)證操作系統(tǒng)是否認(rèn)為它應(yīng)該執(zhí)行這些操作。?
你也可以直接禁用或啟用備份管理器:?
adb shell bmgr enable <boolean>?
警告!?
當(dāng)備份是禁用的,當(dāng)前的備份運(yùn)輸將明確地擦拭Activity中的數(shù)據(jù)。如果當(dāng)一個(gè)用戶說他們不希望他們的數(shù)據(jù)備份,備份管理器方面希望。則沒有新的數(shù)據(jù)將被保存從設(shè)備,沒有恢復(fù)操作將成為完成恢復(fù)操作。除非備份管理器是重新啟用(通過設(shè)置或通過以上bmgr命令)。
使用備份操作?
通常,應(yīng)用程序必須通知備份管理器在它的數(shù)據(jù)已經(jīng)改變。通過dataChanged()。備份管理器將調(diào)用您的備份代理的onBackup()實(shí)現(xiàn)在未來某個(gè)時(shí)刻。如果調(diào)用dataChanged(),可以調(diào)用一個(gè)備份請(qǐng)求從命令行運(yùn)行bmgr備份命令。?
命令:?
adb shell bmgr backup <package>?
當(dāng)您執(zhí)行該備份命令,您的應(yīng)用程序的備份代理將調(diào)用來執(zhí)行備份操作在未來一段時(shí)間內(nèi)(通過你的onBackup()方法),盡管沒有保證當(dāng)它會(huì)發(fā)生。然而,您可以強(qiáng)制執(zhí)行所有沒有運(yùn)行的備份操作,通過使用bmgr運(yùn)行命令:?
命令:?
Adb shell bmgr run?
這個(gè)命令會(huì)導(dǎo)致所有調(diào)用備份代理的應(yīng)用程序的都備份。?
使用恢復(fù)操作?
恢復(fù)操作不像備份操作,這是成批的在一起運(yùn)行在一個(gè)偶然的基礎(chǔ)上,立即執(zhí)行恢復(fù)操作。備份管理器目前提供了兩種類型的恢復(fù)操作。?
第一種恢復(fù)整個(gè)裝置的數(shù)據(jù)備份。典型的表現(xiàn)只有當(dāng)一個(gè)設(shè)備是第一個(gè)提供(復(fù)制設(shè)置和其他保存的狀態(tài)從用戶之前的設(shè)備),是一個(gè)操作,只有系統(tǒng)可以執(zhí)行。?
第二種恢復(fù)操作單個(gè)應(yīng)用程序恢復(fù)到它的“活躍的”數(shù)據(jù)集;也就是說,應(yīng)用程序?qū)⒎艞壠洚?dāng)前數(shù)據(jù)和恢復(fù)到最后一次正確數(shù)據(jù),保存在當(dāng)前的備份映像。?
您可以調(diào)用第二個(gè)恢復(fù)操作與requestRestore()方法。備份管理器將調(diào)用您的備份代理的onRestore()實(shí)現(xiàn)。?
當(dāng)測(cè)試您的應(yīng)用程序,你可以立即調(diào)用恢復(fù)操作,繞過requestRestore()方法。使用bmgr恢復(fù)命令:?
adb shell bmgr restore <package>?
備份管理器將立即實(shí)例化應(yīng)用程序的備份代理和調(diào)用它來恢復(fù)。這將發(fā)生,即使應(yīng)用程序是當(dāng)前沒有運(yùn)行。?
其他命令:?
Wiping data(擦拭數(shù)據(jù))?
一個(gè)應(yīng)用程序的數(shù)據(jù)可以被清除從Activity數(shù)據(jù)集合中。這個(gè)操作非常有用,當(dāng)你在開發(fā)一個(gè)備份代理。以防錯(cuò)誤引導(dǎo)你寫錯(cuò)誤的數(shù)據(jù)或保存的狀態(tài)信息。你可以擦拭一個(gè)應(yīng)用程序的數(shù)據(jù)與bmgr擦拭命令:?
adb? shell? bmgr? wipe <package>?
接下來的備份操作應(yīng)用程序的代理進(jìn)程將看起來好像應(yīng)用程序從未支持任何東西之前。?
查看backup(備份)是否可用?
adb shell bmgr enabled?
如果備份操作可用的,如果您的應(yīng)用程序的備份代理是從未被調(diào)用備份,以驗(yàn)證操作系統(tǒng)是否認(rèn)為它應(yīng)該執(zhí)行這些操作。?
你也可以直接禁用或啟用備份管理器:?
adb shell bmgr enable <boolean>?
警告!?
當(dāng)備份是禁用的,當(dāng)前的備份運(yùn)輸將明確地擦拭Activity中的數(shù)據(jù)。如果當(dāng)一個(gè)用戶說他們不希望他們的數(shù)據(jù)備份,備份管理器方面希望。則沒有新的數(shù)據(jù)將被保存從設(shè)備,沒有恢復(fù)操作將成為完成恢復(fù)操作。除非備份管理器是重新啟用(通過設(shè)置或通過以上bmgr命令)。
總結(jié)
以上是生活随笔為你收集整理的[bmgr]android应用数据备份以及还原的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WWDC 2013 Session笔记
- 下一篇: 单链表实现