1. 關於app的數據保存
在開發過程中,我們需要將某些數據保存下來,比如一些設置信息以及一些用戶主動去保存的數據。待用戶下次打開應用時候,再自動載入這些信息。下面將介紹windows8開發中如何存儲數據。一.本地數據存儲在wp中我們使用IsolatedStorageSettings進行本地數據存儲,在win8中也提供類似的方法進行存儲,我們使用ApplicationData.Current.LocalSettings。下面將通過實例進行描述:在節目上添加姓名、年齡、性別三個控制項,代碼如下:1234567891011121314男15女161718192021222324新建類AppDataHelper.cs,引用命名空間usingWindows.Storage。我們將讀取和保存封裝成共通,方便調用。保存數據:1///2///保存數據3///4///數據類型5///鍵6///值7publicstaticvoidSave(stringkey,Tvalue)8{9ApplicationData.Current.LocalSettings.Values[key]=value;10}讀取數據:1///2///讀取數據3///4///數據類型5///鍵6///值7publicstaticTRead(stringkey)8{9if(ApplicationData.Current.LocalSettings.Values.ContainsKey(key))10{11return(T)ApplicationData.Current.LocalSettings.Values[key];12}13else14{15returndefault(T);16}17}刪除數據:1///2///移除數據3///4///鍵5///成功true/失敗false6publicstaticboolRemove(stringkey)7{8returnApplicationData.Current.LocalSettings.Values.Remove(key);9}我們只要在需要存儲或者讀取數據的地方進行調用,就可以了。1privatevoidbtnSave_Click(objectsender,RoutedEventArgse)2{3AppDataHelper.Save("name",txtName.Text.Trim());4AppDataHelper.Save("age",int.Parse(txtAge.Text.Trim()));5AppDataHelper.Save("sex",cbxSex.SelectedIndex);6}7privatevoidbtnRead_Click(objectsender,RoutedEventArgse)8{9txtName.Text=AppDataHelper.Read("name");10txtAge.Text=AppDataHelper.Read("age").ToString();11cbxSex.SelectedIndex=AppDataHelper.Read("sex");12}那麼我們保存的數據保存到哪裡去了呢?我們應該如何找到他們,別急,我們下面開始找保持的數據。打開C:\Users\\AppData\Local\Packages\\Settings\settings.dat,user_name對應當前登錄的用戶名,packpage對應此應用的唯一標識,在Package.appxmanifest中我們可以找到它:此文件為.dat後綴,我們需要用注冊表工具打開它,開始->運行(win+R鍵),輸入Regedit,在打開的窗口裡面選擇HKEY_LOCAL_MACHINE,然後選擇文件->載入配置單元,選擇settings.dat文件,打開填入項名稱,確定之後可以看到保存的數據會顯示在其中。雙擊name,打開,我們可以看到存儲的數據值。那麼我們是否能像wp那樣存儲一個對象到本地存儲呢,答案是否定的。win8中只能存儲一些簡單類型,如int、bool、string等下面有一個Person對象:1[DataContract]2publicclassPerson3{4[DataMember]5publicstringName{get;set;}6[DataMember]7publicintAge{get;set;}8[DataMember]9publicintSex{get;set;}10}進行存儲:1Personperson=newPerson()2{3Name=txtName.Text.Trim(),4Age=int.Parse(txtAge.Text.Trim()),5Sex=cbxSex.SelectedIndex6};7AppDataHelper.Save("person",person);此時會報錯,提示不支持此類型存儲。那麼我們應該如何存儲一個對象呢?下面我們將介紹文件存儲。二.文件存儲對於那些比較復雜的數據類型,我們需要將其存儲為文件的形式存儲在應用中。StorageFile的存儲,以文件的形式進行存儲存入數據。新建一個類,LocalFileHelper.cs存儲文件:1///2///存儲數據///3///數據類型4///文件名稱5///數據6///無7publicasyncstaticTaskSave(stringfileName,Tdata)8{9//取得當前程序存放數據的目錄10StorageFolderfolder=Windows.Storage.ApplicationData.Current.LocalFolder;11//創建文件,如果文件存在就覆蓋12StorageFilefile=awaitfolder.CreateFileAsync(fileName,CreationCollisionOption.ReplaceExisting);13using(StreamnewFileStream=awaitfile.OpenStreamForWriteAsync())14{15DataContractSerializerser=newDataContractSerializer(typeof(T));16ser.WriteObject(newFileStream,data);17newFileStream.Dispose();18}19}讀取文件:1///2///讀取數據3///4///數據類型5///文件名稱6///數據7publicasyncstaticTaskRead(stringfileName)8{9Tt=default(T);10try11{12StorageFolderfolder=Windows.Storage.ApplicationData.Current.LocalFolder;13StorageFilefile=awaitfolder.GetFileAsync(fileName);14if(file==null)15returnt;16StreamnewFileStream=awaitfile.OpenStreamForReadAsync();17DataContractSerializerser=newDataContractSerializer(typeof(T));18t=(T)ser.ReadObject(newFileStream);19newFileStream.Dispose();20returnt;21}22catch(Exception)23{24returnt;25}26}刪除文件:1///2///刪除文件3///4///文件名稱5///成功true/失敗(stringfileName)7{8StorageFolderfolder=Windows.Storage.ApplicationData.Current.LocalFolder;9StorageFilefile=awaitfolder.GetFileAsync(fileName);10if(file!=null)11{12try13{14awaitfile.DeleteAsync();15}16catch(Exception)17{18returnfalse;19}20}21returntrue;22}使用方法:1Personperson=newPerson()2{3Name=txtName.Text.Trim(),4Age=int.Parse(txtAge.Text.Trim()),5Sex=cbxSex.SelectedIndex6};78awaitLocalFileHelper.Save("person.xml",person);910Listlist=newList();11list.Add(person);12list.Add(person);13awaitLocalFileHelper.Save("personList.xml",list);141516PersonnewPerson=awaitLocalFileHelper.Read("person.xml");17ListpersonList=awaitLocalFileHelper.Read("personList.xml");文件在哪裡?同樣我們打開C:\Users\user_name\AppData\Local\Packages\package\LocalState文件夾,下面就有我們保持的文件,打開文件,保存文件的內容格式為xml:27BetterChaner0三.使用Sqlite進行數據存儲Sqlite現已提供對WindowsRT和Windows8Metro應用的支持.首先,在工具,選擇擴展與更新中,選擇聯機,在搜索框內輸入sqlite,找到SQLiteforWindowRuntime,下載安裝。安裝完成之後重啟VS,右擊項目添加引用,選擇Windows->擴展,找到Mircosoftvisualc++runtimepackage和sqliteforwindowsruntime,打勾,確定。由於目前Sqlite不支持AnyCPU,所以我們將項目改成X64,右擊解決方案,屬性,修改之。然後右擊引用,選擇管理Nuget程序包,聯機搜索sqlite-net,下載安裝。我們發現項目工程中多了2個類文件,SQLite.cs和SQLiteAsync.cs基本操作:1//創建資料庫2stringdbRootPath=Windows.Storage.ApplicationData.Current.LocalFolder.Path;3SQLiteConnectiondb=newSQLiteConnection(Path.Combine(dbRootPath,"myApp.sqlite"));45//創建表6db.CreateTable();78//插入一條數據9db.Insert(newPerson(){Name="BetterChaner",Age=27,Sex=1});1011//插入多條數據12Listlist=newList();13list.Add(newPerson(){Name="Zhangsan",Age=27,Sex=1});14list.Add(newPerson(){Name="Lisi",Age=32,Sex=0});15list.Add(newPerson(){Name="Wangwu",Age=24,Sex=1});16db.InsertAll(list);1718//查詢數據19Listlist2=db.Query("select*fromPerson");2021//更新數據22SQLiteCommandcmd=db.CreateCommand("updatePersonsetAge=21whereName='Lisi'");23cmd.ExecuteNonQuery();2425//刪除一條數據26db.Delete(newPerson(){Name="Zhangsan",Age=27,Sex=1});27//刪除全部數據28db.DeleteAll();數據存儲的位置為:C:\Users\\AppData\Local\Packages\\LocalState\文件夾下的myApp.sqlite四.SqlCE有了Sqilte,SqlCE不太經常會用到了,在這里就不寫出實例了,與wp中類似。小結以上為windowsstoreapp開發中可以使用的幾種存儲數據的方式,可以根據數據大小、作用以及類型選擇應該使用哪一種存儲方式。
2. 怎樣找到安卓手機app應用數據所在的位置
打開文件管理,依次點擊【分類】>>【應用】。選擇要查看的app,例如「網路」,然後長按。點擊底部的【詳情】,即可看到app的存儲位置。
工具/原料:
華為手機榮耀Play4T Pro
Android版本10
1、打開文件管理。
3. iphone手機app數據放在哪裡
iPhone是美國蘋果公司旗下研發的智能手機系列,它搭載蘋果公司研發的iOS手機作業系統。那麼我們在上面下載的文件存在哪裡哪裡,下面就來說一下文件儲存在哪。
工具/原料
iPhone6
設置
方法/步驟
解鎖iphone6手機至主屏幕頁面後打開」App Store「。就可以在手機里直接下載文檔。
4. 小程序數據存放在哪裡
小程序數據存放的位置是:
1、小程序數據存放在哪裡是分情況的,對於短生命周期數據存儲來說,主要是以小程序啟動到徹底關閉為周期的數據,會存儲在app.js文件夾中。
2、而對於長生命周期或者隱私數據存儲來說,小程序關閉後即便再重啟數據依舊會存在的,或者說涉及到用戶的隱私肆春源信息並且需要重復使用,因此數據是存數在本地緩存的。
3、對於動態信息或配置信息存儲來說,這種小程序是需要保存用戶的配置信息的,而且在用戶更換了手機之裂態後森脊也是能夠迅速完成配置同步的,因此數據是保存在後端伺服器中的。
資料拓展:2016年1月11日,2016微信公開課PRO版在廣州舉行,「微信之父」張小龍首次公開演講,宣布微信公眾號將推出「應用號」,通過公眾號完成一些App的部分功能。2016年11月3日晚間,微信團隊宣布:微信小程序正式開放公測。
5. 安卓手機里的軟體的數據是存儲在哪的
1、安卓系統手機默認只能把軟體安裝在手機內存里;
2、手機ROM相當於PC上的硬碟,用於存儲手機操作系統和軟體,也叫FLASH
ROM,決定手機存儲空間的大小。手機RAM相當於PC的內存,其大小決定手機的運行速度;
3、Android系統中把軟體安裝到SD卡上,比這還簡單,兩步就夠了:
第一步、存儲卡分區
需要對手機SD卡進行分區,分一個FAT32分區和一個Ext3分區,FAT32分區用於正常存儲圖片、音樂、視頻等資料,而Linux格式的Ext3分區就是用於擴容安裝軟體的分區。
第二步、將軟體移動到SD卡
需要把系統默認的軟體安裝目錄/data/app轉移到SD卡的Ext3分區上,通過ln命令建立軟鏈接,使系統自動把軟體安裝到SD卡上,達到節省手機內存空間的目的。
將存儲卡裝回手機,重新啟動,使系統識別到Ext3分區。
4、在手機上運行超級終端,依次輸入以下命令來驗證系統是否識別了Ext3分區:
su
(會提示高級許可權授權,選擇「總是同意」)
busybox
df
–h
如果顯示的列表中有/dev/block/mmcblk0p2的信息說明系統已成功識別了Ext3分區。
然後依次輸入以下命令將/data/app目錄轉移到SD卡的Ext3分區:
cp
–a
/data/app
/system/sd/
(將/data/app目錄復制到/system/sd/下)
rm
–r
/data/app
(刪除/data/app目錄)
ln
–s
/system/sd/app
/data/app
(建立軟鏈接)
Reboot
(重啟手機)
重啟之後,手機上安裝的所有軟體就全部轉移到了SD卡上。
注意:
1.軟體移動到SD卡上後,原有的部分桌面插件會無法正常顯示,刪除後,重新加入桌面即可;
2.SD卡的Ext3分區可以視為手機硬體的一部分,移除SD卡後,安裝的軟體將無法運行。插入SD卡,重新啟動手機即可正常使用。