zoukankan      html  css  js  c++  java
  • 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类型。

    五.运行结果

  • 相关阅读:
    常见字符编码扫盲(UTF,Unicode, GB2312) 四
    Ogre 实用技巧 四
    CEGUI中文显示问题的解决方法 四
    大幅革新 AMD下一代图形产品前瞻 四
    力争上游 ——我眼中的“计算机产业链” 四
    养成 SQL SERVER 的好习惯 四
    说说 Windows 中的中文字体 四
    Unicode字符集和多字节字符集关系 四
    各种电影 四
    [projectEuler.net]12
  • 原文地址:https://www.cnblogs.com/happygirl-zjj/p/4710009.html
Copyright © 2011-2022 走看看