Application:
1.全局的对象,随着应用程序的销毁而销毁
2.使用Application在多个页面传递数据
使用场景:
A页面产生了数据, B , C, D页面想要去使用它
操作步骤:
1.创建子类 class MyApplication extends Application
2.在子类中创建属性,就是要传递的数据,设置 get /set方法
3. 在清单文件Androidmanifest.xml中的
android:name="com.yz.day05_04_applicationpassvalue.MyApplication"
- 获取全局对象
MyApplication application = (MyApplication) getApplication();
5.传递数据
application.setXXX();//设置内容
application.getXXX();//获取内容
二、实例演示
MyApplication.java
package com.yztc.day0703_wang_04;
import android.app.Application;
/**
* Created by My on 2016/7/3.
*/
public class MyApplication extends Application{
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
第二步:
在Androidmanifest.xml中注册
<application
android:name=".MyApplication"
第三步:
package com.yztc.day0703_wang_04;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText et_name,et_password;
private Button btn_login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponent();
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString();
String password = et_password.getText().toString();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(password)){
Toast.makeText(MainActivity.this,"用户名或密码输入为空",Toast.LENGTH_SHORT).show();
}else {
MyApplication application = (MyApplication) getApplication();
application.setName(name);
application.setPassword(password);
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
}
});
}
public void initComponent(){
et_name = (EditText) findViewById(R.id.et_name);
et_password = (EditText) findViewById(R.id.et_password);
btn_login = (Button) findViewById(R.id.btn_login);
}
}
接收共享数据页面处理:
package com.yztc.day0703_wang_04;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {
private TextView tv_show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
MyApplication app = (MyApplication) getApplication();
tv_show= (TextView) findViewById(R.id.tv_show);
tv_show.setText(String.format("name=%s\npassword=%s\n",app.getName(),app.getPassword()));
}
}