2.遊戲資料的儲存
a.sharedpreference類
step1:sharedpreference類例項的獲取通過context.getsharedpreference(string name, int mode)
step 2:獲取儲存檔案中的值,有如下幾種方法
getfloat(string key,float defvalue)
getint(string key,intdefvalue)
getstring(string key,stringdefvalue)
getboolean(string key,boolean defvalue)
...其中key指的是不同儲存資料的索引值,defvalue指的是第一次讀取時的預設值
step 3:儲存資料,呼叫如下函式
sharedpreference.editor.putfloat(string key,float value).commit() 注意commit()提交必不可少
另外刪除資料可用
sharedpreference.editor.clear()進行清除
b.流檔案儲存fileoutputstream/fileinputstream 注意output和input都是相對於程式來說的,所以output即儲存,input即讀取
step 1:宣告儲存、讀取的檔案流和資料流(資料流對檔案流進行封裝,使得對檔案資料的讀寫更加方便)
fileoutputstream fos=null;
fileinputstream fis=null;
dataoutputstream dos=null;
datainputstream dis=null;
step 2:利用activity例項(即context)開啟檔案得到乙個寫入流或讀入流
fos=context.openfileoutput(string filename, int mode)
fis=context.openfileinput(string filename)
其中mode和上述sharedpreference類的context.getsharedpreference(string name, int mode)的mode相同
step 3:將檔案讀/寫流封裝到資料讀/寫流裡
dos=new dataoutputstream(fos);
dis=new datainputstream(fis);
step 4:利用資料讀/寫流讀/寫資料
dos.writeint(int value)
dis.readint();
或者直接利用檔案讀/寫流進行讀寫
fos.write(byte value);
fis.read(byte buffer);
step 5:捕獲異常,關閉檔案讀/寫流和資料讀/寫流
try{
catch(filenotfoundexception e)
catch(ioexception e)
finally{
try{
if(fos!=null)
fos.close();
if(fis!=null)
fis.close();
if(dos!=null)
dos.close();
if(dis!=null)
dis.close();
catch(ioexception e)
PCI開發備忘錄
1.基於fpga的pci匯流排影象採集卡的設計與實現 範赫南 1 配置了主模式單週期發數 l pcicr 2 0 111b,設定pci9054工作方式為主模式。2 dmpbam 1b,設定本地端處理器訪問pci匯流排為儲存器方式或io方式。3 dmrr fff0000oh,設定本地端處理器定址空間是...
C RDLC開發備忘錄
1.pageheader區域不能放table list控制項,如果需要顯示動態資訊,那麼可以通過引用body中的控制項值來顯示,但是注意,body控制項只能在某一頁顯示,翻到其他頁碼時,控制項值會為空。3.table控制項的filter表示式很奇怪,如果dataset表中的字段屬性為int,filt...
遊戲設計 備忘錄模式
備忘錄最常見在遊戲中的進度儲存,在打boss之前先儲存當前進度,當在打鬥中掛掉了,則從之前的進度中恢復,從而達到無限打boss,而打不死boss的死迴圈中,備忘錄模式 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件外進行儲存,並能夠恢復到原先儲存狀態。所以,抽出來三個物件 origina...