android遊戲開發備忘錄

2021-06-18 02:10:44 字數 1759 閱讀 7989

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...