博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在项目的任何地方轻松获取到全局状态信息Context
阅读量:4289 次
发布时间:2019-05-27

本文共 1852 字,大约阅读时间需要 6 分钟。

如何在项目的任何地方都轻松获取到 Context?

答案:Android 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。 
      我们定制一个自己的 Application 类,来管理程序内一些全局的状态信息,比如说全局 Context。
步骤:首先我们需要创建一个 MyApplication 类继承 Application,代码如下所示:

package com.demo.myapplicationdemo;import android.app.Application;import android.content.Context;import android.widget.Toast;/** *  * 实现全局获取 Context 的方法:不管在项目的任何地方 需要使用 Context,只需要调用一下 * MyApplication.getContext()就可以了 */public class MyApplication extends Application {	private static Context context;	/**	 * 应用程序启动的时候,系统就会自动将这个类进行初始化	 */	@Override	public void onCreate() {		// TODO Auto-generated method stub		/**		 * 获得全局context		 */		context = getApplicationContext();		Toast.makeText(context, "系统初始化MyApplication类", 1).show();	}	/**	 * 提供获取context的方法	 */	public static Context getContext() {		return context;	}}

AndroidManifest.xml中增加对MyApplication的注册,让项目在启动的时候,初始化我们自定义的MyApplication,

如图:

activity_main.xml中的代码:

MainActivity.java中的代码:

package com.demo.myapplicationdemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {	private EditText editText;	private Button button;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		editText = (EditText) findViewById(R.id.editText);		button = (Button) findViewById(R.id.get);		button.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				// TODO Auto-generated method stub				editText.setText("获得的context对象是:" + MyApplication.getContext());				Toast.makeText(MyApplication.getContext(), "获得context成功", 1)						.show();			}		});	}}
项目下载:

你可能感兴趣的文章
java中的集合存储结构
查看>>
java中的集合存储结构
查看>>
Java基础——对象和类,类中的变量和方法
查看>>
谈谈JDBC
查看>>
jdbc_API中的说明
查看>>
jdbc_javax包
查看>>
Android 6.0 APIs_新特性(google官方)
查看>>
maxwell斗胆也来谈谈"学习方法“_转自黑马论坛
查看>>
XML解析
查看>>
AndroidManifest.xml详解
查看>>
activity的xml详解
查看>>
JNI 简介与实现-JavaNativeInterface
查看>>
ResourceBundle和Properties
查看>>
javascript *** is not a function
查看>>
老韩思考:卖点----卖豆腐的能转行IT
查看>>
Android_属性动画
查看>>
网络下载-xUtils,HttpUtils
查看>>
网络下载-AsyncHttpClient
查看>>
myUtils-多线程下载
查看>>
网络下载-断点续传原理
查看>>