Android學(xué)習(xí)筆記--通過Application傳遞數(shù)據(jù)代碼示例
在啟動(dòng)Application時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)PID,即進(jìn)程ID,所有的Activity就會(huì)在此主進(jìn)程上運(yùn)行。所以,在同一Application中所有的Activity都可以通過Activity.getApplication()方法獲取到同一個(gè)Application對(duì)象,繼承Application類,即可訪問自定義數(shù)據(jù)。
簡(jiǎn)單來說,使用Application傳遞數(shù)據(jù)步驟如下:
創(chuàng)建新class,取名MyApp,繼承android.app.Application父類,并在MyApp中定義需要保存的屬性,如:用戶名,用戶類型。
在Activity中,通過Activity.getApplication()方法獲取到MyApp對(duì)象(需要強(qiáng)制轉(zhuǎn)換),對(duì)其數(shù)據(jù)進(jìn)行操作。
修改AndroidManifest.xml文件中的application節(jié)點(diǎn)的android:name屬性(android:name=".MyApp")。
代碼示例
步驟一:
public class MyApp extends Application {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
setName("Dick");
}
}
步驟二:
public class MainActivity extends Activity {
private Button btn;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)this.findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myApp=(MyApp)getApplication();
myApp.setName("jack");
Intent intent=new Intent(MainActivity.this, otherActivity.class);
startActivity(intent);
}
});
}
}
步驟三:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.bgxt.staticchuandi"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:name=".MyApp"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="cn.bgxt.staticchuandi.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".otherActivity"/>
</application>
</manifest>
- Android package屬性、package name和Application ID三者的聯(lián)系及區(qū)別
- Android Application類的詳細(xì)介紹
- Android開發(fā) -- setTag的妙用和The key must be an application-specific resource id 異常
- Android開發(fā)中避免應(yīng)用無響應(yīng)的方法(Application Not Responding、ANR)
- Android獲取應(yīng)用程序名稱(ApplicationName)示例
- Android Application存取公共數(shù)據(jù)的實(shí)例詳解
相關(guān)文章
Android Webview與ScrollView的滾動(dòng)兼容及留白處理的方法
本篇文章主要介紹了Android Webview與ScrollView的滾動(dòng)兼容及留白處理的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Android實(shí)現(xiàn)點(diǎn)匯聚成字的動(dòng)態(tài)效果詳解
在引入?fl_chart?繪制圖表的時(shí)候,看到插件有下面這樣的動(dòng)效,隨機(jī)散亂的圓點(diǎn)最后組合成了?Flutter?的?Logo,挺酷炫的。本篇我們來探討類似的效果怎么實(shí)現(xiàn)2022-07-07android將圖片轉(zhuǎn)換存到數(shù)據(jù)庫(kù)再?gòu)臄?shù)據(jù)庫(kù)讀取轉(zhuǎn)換成圖片實(shí)現(xiàn)代碼
有時(shí)候我們想把圖片存入到數(shù)據(jù)庫(kù)中,盡管這不是一種明智的選擇,但有時(shí)候還是不得以會(huì)用到,下面說說將圖片轉(zhuǎn)換成byte[]數(shù)組存入到數(shù)據(jù)庫(kù)中去,并從數(shù)據(jù)庫(kù)中取出來轉(zhuǎn)換成圖像顯示出來2013-11-11WebView設(shè)置WebViewClient的方法
這篇文章主要介紹了 WebView設(shè)置WebViewClient的方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09Android Shader應(yīng)用開發(fā)之雷達(dá)掃描效果
這篇文章主要為大家詳細(xì)介紹了Android Shader應(yīng)用開發(fā)之雷達(dá)掃描效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Android 接收微信、QQ其他應(yīng)用打開第三方分享功能
這篇文章主要介紹了Android 接收微信、QQ其他應(yīng)用打開,第三方分享 ,思路很簡(jiǎn)單通過在AndroidManifest.xml注冊(cè)ACTION事件,在用于接收分享的Activity里面加接收代碼,感興趣的朋友可以一起學(xué)習(xí)下2022-11-11Android實(shí)現(xiàn)保存圖片到本地并在相冊(cè)中顯示
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)保存圖片到本地并在相冊(cè)中顯示的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03