博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android--全局变量 很好很强大
阅读量:5904 次
发布时间:2019-06-19

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

As you know, each Activity is also a Context, which is information about its execution environment in the broadest sense. Your application also has a context, and Android guarantees that it will exist as a single instance across your application.

The way to do this is to create your own subclass of , and then specify that class in the application tag in your manifest. Now Android will automatically create an instance of that class and make it available for your entire application. You can access it from any context using the Context.getApplicationContext() method (Activity also provides a method getApplication() which has the exact same effect):

 

  

Java代码  
  1. class MyApp extends Application {  
  2.   
  3.   private String myState;  
  4.   
  5.   public String getState(){  
  6.     return myState;  
  7.   }  
  8.   public void setState(String s){  
  9.     myState = s;  
  10.   }  
  11. }  
  12.   
  13. class Blah extends Activity {  
  14.   
  15.   @Override  
  16.   public void onCreate(Bundle b){  
  17.     ...  
  18.     MyApp appState = ((MyApp)getApplicationContext());  
  19.     String state = appState.getState();  
  20.     ...  
  21.   }  
  22. }  

 

This has essentially the same effect as using a static variable or singleton,

but integrates quite well into the existing Android framework.

Note that this will not work across processes (should your app be one of the rare ones that has multiple processes).

 

 

然后再manifest中添加应用:

Xml代码  
  1. <application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">  
  2.         <activity android:name=".ClickableListItemActivity"  
  3.                   android:label="@string/app_name">  
  4.             <intent-filter>  
  5.                 <action android:name="android.intent.action.MAIN" />  
  6.                 <category android:name="android.intent.category.LAUNCHER" />  
  7.             </intent-filter>  
  8.         </activity>  
  9.   
  10.     </application>  

  

说明:

  1. 需添加的内容:android:name=".your_App_Name"

  2. 位置:当前activity所在的位置,(我刚开始以为需要新建一个<application></application>)

转载于:https://www.cnblogs.com/xiaochao1234/p/4091952.html

你可能感兴趣的文章
LNMP的技术讲解
查看>>
SVN Hooks的介绍及使用
查看>>
Oracle 字符集的查看和修改【上】
查看>>
tomcat注册windows服务
查看>>
使用qq邮箱的smpt服务发送邮件一定要记得用ssl
查看>>
20个非常有用的Java代码片段
查看>>
转 ubuntu解压命令全览
查看>>
Android开发的前景分析——之你为何看好Android?
查看>>
linux学习笔记
查看>>
页面自动刷新
查看>>
No free lunch in search and optimization
查看>>
分析 Spring 的编程式事务管理及声明式事务管理(转)
查看>>
网站优化和竞价有什么区别
查看>>
MySQL开源热备工具XtraBackup的原理与程序说明
查看>>
mongoDB(1):windows下安装mongoDB(解压缩版)
查看>>
CentOS修改主机名
查看>>
php 5.3.6中php-fpm 配置
查看>>
XMPP协议分析-原理篇
查看>>
centos7常用操作
查看>>
系统集成资质培训 - 新书发布
查看>>