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

    五.运行结果

  • 相关阅读:
    构建简单的二叉树(C)
    C指針淺析(3)
    C語言函數
    C# 細節(2)
    如何做好软件架构设计
    C# 細節(1)
    .NET Framework格式化字符串
    Windows下通过删除硬盘分区直接强行移除Fedora后恢复Windows启动项的方法
    DreamWeaver使用技巧学习心得
    MyEclipse使用心得、快捷键、设置
  • 原文地址:https://www.cnblogs.com/happygirl-zjj/p/4710009.html
Copyright © 2011-2022 走看看