• 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类型。

    五.运行结果

  • 相关阅读:
    【60.97%】【BZOJ 1925】 [Sdoi2010]地精部落
    【14.06%】【hdu 5904】LCIS
    【50.40%】【BZOJ 4553】[Tjoi2016&Heoi2016]序列
    【52.55%】【BZOJ 4520】K远点对
    洛谷——P2446 [SDOI2010]大陆争霸
    Python模块之re
    Docker从入门到实战
    分析增加站点权重的四大切入点(转载)
    远程桌面连接不上|windows server 2003 sp2 termdd.sys(转载)
    不同服务器数据库之间的数据操作(转载)
  • 原文地址:https://www.cnblogs.com/happygirl-zjj/p/4710009.html
Copyright © 2020-2023  润新知