Application应用共享数据

来源:互联网 发布:2017淘宝打折怎么设置 编辑:程序博客网 时间:2024/05/18 02:13

Application的onCreate()早于Activity的onCreate()初始化.

1.在application内加入android:name=".App",让App类作为全局上下文

2.将两个activity都设置为LAUNCH

manifest配置:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.wjb.myapplication" >      <application        android:name=".App"        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name=".MainActivity"            android:label="Act1" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity            android:name=".Act"            android:label="Act2" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>
代码:
package com.example.wjb.myapplication;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import org.w3c.dom.Text;import java.io.Serializable;public class MainActivity extends Activity {    TextView tv;    EditText et;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv= (TextView) findViewById(R.id.textView1);        et= (EditText) findViewById(R.id.editText1);        tv.setText("共享数据"+((App)getApplicationContext()).getData());        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ((App)getApplicationContext()).setData(et.getText().toString());                tv.setText("共享数据"+et.getText().toString());            }        });    }}
package com.example.wjb.myapplication;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;/** * Created by wjb on 2015/9/2. */public class Act extends Activity{    TextView tv;    EditText et;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.act);        tv= (TextView) findViewById(R.id.textView2);        et= (EditText) findViewById(R.id.editText2);        tv.setText("共享数据"+((App)getApplicationContext()).getData());        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ((App)getApplicationContext()).setData(et.getText().toString());                tv.setText("共享数据"+et.getText().toString());            }        });    }}

package com.example.wjb.myapplication;import android.app.Application;/** * Created by wjb on 2015/9/4. */public class App extends Application {    public String data = null;    public void setData(String data){        this.data=data;    }    public String getData() {        return data;    }}

0 0