日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【記錄】Android中的Application

先定義一個(gè)Application

站在用戶的角度思考問題,與客戶深入溝通,找到屯溪網(wǎng)站設(shè)計(jì)與屯溪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋屯溪地區(qū)。

[[74707]]

package com.xesam;

import Android.app.Application;
import android.content.res.Configuration;
import android.util.Log;

public class ApplicationActivity extends Application {
    static String name = "小西山子";
    @Override
    public void onCreate() {
        Log.v("ApplicationActivity","onCreate");
        super.onCreate();
    }
    @Override
    public void onTerminate() {
        Log.v("ApplicationActivity","onTerminate");
        super.onTerminate();
    }
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        Log.v("ApplicationActivity","onConfigurationChanged");
        super.onConfigurationChanged(newConfig);
    }
    @Override
    public void onLowMemory() {
        Log.v("ApplicationActivity","onLowMemory");
        super.onLowMemory();
    }
}

[[74707]]

主要Activity:

[[74707]]

package com.xesam;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.v("MainActivity","onCreate");
        super.onCreate(savedInstanceState);
        
        ApplicationActivity app = (ApplicationActivity)this.getApplication();
        
        LinearLayout main = new LinearLayout(this);
        main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        main.setOrientation(LinearLayout.VERTICAL);
        TextView tv = new TextView(this);
        tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        tv.setText(app.name);
        tv.setTextColor(Color.BLUE);
        main.addView(tv);
        setContentView(main);
    }
    @Override
    public void onDestroy(){
        Log.v("MainActivity","onDestroy");
        super.onDestroy();
        //System.exit(0);
    }
}

[[74707]]

AndroidManifest.xml:

[[74707]]




    

    
        
            
                

                
            
        
    

[[74707]]

這里我們自定義了一個(gè)Application,所以必須指定AndroidManifest.xml中application的android:name屬性(默認(rèn)是android.app.Application)。

輸出結(jié)果:

"ApplicationActivity","onCreate"
"MainActivity","onCreate"
"MainActivity","小西山子"
"ApplicationActivity","onConfigurationChanged"

退出之后打印結(jié)果:

"MainActivity","onDestroy"

從模擬器再次開啟應(yīng)用(沒有再次編譯)之后,打印結(jié)果

"MainActivity","onCreate"
"MainActivity","小西山子"

所以后退的時(shí)候并沒有關(guān)閉application,要強(qiáng)制關(guān)閉application,可以在MainActivity的onDestroy中調(diào)用System.exit(0)

    @Override
    public void onDestroy(){
        Log.v("MainActivity","onDestroy");
        super.onDestroy();
        System.exit(0);
    }

這樣就完全退出程序了。

回到application的問題上來,顯然,application的onCreate在activity的onCreate之前執(zhí)行了,所以整個(gè)應(yīng)用的最初入口是這個(gè)方法。

onCreate作用說明:

[[74707]]

    /**
     * Called when the application is starting, before any other application
     * objects have been created.  Implementations should be as quick as
     * possible (for example using lazy initialization of state) since the time
     * spent in this function directly impacts the performance of starting the
     * first activity, service, or receiver in a process.
     * If you override this method, be sure to call super.onCreate().
     */

[[74707]]

可以認(rèn)為Activity,service以及其他的組件共同構(gòu)成了一個(gè)application的環(huán)境,因此application中可以共享或者初始化一些全局變量,比如地圖(百度地圖demo就是這么做的)。

注:eclipse查看源碼的方法:

下載android版本對應(yīng)的源碼【2.2版本地址:http://rgruet.free.fr/public/android-2.2-froyo-src.zip】

解壓縮到 /usr/local/android-sdk-linux/platforms/android-8下,然后修改同目錄下source.properties文件中的Pkg.SourceUrl為剛才解壓的源碼目錄就行了

一個(gè)示例(我下載的源碼放在/usr/local/android-sdk-linux/platforms/android-8/source目錄中,所以Pkg.SourceUrl=sources):

[[74707]]

### Android Tool: Source of this archive.
#Mon Apr 23 01:14:48 CST 2012
Layoutlib.Api=4
Layoutlib.Revision=0
Pkg.Desc=Android SDK Platform 2.2_r3
Archive.Arch=ANY
Platform.Version=2.2
Pkg.DescUrl=http\://developer.android.com/sdk/
Platform.MinToolsRev=8
Archive.Os=ANY
Pkg.SourceUrl=sources
Pkg.Revision=3
AndroidVersion.ApiLevel=8

[[74707]]

【編輯推薦】

  1. 通過Titanium將Metro UI移植到iOS/Android上
  2. Titanium中Android模塊開發(fā):@Kroll注解詳解
  3. tanium中Android模塊開發(fā):移植到1.8版本上

文章標(biāo)題:【記錄】Android中的Application
網(wǎng)址分享:http://www.dlmjj.cn/article/djcgosg.html