數(shù)據(jù)持久化:
由于更高優(yōu)先級Activity的跳轉(zhuǎn),沒有對當(dāng)前頁面數(shù)據(jù)的及時(shí)保存,導(dǎo)致原本已經(jīng)輸入的數(shù)據(jù)丟失。
通過打印日志,不然發(fā)現(xiàn):Activity的跳轉(zhuǎn)過程中,必須執(zhí)行onstop方法,而Activity的重現(xiàn),必須執(zhí)行OnStart方法,所有數(shù)據(jù)持久化,就是在onstop方法中,對數(shù)據(jù)進(jìn)行進(jìn)行保存
在OnStart方法中,對數(shù)據(jù)進(jìn)行讀取,并顯示在原來的位置上
接下來就是相應(yīng)的步驟:
1、在onstop方法中:
@Override
protected void onStop()
{
Log.e("MainActivity", "onStop");
super.onStop();
FileOutputStream fos=null;
try
{
fos=new FileOutputStream(PATH);
fos.write(et_account.getText().toString().getBytes());
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(fos!=null){
try
{
fos.close();
}
catch (IOException e)
{
Log.e("MainActivity", "關(guān)閉流失敗");
}
}
}
}
2、在onstart方法中:
@Override
protected void onStart()
{
Log.e("MainActivity", "onStart");
super.onStart();
FileInputStream fis=null;
StringBuffer buffer=new StringBuffer();
try
{
fis=new FileInputStream(PATH);
int len;
byte b[]=new byte[1024];
while(-1!=(len=fis.read(b))){
buffer.append(new String(b, 0,len));
}
et_account.setText(buffer.toString().trim());
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(fis!=null){
try
{
fis.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元湘陰做網(wǎng)站,已為上家服務(wù),為湘陰各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
3、最后別忘了加權(quán)限
如果在genymotion模擬器中,雖然不加權(quán)限也可以,但是在真機(jī)以及官方模擬器上面,不加權(quán)限就不能用了