在许多活动中使用的静态类?



我创建了一个静态类,以便我可以在不同的活动中访问它。 我需要将 1 个数据传递给另一个活动,但我不知道如何正确制作它。 我尝试使用放置额外的东西,但它用于将数据传递到下一个活动(不是全局(也许((。

这是我的课..

static class AuthorizedUserIdClass
{
private static Guid _authorizedUserId;
static Guid AuthorizedUserId
{
get { return _authorizedUserId; }
set { _authorizedUserId = value; }
}
static AuthorizedUserIdClass()
{
AuthorizedUserId = _authorizedUserId;
}
}

对吗? 那么,如何在活动中使用它呢?以及如何在另一个活动中调用填充的数据?

提前致谢:)

将额外的传递数据一个活动放到另一个活动。如果要访问整个应用程序标签的值,则可以使用全局变量,就像

  1. 创建应用程序的类扩展以存储值应用程序标签

    public class GlobalVariable extends Application {
    private String message;
    public String getMessage() {
    return message;
    }
    public void setMessage(String message) {
    this.message = message;
    }
    }
    
  2. 将 GlobalVariable 添加到 AndroidManifest.xml

    <application
    android:name=".GlobalVariable"     
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name">
    //........ 
    </application>
    
  3. 将值设置为全局变量,例如

    GlobalVariable globalVariable = ((GlobalVariable) getApplicationContext());
    globalVariable.setMessage("Hello");
    
  4. 最后从活动中获得价值,例如

    GlobalVariable globalVariable = ((GlobalVariable)getApplicationContext());
    Stirng message = globalVariable.getMessage();
    
public class AuthorizedUserIdClass
{
private static AuthorizedUserIdClass instance;
public static AuthorizedUserIdClass getInstance() {
if (instance == null) {
instance = new AuthorizedUserIdClass();
}
return instance;
}
private static Guid _authorizedUserId;
static Guid AuthorizedUserId
{
get { return _authorizedUserId; }
set { _authorizedUserId = value; }
}
}

在您的活动中。

AuthorizedUserIdClass authorizedUserIdClass = AuthorizedUserIdClass.getInstance();
authorizedUserIdClass.set(value);
authorizedUserIdClass.get();

你可以像这样直接在活动或片段中的任何位置使用

Guid value = AuthorizedUserIdClass._authorizedUserId;

据我了解您的情况,我认为您想保存一些全局数据并希望在不同的活动中访问。

所以我的建议是使用应用程序类。正如人们所说,

Android

中的应用程序类是 Android 应用中的基类,其中包含所有其他组件,例如活动和服务。创建应用程序/包的进程时,应用程序类或应用程序类的任何子类在任何其他类之前实例化。

在此处阅读更多内容,这是与您的情况相匹配以保存数据的SO最佳问题。

请尝试此操作,如果您发现任何其他问题,请告诉我

要在活动之间传递数据,可以使用 Intent。试试吧

intent.putExtra(key, value);

这样,您可以将其传递给另一个活动。

除此之外,您还可以使用首选项。用户首选项是保存"全局"变量和东西的另一种方式,也比静态类更好。

您可以在 developer.android.com 中详细检查如何使用它们 但是如果你必须使用静态类来调用这个变量,你可以直接调用这个类。例如,您的类称为 Util,然后您可以调用

Util.publicmethod();
int c = Util.publicIntVariable

最新更新