Application的基本使用

來源:互聯網
上載者:User

標籤:application

Android下關於Application的使用

1、Application和Activity,Service一樣,是android架構的一個系統組件,當android程式啟動時系統會建立一個 application對象,用來儲存系統的一些資訊。通常我們是不需要指定一個Application的,這時系統會自動幫我們建立,如果需要建立自己 的Application,也很簡單建立一個類繼承 Application並在manifest的application標籤中進行註冊(只需要給Application標籤增加個name屬性把自己的 Application的名字定入即可)。

2、ndroid系統會為每個程式運行時建立一個Application類的對象且僅建立一個,所以Application可以說是單例 (singleton)模式的一個類.且application對象的生命週期是整個程式中最長的,它的生命週期就等於這個程式的生命週期。因為它是全域 的單例的,所以在不同的Activity,Service中獲得的對象都是同一個對象。所以通過Application來進行一些,資料傳遞,資料共用 等,資料緩衝等操作。


//建立一個DemoApplication類繼承Application實現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;}}


//在需要使用的地方調用DemoApplication中的資料,達到資料共用

public class MainActivity extends Activity {private DemoApplication app;@Overrideprotected 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中不可以執行耗時操作,否則會影響程式的啟動時間

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/AF/wKioL1U0mDiBITExAADt2LfGYhc621.jpg" title="QQ20150420140156.png" alt="wKioL1U0mDiBITExAADt2LfGYhc621.jpg" />

本文出自 “爬過山見過海” 部落格,請務必保留此出處http://670176656.blog.51cto.com/4500575/1636012

Application的基本使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.