• Application的作用


    Application可实现数据共享

    例如:

    一.新建一个空的工程,并新建一个App类,继承自Application

    public class App extends Application {
        private String textData="default";
    
        public void setTextData(String textData) {
            this.textData = textData;
        }
    
        public String getTextData() {
            return textData;
        }
    }

    二.新建两个布局资源文件main1,main2,同时新建一个Main2类。main1.xml与main2.xml的内容相同,如下所示:

    三.重写Main2.java的onCreate函数(MainActivity同)

      private TextView textView;
        private EditText editText;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main2);
            textView = (TextView) findViewById(R.id.textView);
            editText = (EditText) findViewById(R.id.editText);
            textView.setText("The share data is "+getApp().getTextData());
            findViewById(R.id.btnSaveData).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ((App)getApplication()).setTextData(editText.getText().toString());//保存数据到Application
                    textView.setText("The share data is "+editText.getText().toString());
                }
            });
        }
    public App getApp(){
        return (App) getApplicationContext();
    }

    四.修改AndroidManifest配置文件

     <application
            android:name = ".App"//自定义的Aplication
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="Main1" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".Main2"
                android:label = "Main2">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    将两个Activity都定义为launcher类型。

    五.运行结果

  • 相关阅读:
    C# json提取多层嵌套到数组-- C# json 数组
    JS中的prototype
    JS_&&||
    js 匿名函数 js-函数定义方法
    js匿名函数确实是个好东西
    JavaScript:undefined!=false之解 及==比较的规则
    Sql 中常用日期转换Convert(Datetime) convert datetime
    jquery设置元素的readonly和disabled
    eWebEditor复制粘贴图片时过滤域名
    java构造函数使用方法总结
  • 原文地址:https://www.cnblogs.com/happygirl-zjj/p/4710009.html
Copyright © 2020-2023  润新知