Android 贯穿Activity的全局变量定义

问题描述:

在Android中访问后端服务器的Json数据,因为每次网段不一样,换来换去太麻烦了,想着能够统一一下一个全局变量,让所有的Activity可以访问到


解决方案:

创建一个Myapplication类 ```java import android.app.Application;

public class Myapplication extends Application {

//声明一个变量
public String URL;

@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    setURL("http://*.*.*.*:8000");
}

public String getURL() {
    return URL;
}

public void setURL(String URL) {
    this.URL = URL;
}

}

在注册清单manifest.xml,application的name属性中拿到它

```java
<application
        android:name=".Myapplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"

在需要使用到这个全局变量的时候的调用方法:

	private String URL;
	private Myapplication myapplication;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        getSupportActionBar().hide();
        //获得对象
        myapplication = (Myapplication) getApplication();
        URL=myapplication.getURL();
        initView();
    }

等需要修改网段的时候,就将Myapplication 里面set的值改变,也有覆盖的操作,但是不建议覆盖,鬼知道你在哪覆盖,到时候网段全乱了,192.168.199.1、192.168.19.121…到时候都访问不了

上一篇:Android Adb命令(3) - Activity界面 相关


下一篇:2020-Android-面试重难点(万字篇),字节