最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android不同activity之間共享數(shù)據(jù)解決方法

 更新時(shí)間:2012年11月23日 17:08:28   作者:  
最近做局域網(wǎng)socket連接問(wèn)題,要在多個(gè)activity之間公用一個(gè)socket連接,就在網(wǎng)上搜了下資料,感覺(jué)還是application方法好用,帖出來(lái)需要的朋友可以參考下
最近做局域網(wǎng)socket連接問(wèn)題,要在多個(gè)activity之間公用一個(gè)socket連接,就在網(wǎng)上搜了下資料,感覺(jué)還是application方法好用,帖出來(lái)分享下!
Android中在不同Activity中傳遞變量,通常使用Intent中Bundle添加變量的操作方法。
保存參數(shù)時(shí):
復(fù)制代碼 代碼如下:

Intent intent = new Intent();
intent.setClass(A.this, B.class);
Bundle bundle = new Bundle();
bundle.putString("name", "xiaozhu");
intent.putExtras(bundle);
startActivity(intent);

讀取參數(shù):
復(fù)制代碼 代碼如下:

Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
[java] view plaincopy
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");

不過(guò)在多個(gè)Activity中經(jīng)常使用同一變量時(shí),使用Bundle則比較麻煩,每次調(diào)用Activity都需要設(shè)置一次。
如想在整個(gè)應(yīng)用中使用,在java中一般是使用靜態(tài)變量,而在android中有個(gè)更優(yōu)雅的方式是使用Application context。
新建一個(gè)類(lèi),繼承自Application
復(fù)制代碼 代碼如下:

class MyApp extends Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}

在AndroidManifest.xml的application加個(gè)name屬性就可以了,如下面所示:
復(fù)制代碼 代碼如下:

<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">

使用時(shí):
復(fù)制代碼 代碼如下:

class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}

相關(guān)文章

最新評(píng)論

绥化市| 金湖县| 商洛市| 宁河县| 东乡| 托克逊县| 故城县| 湾仔区| 呼图壁县| 宜良县| 平湖市| 疏附县| 红原县| 克什克腾旗| 油尖旺区| 铁岭市| 贡嘎县| 九江县| 翁源县| 石柱| 聊城市| 昭觉县| 久治县| 垣曲县| 浦江县| 和龙市| 临高县| 蒙自县| 黎平县| 田东县| 宜阳县| 海阳市| 利川市| 东乡| 新巴尔虎左旗| 内乡县| 凌海市| 洪江市| 遂昌县| 连州市| 崇仁县|