加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 数据采集、建站、AI开发硬件、专属主机、云硬盘!
当前位置: 首页 > 教程 > 正文

Android下关于Application的使用

发布时间:2023-11-08 11:03:06 所属栏目:教程 来源:网络
导读:   Android下关于Application的使用



  1、Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 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;
 
  @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中不可以执行耗时操作,否则会影响程序的启动时间
 

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章