• [zhuan]Android程序的真正入口Application


    http://blog.csdn.net/coding_or_coded/article/details/6602560

    接触android已经有一段时间了,一直以为android程序的入口是配置文件中指定的Activity,最近看一个开源项目,发现里面实现了android 的Application类,才知道,android程序的真正入口是Application类的onCreate方法。只不过大多数开发者无需重写该类,它的继承关系如下图:java.lang.Object
       ↳ android.content.Context
         ↳ android.content.ContextWrapper
           ↳ android.app.Application

    android.app.Application类包含了4个公开的方法
       void  onConfigurationChanged(Configuration newConfig)
       void  onCreate()  //这里才是真正的入口点。
       void  onLowMemory()
       void  onTerminate()

    下面是测试代码:
    使用application需要两个步骤:1.复写Application类,2.在配置文件中配置
    示例代码如下:
    MyApp类:

    package app.app;
    import android.app.Application;
    import android.content.res.Configuration;
    public class MyApp extends Application {
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
    }
    @Override
    public void onCreate() {
      super.onCreate();
      System.out.println("MyApp is called");
    }
    @Override
    public void onLowMemory() {
      super.onLowMemory();
    }
    @Override
    public void onTerminate() {
      super.onTerminate();
    }
    }



    配置文件:
    <application android:icon="@drawable/icon" android:label="@string/app_name"android:name="app.app.MyApp" >
      ......
    </application>

    Activity类:
    public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      System.out.println("MainActivity is called");
        
    }

    结果:MyApp is called       MainActivity is called   

      注释1:在Android中,Application只是一个松散的表征概念,没有多少实质上的表征[和J2me的Midlet有明显区别]。Application类,代表应用程序上下文状态,是一个极度弱化的概念。Application只是一个空间范畴的概念,Application就是Activity,Service之类的组件上下文描述。Application并不是Android的核心概念,而Activity才是Android的核心概念
    注释2:MyApplication类的作用是为了放一些全局的和一些上下文都要用到变量和方法。

  • 相关阅读:
    抱歉,我不接私单了
    MySQL大小写补坑记
    Go 系列教程 —— 第 15 部分:指针
    Go 系列教程 —— 14. 字符串
    Go 系列教程 —— 13. Maps
    Go 系列教程 —— 12. 可变参数函数
    Go 系列教程 —— 11. 数组和切片
    Go 系列教程 — 10. switch 语句
    Go 系列教程 — 9. 循环
    Go 系列教程 —— 8. if-else 语句
  • 原文地址:https://www.cnblogs.com/xunbu7/p/6824947.html
Copyright © 2020-2023  润新知