【问题标题】:How to string to shared preference without an editText?如何在没有editText的情况下将共享偏好设置为字符串?
【发布时间】:2016-08-08 06:28:07
【问题描述】:

我可以在不使用editText 的情况下将字符串保存到我的sharedpreference 中吗?使用编辑文本这是将字符串放入共享首选项的格式吗?

editor.putString("username", etUsername.getText().toString());

我想做的是从数据库中获取用户 ID,以便将其保存在 sharedpreference 上。

editor.putString("userID", *******);

我应该放什么?谢谢。我不知道该怎么做。

这是我的用户数据库。

myDB

【问题讨论】:

  • 当然!你试过了吗?与写这个问题相比,你尝试的时间会更少。顺便说一句,在那里放一个String 实例。

标签: android sharedpreferences


【解决方案1】:
editor.putString("userID", parameter);

是的,在第二个参数中,您可以随心所欲地保存您的刺痛。

【讨论】:

  • 如果我会从我的数据库中获得一个项目怎么办?不是来自editText?我这可能吗? O.o
  • 是的,只需简单地将字符串变量传递给参数
  • 但是如果那个字符串来自我的数据库先生呢?
  • 所以? String 是 String,无论它的来源是什么,你都可以保存它,要么来自 DB,要么来自 edittext。
  • 让我们假设,String str=cursor.getColumn("your_column_name");现在 db cursor 给你一个字符串,你可以将 str 变量保存在共享首选项中。
【解决方案2】:

你做得对。

String stringValue = "BobSmith";
editor.putString("stringKey", stringValue);

【讨论】:

  • 从 stringValue 中删除 ""
  • 谢谢,教我不要用手机回答问题。
【解决方案3】:

这可以这样完成:

String valueToBeSaved = etUsername.getText().toString();
editor.putString("userID", valueToBeSaved); 
editor.apply();

DatabaseHelper myDatabaseHelper = new DatabaseHelper(Activity.this);
myDatabaseHelper.openDataBase();
String userId = myDatabaseHelper.getYourData(); //this is the method to query user UserId 
myDatabaseHelper.close(); 
//now save userId in shared preferences
String valueToBeSaved = etUsername.getText().toString();
editor.putString("userID", userId); 
editor.apply();
}

我希望你正在寻找这个。如果有任何疑问,请告诉我。

【讨论】:

  • 是的..你可以从数据库中获取它
  • 您的用户 ID 是自动创建的还是您自己创建的?
  • 好的,那么您需要从数据库中获取它,然后您需要将其保存在共享首选项中
  • 在您的数据库助手类中编写一个获取用户 ID 的方法
  • 我会创建一个新类 DatabaseHelper 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
相关资源
最近更新 更多