用Application() 实现同一个程序下数据共享
2015-11-22 20:36
399 查看
1、 第一个布局文件main1.xml
一个TextView 用来显示保存的信息
一个EditText 用来编辑准备保存的信息
一个Button用来执行保存信息这个操作
2、第二个布局文件main2.xml
控件和第一个布局文件一样
3、创建一个java文件App.java
设置一个字符串,get的set方法
4、创建java文件main1.java
5、创建java文件main2.java
6 、在Manifest.xml注册两个activity
两个LAUNCHER两个都会启动
一个TextView 用来显示保存的信息
一个EditText 用来编辑准备保存的信息
一个Button用来执行保存信息这个操作
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" android:id="@+id/btnSaveData"/> </LinearLayout>
2、第二个布局文件main2.xml
控件和第一个布局文件一样
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" android:id="@+id/btnSaveData"/> </LinearLayout>
3、创建一个java文件App.java
设置一个字符串,get的set方法
public class App extends Application{ private String textData = "default"; public void setTextData(String textData) { this.textData = textData; } public String getTextData() { return textData; } }
4、创建java文件main1.java
<pre style="font-family: 'Courier New'; font-size: 12pt; background-color: rgb(255, 255, 255);"><pre name="code" class="java">public class Main1 extends ActionBarActivity { private TextView textView; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); textView = (TextView) findViewById(R.id.textView); editText = (EditText) findViewById(R.id.editText); textView.setText("共享的数据是:" + getApp().getTextData()); findViewById(R.id.btnSaveData).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ((App)getApplication()).setTextData(editText.getText().toString()); textView.setText("共享的数据是:"+editText.getText().toString()); } }); } public App getApp(){ return (App) getApplication(); } }
5、创建java文件main2.java
public class Main2 extends Activity{ 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("共享的数据是:" + getApp().getTextData()); findViewById(R.id.btnSaveData).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ((App) getApplication()).setTextData(editText.getText().toString()); textView.setText("共享的数据是:" + editText.getText().toString()); } }); } public App getApp(){ return (App) getApplication(); } }
6 、在Manifest.xml注册两个activity
两个LAUNCHER两个都会启动
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ljaer.learncontext" > <application android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".Main1" 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> </manifest>
相关文章推荐
- Android margin 与 padding的区别
- swift学习笔记->泛型
- appium for iOS config
- Android中SQLite数据库查看及导入导出
- Android官方文档阅读之旅——Introduction to Android
- Android 和 iOS 图片资源对标
- Android Volley完全解析(一),初识Volley的基本用法
- Android数据库--Sqlcipher的使用(二)
- 关于南通大学教务管理系统微信公众号的个人看法
- android 4.4 Launcher2源码分析--Workspace滑动
- iOS ViewController之间传值方法四(利用Delegate)
- Android Studio安装与使用最详细的图解教程
- Unity3D 处于Camera跟随游戏对象后面拍摄的方法
- 作百度地图定位时,location.getAddrStr()获取到的值一直为空的问题
- ios实现简单的键盘回收的方法
- cocos2d popSceneWithTransition()方法
- 如何在Cocos2D游戏中实现A*寻路算法(八)
- 如何在Cocos2D游戏中实现A*寻路算法(八)
- 如何在Cocos2D游戏中实现A*寻路算法(八)
- Android开发手记(31) 使用MediaRecorder录音