Day04 Application 的使用

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"
  1. 获取全局对象
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()));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值