android - 为整个应用程序创建一个公共(public)对象

标签 android object android-activity android-json

我创建了一个创建用户个人资料并存储其信息(如姓名、ID、个人资料图片等)的 Activity 。

此信息是唯一的,应在应用程序的所有 Activity 中使用。

我想知道创建存储所有信息并在所有 Activity 中使用它的通用对象的最佳方法。

我已经阅读了有关 bundle 和 JSON 的内容,但不明白如何使用它。

请帮我看看我应该选择什么选项。我已经做了很多阅读,但现在还不确定。请帮助我了解标准做法是什么以及更好的做法。

最佳答案

您可以使用 Application 类在多个 Activity 中访问同一对象。

public class TestApplication extends Application {

    //Object declaration

    public TestApplication () {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate() { 
        // TODO Auto-generated method stub
        super.onCreate();
    }

    //setter getter for object
}

现在在您的 Activity 中:

//after setContentView
TestApplication testAppObj = (TestApplication) getApplication();
testAppObj.setSomeObj(myObj);

//retrieve as:
someObj = testAppObj.getterMethodOfObj();

您必须像注册 Activity 一样在 list 文件中注册应用程序类:

<application
        android:name="com.pkg.test.TestApplication " />

希望这对您有所帮助。

关于android - 为整个应用程序创建一个公共(public)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503124/

相关文章:

android - 如何使用回收站 View 的支持版本而不是Androidx

wpf - 如何通过两个 View 模型传递对象? Wpf MVVM

android - 如果已经登录,请正确跳过登录 Activity

android - Fresco:使用当前显示在 Drawee 中的图像作为下一次请求的占位符

android - 如何以编程方式创建透明 Activity ?

java - 使用 git 时 Android studio 无法将 AndroidManifest.xml 识别为项目的一部分

用于强制转换的 Java 规则

iphone - 将完整的类对象存储到 iPhone 中的数据库中

第一个 Activity 的android全屏

java - Android - java.lang.classcastException android.app.application 无法转换