方法是創(chuàng)建一個屬于你自己的android.app.Application的子類,然后在manifest中申明一下這個類,這是android就為此建立一個全局可用的實例,你可以在其他任何地方使用Context.getApplicationContext()方法獲取這個實例,進而獲取其中的狀態(tài)(變量)。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、襄陽網(wǎng)站維護、網(wǎng)站推廣。
給個例子:
可以按以下步驟進行:
Android應(yīng)用的數(shù)據(jù)庫一般都是私有的,其他應(yīng)用無法訪問,那么怎么在手機已root的前提下,在自己的應(yīng)用中讀取指定應(yīng)用中的數(shù)據(jù)信息呢,現(xiàn)提供一種思路。
以uc瀏覽器歷史瀏覽記錄為例:
一:對手機進行root。
某些廠家的Android設(shè)備是支持在系統(tǒng)設(shè)置中一鍵root的,如魅族手機。更通用的情況下一般是用第三方軟件進行root,如KingRoot。
二:在手機上安裝RootExplorer。
RootExplorer是在Android上使用很方便的文件瀏覽器,借用它,我們可以找到uc瀏覽器的歷史記錄數(shù)據(jù)庫所在為data/data/com.UCMobile/databases/history/history。
三:將數(shù)據(jù)庫文件復(fù)制到sd卡指定目錄。
四:從sd卡數(shù)據(jù)庫文件中讀取數(shù)據(jù)。
五:將數(shù)據(jù)加載到Recyclerview中展示。
至此,我們已經(jīng)實現(xiàn)了在自己應(yīng)用中讀取其他應(yīng)用數(shù)據(jù)庫數(shù)據(jù)的一個完整過程,誠然這種方式存在許多局限性,但不失為解決方案的一種。
在本應(yīng)用中保存數(shù)據(jù)。
//實例化SharedPreferences對象(第一步)?
SharedPreferences?mySharedPreferences=?getSharedPreferences("test",Activity.MODE_WORLD_READABLE);
//MODE_WORLD_READABLE:表示當(dāng)前文件可以被其他應(yīng)用讀取
//MODE_WORLD_WRITEABLE:表示當(dāng)前文件可以被其他應(yīng)用寫入。
//實例化SharedPreferences.Editor對象(第二步)?
SharedPreferences.Editor?editor?=?mySharedPreferences.edit();?
//用putString的方法保存數(shù)據(jù)?
editor.putString("name",?"我是name的數(shù)據(jù)");?
editor.putString("name2",?"我是name2的數(shù)據(jù)");?
//提交當(dāng)前數(shù)據(jù),提交以后數(shù)據(jù)才真正保存
editor.commit()
2.在其他應(yīng)用中獲取數(shù)據(jù)
SharedPreferences?mySharedPreferences?=?getSharedPreferences("test",Activity.MODE_WORLD_READABLE);
//通過名稱name獲取存儲的值,如果這個那么沒有存過值,就顯示第二個參數(shù)的默認(rèn)值。
mySharedPreferences.getString("name",?"如果name不存在那么顯示我這個默認(rèn)值");
mySharedPreferences.getString("name2",?"如果name2不存在那么顯示我這個默認(rèn)值");
在Android中,我們的應(yīng)用有的時候需要對外提供數(shù)據(jù)接口,可以有如下幾種方法:1)AIDL 2)Broadcast 3)ContentProvider。
使用AIDL需要我們編寫AIDL接口以及實現(xiàn),而且對方也要有相應(yīng)的接口描述,有點麻煩;使用Broadcast,我們不需要任何接口描述,只要協(xié)議文檔就可以了,但是有點不好就是,這種方式不直接而且是異步的;使用ContentProvider我們不需要接口描述,只需要知道協(xié)議,同時這種方式是同步的,使用方便。
Android提供了ContentProvider,一個程序可以通過實現(xiàn)一個Content provider的抽象接口將自己的數(shù)據(jù)完全暴露出去,而且Content providers是以類似數(shù)據(jù)庫中表的方式將數(shù)據(jù)暴露。Content providers存儲和檢索數(shù)據(jù),通過它可以讓所有的應(yīng)用程序訪問到,這也是應(yīng)用程序之間唯一共享數(shù)據(jù)的方法。要想使應(yīng)用程序的數(shù)據(jù)公開化,可通過2種方法:創(chuàng)建一個屬于你自己的Content provider或者將你的數(shù)據(jù)添加到一個已經(jīng)存在的Content provider中,前提是有相同數(shù)據(jù)類型并且有寫入Content provider的權(quán)限。
如何通過一套標(biāo)準(zhǔn)及統(tǒng)一的接口獲取其他應(yīng)用程序暴露的數(shù)據(jù)?Android提供了ContentResolver,外界的程序可以通過ContentResolver接口訪問ContentProvider提供的數(shù)據(jù)。
網(wǎng)站欄目:android共享數(shù)據(jù),android 共享數(shù)據(jù)
本文來源:http://chinadenli.net/article42/dsdsjhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、營銷型網(wǎng)站建設(shè)、虛擬主機、自適應(yīng)網(wǎng)站、商城網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)