❶ android如何从本地变量存储在全局变量
Android提供了一个类似于ServletContext的全局变量,叫Application。可以利用它存储一些全局变量!
示例:
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import android.app.Application;
public class MyApplication extends Application {
private Map<String, Object> mData;
public Map<String, Object> getmData() {
return mData;
}
@Override
public void onCreate() {
super.onCreate();
mData = new HashMap<String, Object>();
//synchronized the map
mData = Collections.synchronizedMap(mData);
// then restore your map
}
public void onTerminate() {
super.onTerminate();
//save data of the map
}
}
然后在AndroidManifest里面配置<application>节点的属性
<application android:name=".MyApplication">
❷ 安卓怎么全局变量改机,有红包酬谢
1》安装xposed框架,安装,重启
2》下载全局变量模块并安装
3》重启之后进入全局变量 修改机型。
❸ androidapp如何存储数据作为全局变量,在各个activity中调用
Android提供了一个类似于ServletContext的全局变量,叫Application。可以利用它存储一些全局变量!
示例:
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import android.app.Application;
public class MyApplication extends Application {
private Map<String, Object> mData;
public Map<String, Object> getmData() {
return mData;
}
@Override
public void onCreate() {
super.onCreate();
mData = new HashMap<String, Object>();
//synchronized the map
mData = Collections.synchronizedMap(mData);
// then restore your map
}
public void onTerminate() {
super.onTerminate();
//save data of the map
}
}
然后在AndroidManifest里面配置<application>节点的属性
<application android:name=".MyApplication">
❹ javaAndroid开发,如何定义全局变量
自定义一个类继承Application,fontFace作为一个静态变量放在Application里,重写自定义Application类的onCreate方法,在里面初始化fontFace变量,最后记得在AndroidManifest里注册自定义的Application类
引用的时候用Application类名.fontFace就可以了
❺ android Application全局变量
不是啊,你声明在类里面而不是onCreate方法里面就可以在这个Activity中使用。
public class GuessNumberActivity extends Activity {
Button btn1 = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button) findViewById(R.id.btn1);
}
//在其他函数中使用
bt1.setOnClickListener(new Button.onClickListener(){.........});
❻ android 如何定义全局变量
找到一个和我有类似需求的问题,其下给出了不错的解决方案,也正是我之前想到的,这种方法貌似很方便。 The more general problem you are encountering is how to save stateacross several Activities and all parts of your application. A staticvariable (for instance, a singleton) is a common Java way of achievingthis. I have found however, that a more elegant way in Android is toassociate your state with the Application context. --如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。 As you know, each Activity is also a Context, which is informationabout its execution environment in the broadest sense. Your applicationalso has a context, and Android guarantees that it will exist as asingle instance across your application. --每个Activity 都是Context,其包含了其运行时的一些状态,android保证了其是single instance的。 The way to do this is to create your own subclass of android.app.Application,and then specify that class in the application tag in your manifest.Now Android will automatically create an instance of that class andmake it available for your entire application. You can access it fromany context using the Context.getApplicationContext() method (Activityalso provides a method getApplication() which has the exact sameeffect): --方法是创建一个属于你自己的android.app.Application的子类,然后在manifest中申明一下这个类,这是 android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。
❼ 在Android中如何使用全局变量--Application context (转)
可以将变量存放在Application中,Context,中文直译为“上下文”,SDK中对其说明如下:
Interface to global information about an application environment. This is an abstract class whose implementation
is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls
for application-level operations such as launching activities, broadcasting and receiving intents, etc。
从上可知一下三点即:
1、它描述的是一个应用程序环境的信息,即上下文。
2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。
3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等。
以下为使用Application存储全局变量的示例代码:
1.继承Application,并在Application里声明全局变量。
public class MyApplication extends Application {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
2.在AndroidManifest.xml的application节点中声明这个Application。
<application android:name="com.xxx.xxx.MyApplication">
3.在Activity中获取Application对象,并存取全局变量。
User user = new User();
user.setUserName("example");
MyrApplication app= (MyApplication ) getApplicationContext();
app.setUser(user); //将变量存到application
User tmp = app.getUser();//从application中读取全局变量。
❽ 在Android中如何使用全局变量
关于android中是否可以使用全局变量,当然可以。做Java的人肯定都用过全局变量了 ,使用方法无非是定义一个静态变量,public类型,这样在其他类中就可以直接调用了
❾ androidstudio怎么把变量提为全局
千锋扣丁学堂Android开发为您解答:
1、使用application来保存全局变量
这里没有太多理论性的东西,无非就是一些实际操作。
1.1定义Data类继承Application Data.class
1.2在manifest.xml中声明application
1.3创建两个Activity
MainActivity.class、secondActivity.class
2、使用普通的类Data.class来保存全局变量
1.1 定义Data.class
1.2创建两个Activity
MainActivity.class、secondActivity.class
❿ android使用全局变量.求解答@慈税。
使用静态类:
调用就不再写了,直接使用类名.变量名就可以调用!
static修饰的静态变量,使用很方便,在不同的类和包中都可以使用,在虚拟机中单独占用内存,没错,这些都是它们的优点,不过在项目上线后,才发现static有一些不太好的地方。
在查看项目的崩溃信息时,发现很多地方莫明的出现空指针异常的错误,经过排查,发现可能就是static的问题。我们在项目中,将用户的信息也就是User对象保存成了一个静态变量,而在报错的地方,也都发现有使用过这种变量,因此,可以大致推断出与这种保存的方式有一定的联系。同时,有不少用户反映在打开应用的情况下,接个电话或者长时间待机后,再回到应用也会出现崩溃的现象,而这些崩溃都与静态变量的空指针有关系。
如此来说的话,static静态修饰在Android的开发中是不是很危险?或许我们可以说如果是static User u = new User();这样定义的话,那么应该不会有太大问题,而如果是static User u;这样定义的话,那么很可以会出现NULL的现象。当然,前面的方法里面的属性也可能会现空的情况,但是这个可以用封装来避免空指针。另外静态常量还是很好用的。
那么应该如何保存登录或者全局的信息呢?根据Google官方的推荐以及网络到的各位大神的推荐,我们应该尽量使用继承自Application的自定义类,在我们继承的类中定义需要全局使用的变量,并通过getApplicationContext()来获取和保存相关的变量即可。
2.使用Application
不过,为了让我们的MyApplication取代android.app.Application的地位,在我们的代码中生效,我们需要修改AndroidManifest.xml:
下面我们就可以在Activity或Service中灵活使用了:
而且按照Java及C#的种编辑思想的话,还是建议使用第二种试,这样对于系统的安全是好的!而且我查了一些资料显示,这样也是符合Android这种思想的,因此建议使用第二种方式,设置公共变量!
Application是与应用同时存在的,也就是应用在它就在,并不会被GC给莫名其妙的回收掉,因此,使用此方法更加安全。
阅读全文