[学习笔记]Application用途
来源:互联网 发布:unity3d粒子系统爆炸 编辑:程序博客网 时间:2024/06/07 08:54
以下内容纯粹为本人学习笔记【记录】之用,所听课程(Q群群友百度网盘提供)为极客学院一位老师所讲(老师大名我尚未知晓),如有侵权请告知。在此特别感谢这位老师录制的视频资料。
前言
多个组件之间数据共享,为此android提供了一种机制,Context可作为全局信息共享的桥梁。
结构
效果
实现步骤
步骤1 开始工作
自定义Application,即新建App.java
public class App extends Application{ private String textData = "default"; public void setTextData(String textData) { this.textData = textData; } public String getTextData() { return textData; }
编写MainActivity
public class MainActivity extends AppCompatActivity { 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 view) { //保存的操作 ((App)getApplicationContext()).setTextData(editText.getText().toString()); textView.setText("共享的数据是:" +editText.getText().toString()); } }); } public App getApp() { return (App) getApplicationContext(); }}
新建Main2.java,但继承自Activity,其他代码和MainActivity.java一样
public class Main2 extends Activity{ private TextView textView; private EditText editText; @Override public 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 view) { //保存的操作 ((App)getApplicationContext()).setTextData(editText.getText().toString()); textView.setText("共享的数据是:" +editText.getText().toString()); } }); } public App getApp() { return (App) getApplicationContext(); }}
新建main1.xml和main2.xml,代码一样
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="TextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="Name" android:ems="10" android:id="@+id/editText" /> <Button android:text="保存" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnSaveData" /></LinearLayout>
步骤2 配置AndroiManifest.xml里application标签
<application android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" 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>
步骤3 推送运行APP,即可观看到效果
阅读全文
0 0
- [学习笔记]Application用途
- 《Application Creation》学习笔记
- 学习笔记(四):Application
- Application学习笔记
- sun Application Server 学习笔记
- WPF 学习笔记 - 1. Application
- WPF 学习笔记 - 1. Application
- Android Application Fundamentals 学习笔记
- Android笔记--对Content的理解和使用和Application的用途、生命周期
- Python学习笔记之else的特殊用途
- Android学习笔记(十四):关于intent的用途
- C++primer学习笔记-----6.5特殊用途语言特性
- Maven学习笔记(一)--用途、下载、安装
- Microsoft Application Blocks for .NET学习笔记
- Application Developer's Guide 学习笔记
- Application Block 2.0 的学习笔记
- Composite UI Application Block学习笔记之一
- 【MCTS】Application Development Foundation 学习笔记---
- tensorflow入门7 softmax函数和交叉熵损失函数
- RabbitMQ 常用命令
- 数据结构——队列——C++实现队列及其操作
- HDU3530(单调队列)
- LCS
- [学习笔记]Application用途
- java实现从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- XCode里的模拟器到底在哪里?我的App被放到哪里了?程序员需要知道的XCODE相关路径
- Django 内建 中间件组件
- Navicat Premium for Mac 中文破解版
- opencv3 特征检测与匹配及寻找目标
- 二分查找非递归与递归实现
- C++ : string 转 const char * 及 string 转 char *
- 不要靠巧合编程