论坛首页 移动开发技术论坛

android使用全局变量

浏览 13907 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-01-21  
lyltiger 写道
能否与其他方法比较,看出优势呢?
请指教!

android使用全局变量
0 请登录后投票
   发表时间:2011-01-25  
何必这么麻烦
public static做全局变量, 简单又好用
放上几百几千个程序的性能都毫无影响, 全放到同一个类文件里, 结构也足够清晰

编程不应把精力放到花里胡哨的无用技巧上
0 请登录后投票
   发表时间:2011-02-05  
楼上的,你直接在一个类里面做static全局变量,如何解决变量初始化的时候需要Context的问题呢。

楼主的方式才是正道,可以看下MMS的源代码
0 请登录后投票
   发表时间:2011-02-07  
595755330 写道
一开始我是用static来做全局,后来在网上看见老外有一个很好的办法
public class MyApp extends Application {
private Integer[] state;
public Integer[] getState() {
return state;
}
public void setState(Integer[] state) {
this.state = state;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
setState(we);
}//一定要在onCreate方法里给变量赋值
public Integer[] we=new Integer[]{
    R.drawable.b_0,R.drawable.b_1,R.drawable.b_2,
    R.drawable.b_3,R.drawable.b_4,R.drawable.b_5
};

}
在所需要的activity中使用
MyApp appState = (MyApp)getApplicationContext();
Integer[] we = appState.getState();
来获取,最后一步别忘了在manifest中的application标签中添加 android:name=".MyApp"(这儿不是新建<application></application>)



楼主我有个问题,如果访问这个全局变量的类不是继承自Activity/Service/BroadcastReceiver/ContentProvider的话,那在实例化这个类时还是需要将当前的context传入,如果我自定义一个没有用到context的类,那还是没有办法访问这个"全局变量"了,除非我传入context。楼主有没有什么别的办法?
0 请登录后投票
   发表时间:2011-02-15  
为什么不用SharedPeferences呢?
0 请登录后投票
   发表时间:2011-02-15  
pieerepeng 写道
楼上的,你直接在一个类里面做static全局变量,如何解决变量初始化的时候需要Context的问题呢。

楼主的方式才是正道,可以看下MMS的源代码


你不是吧, 这么简单的东西还要考虑如何解决?  初始化的时候直接把context参数也传进来, 定义一个static全局变量指向它不就完了........
0 请登录后投票
   发表时间:2011-02-18  
这个很不多。。全局的类似静态的方法。
之所觉得不错。我感觉是统一。。都是Application的
要不你的c1.我的c2感觉有点乱。。
0 请登录后投票
   发表时间:2011-02-21  
不错的。值得学习。
0 请登录后投票
   发表时间:2011-03-23  
确实是个好方法,我第一次见是在sina微博上看过的,比每次读配置文件要好得多。
0 请登录后投票
   发表时间:2011-03-23  
正在学习,不大明白啊
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics