Android学习之Application全局数据共享
来源:互联网 发布:徐州淘宝产品摄影 编辑:程序博客网 时间:2024/05/24 04:55
Application全局数据共享
Application
在Android中有一个名为Application的类,我们可以在Activity中使用getApplication()方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题、资源文件中的内容等等,这个类有一个灵活的特性就是可以被我们继承,来添加我们自己的全局属性。
例如:下面的例子我们实现了一个字符串的全局共享
1.编写一个Application的子类
public class App extends Application{ private String textData = "default"; public String getTextData() { return textData; } public void setTextData(String textData) { this.textData = textData; }}
2.在manifest.xml文件里面修改
<application android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="Main1" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
说明:
我们在上面中添加了一句: android:name=".App",其中App是为Application的子类
3.在第一个Activity
public class MainActivity extends AppCompatActivity { private TextView tv; private EditText ev; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); tv = (TextView)findViewById(R.id.textView); ev = (EditText)findViewById(R.id.editText); tv.setText("共享数据是:"+getApp().getTextData()); findViewById(R.id.savebutton).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getApp().setTextData(ev.getText().toString()); tv.setText("共享数据是:"+getApp().getTextData()); Intent i = new Intent(MainActivity.this,Main2.class); startActivity(i); } }); } public App getApp(){ return (App)getApplicationContext(); }}
4.在第二个Activity
public class Main2 extends Activity { private TextView tv; private EditText ev; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); tv = (TextView)findViewById(R.id.textView); ev = (EditText)findViewById(R.id.editText); tv.setText("共享数据是:"+getApp().getTextData()); findViewById(R.id.savebutton).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getApp().setTextData(ev.getText().toString()); tv.setText("共享数据是:"+getApp().getTextData()); Intent i = new Intent(Main2.this,MainActivity.class); startActivity(i); } }); } public App getApp(){ return (App)getApplicationContext(); }}
0 0
- Android学习之Application全局数据共享
- android 共享全局数据-Application
- android 通过Application类 共享全局数据
- Android--- 利用Application实现全局数据共享
- Android ---Application 开发中共享全局数据
- Android Application 类共享全局数据
- Android ---Application 开发中共享全局数据
- android 通过Application类 共享全局数据
- 数据共享之Android中用Application类实现全局数据变量的使用
- 利用Application共享全局数据
- android 共享全局数据
- Android 共享全局数据
- Android共享全局数据
- Android共享全局数据
- Android 共享全局数据
- android:Activity数据传递之全局对象(application)
- Android共享全局数据
- android 中application类的用法解释——共享全局数据
- oracle循环重复插入表数据
- Tomcat8.x 启动socket-->等待连接->解析出路由和sessionID
- Hibernate的初步总结
- ARM的中断向量表,及DCD伪指令
- linux C Obstack
- Android学习之Application全局数据共享
- win10-64位安装机器学习Theano包
- button重叠后的点击事件
- Android开发学习之路--RxAndroid之初体验
- 拓扑排序学习总结
- AbstractQueuedSynchronizer的实现分析(下)
- RHEL 6.5系统安装配置图解教程(rhel-server-6.5)
- Java之线程(继承)
- 《编码的奥秘》目录摘要及读书笔记