在Android中,Application类是用来维护应用程序全局变量的。每次,应用程序启动,都会自动创建一个Application类的对象并且唯一。所以,可以通过继承Application类的自定义类MyApplication类进行全局变量管理。
1、MyApplication类的代码如下:
public class MyApplication extends Application { private int userId = -1; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } }
2、需要在清单文件AndroidManifest.xml里修改Application的创建对象为MyApplication。
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" android:name=".MyApplication">...
3、如何使用
(备注:主要是通过getApplication()方法来获取到全局变量类对象MyApplication)
public class MainActivity extends AppCompatActivity { private TextView tvContent; private MyApplication myApplication; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myApplication = (MyApplication) getApplication(); tvContent = findViewById(R.id.Main_tvContent); tvContent.setText(myApplication.getUserId() + ""); tvContent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myApplication.setUserId(1); tvContent.setText(myApplication.getUserId() + ""); } }); } }