我创建了一个静态类,以便我可以在不同的活动中访问它。 我需要将 1 个数据传递给另一个活动,但我不知道如何正确制作它。 我尝试使用放置额外的东西,但它用于将数据传递到下一个活动(不是全局(也许((。
这是我的课..
static class AuthorizedUserIdClass
{
private static Guid _authorizedUserId;
static Guid AuthorizedUserId
{
get { return _authorizedUserId; }
set { _authorizedUserId = value; }
}
static AuthorizedUserIdClass()
{
AuthorizedUserId = _authorizedUserId;
}
}
对吗? 那么,如何在活动中使用它呢?以及如何在另一个活动中调用填充的数据?
提前致谢:)
将额外的传递数据一个活动放到另一个活动。如果要访问整个应用程序标签的值,则可以使用全局变量,就像
-
创建应用程序的类扩展以存储值应用程序标签
public class GlobalVariable extends Application { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
-
将 GlobalVariable 添加到 AndroidManifest.xml
<application android:name=".GlobalVariable" android:icon="@mipmap/ic_launcher" android:label="@string/app_name"> //........ </application>
-
将值设置为全局变量,例如
GlobalVariable globalVariable = ((GlobalVariable) getApplicationContext()); globalVariable.setMessage("Hello");
-
最后从活动中获得价值,例如
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