关于Application保存全局变量

2016-05-29  本文已影响1415人  JUNE言JUNE语

关于全局变量Application

继承application的MyApplication,是Android中的一个全局变量。举个最简单的例子,一个包含有登录功能的app,在登录之后可以将用户信息放在MyApplication中,之后不管跳转到哪个activity,都可以直接调用相关信息。

创建MyApplication,设置全局变量Username

 private String username = "";
 public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

在activity_main.xml

定义一个EditText跟两个Button(EditText用于输入,Button一个用绑定事件将EditText获取的String保存到Application,另一个用于跳转到另外一个activity)

<EditText 
    android:id="@+id/username_et"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

<Button
    android:id="@+id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="存储String" />

<Button
    android:id="@+id/btn2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="跳转" />

MainActivity.java中

 //获取Application
 myApplication = (MyApplication) getApplication();
btn1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
            //将获取的String赋值给MyApplication的username
            String username = username_et.getText().toString().trim();
            myApplication.setUsername(username);
        }
    });

    btn2.setOnClickListener(new OnClickListener() {
        //跳转到新的Activity,在新的Activity中调用MyApplication中的username
        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(MainActivity.this,testGetApplication.class);
            startActivity(intent);
        }
    });

新的Activity中

    btn3 = (Button) findViewById(R.id.btn3);
    tv = (TextView) findViewById(R.id.tv);
    
    myApplication = (MyApplication) getApplication();
    
    btn3.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View arg0) {
            
            tv.setText(myApplication.getUsername());
            
        }
    });

测试

MainActivity中输入 跳转到新的Activity,get到Application中保存的数据

由此可以看出Application保存全局变量

记录下自己容易忘记的
才不会每次学完用完
又忘记了
上一篇下一篇

猜你喜欢

热点阅读