我是Android Studio的新手,我正在为一个学习项目创建一个使用Kotlin、Compose和Navigator的应用程序。我想将表单中的数据作为键-值对存储在SharedPreferences中,但尽管我在Compose中找到了example的操作方法,但这不是使用Navigator,我还不知道在哪里使用Navigator结构初始化变量。有人能帮我吗?
在该示例中,这些变量在MainActivity.kt开始时初始化:
class MainActivity : ComponentActivity() {
lateinit var sharedPreferences: SharedPreferences
var PREFS_KEY = "prefs"
var EMAIL_KEY = "email"
var PWD_KEY = "pwd"
var e = ""
var p = ""
然后在setContent中初始化共享首选项:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
sharedPreferences = getSharedPreferences(PREFS_KEY, Context.MODE_PRIVATE)
在导航器结构的例子中,我尝试将变量放置在MainActivity文件中,以及我想存储值的导航器片段中。如果我将其放置在MainActivity中,sharedPreference变量在导航器片段中是未知的,当我将其放置在导航器片段的main函数中时,该行:下面的代码显示了一个错误:未解析的引用:getSharedPreferences(我在两个文件中都包含了导入android.content.SharedPreferences)
1条答案
按热度按时间ql3eal8s1#
要使用***SharedPreferences***在使用Kotlin、Compose和Navigator的Android应用程序中存储表单数据,您需要在***MainActivity.kt***文件中创建一个***SharedPreferences***对象。然后使用该对象通过 putString() 和***获取字符串()***方法。然后,在导航器片段中,您可以使用***getSharedPreferences访问***SharedPreferences***对象()***方法.然后可以使用***getString()***和***putString()***方法来访问和存储数据.
请参见示例:
在主活动.kt中:
在导航器片段.kt中: