溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Application的基本使用

發(fā)布時(shí)間:2020-04-10 21:04:05 來源:網(wǎng)絡(luò) 閱讀:298 作者:671076656 欄目:移動開發(fā)

Android下關(guān)于Application的使用

1、Application和Activity,Service一樣,是android框架的一個(gè)系統(tǒng)組件,當(dāng)android程序啟動時(shí)系統(tǒng)會創(chuàng)建一個(gè) application對象,用來存儲系統(tǒng)的一些信息。通常我們是不需要指定一個(gè)Application的,這時(shí)系統(tǒng)會自動幫我們創(chuàng)建,如果需要創(chuàng)建自己 的Application,也很簡單創(chuàng)建一個(gè)類繼承 Application并在manifest的application標(biāo)簽中進(jìn)行注冊(只需要給Application標(biāo)簽增加個(gè)name屬性把自己的 Application的名字定入即可)。

2、ndroid系統(tǒng)會為每個(gè)程序運(yùn)行時(shí)創(chuàng)建一個(gè)Application類的對象且僅創(chuàng)建一個(gè),所以Application可以說是單例 (singleton)模式的一個(gè)類.且application對象的生命周期是整個(gè)程序中最長的,它的生命周期就等于這個(gè)程序的生命周期。因?yàn)樗侨?的單例的,所以在不同的Activity,Service中獲得的對象都是同一個(gè)對象。所以通過Application來進(jìn)行一些,數(shù)據(jù)傳遞,數(shù)據(jù)共享 等,數(shù)據(jù)緩存等操作。


//創(chuàng)建一個(gè)DemoApplication類繼承Application實(shí)現(xiàn)onCreate()方法

public class DemoApplication extends Application{
public String name = "tom";
public void onCreate(){
super.onCreate();
Log.v("zd", "CustomApplication---------------onCreate");
setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}


//在需要使用的地方調(diào)用DemoApplication中的數(shù)據(jù),達(dá)到數(shù)據(jù)共享

public class MainActivity extends Activity {
private DemoApplication app;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v("zd", "MainActivity---------------onCreate");
app = (DemoApplication) getApplication();
Log.v("zd", app.getName());
}
protected void onStop() {
super.onStop();
Log.v("zd", "MainActivity---------------onStop");
}
protected void onDestory(){
super.onDestroy();
Log.v("zd", "MainActivity---------------onDestory");
}
}

//Manifest中在Application中增加name屬性即name="DemoApplication"

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test02"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:name="DemoApplication" >
        
        <activity
            android:name="com.example.test02.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>
    </application>
</manifest>

//注意在DemoApplication中不可以執(zhí)行耗時(shí)操作,否則會影響程序的啟動時(shí)間

Application的基本使用

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI