java - 在 Activity 中使用 SharedPreferences
问题描述
我对 java 编程和 android 完全陌生。我有一个简单的问题,希望我不需要代码。
我在 android studio 中创建了一个 android 应用程序。我有第二个活动,其中包含一个列表视图。
我的 java 是 MainActivity - secondActivity - myAdapter。我的布局是 listview_item - activity_main - activity_detail(secondActivity)。
我的问题:如果我想在我的布局中使用一个SharedPreferences
函数。detail_activity
把这段代码放在哪里?
- 第二个活动
- 主要活动
- 创建一个新类
我正在寻找答案,但我什么也没找到。
谢谢!
解决方案
共享首选项将数据保存为一<K,V>
对。
我认为您应该了解 Shared Pref 的工作原理……如果您这样做了,您将无法真正回答自己的问题。
无论您想在哪里保存数据,这就是您调用共享首选项的地方。
保存数据:
SharedPreferences sharedpreferences = getSharedPreferences("prefs", Context.MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
为了得到这个...
sharedpreferences.getString("key", null); // getting string (null is the default value)
editor.commit();
去除...
editor.remove("key"); // will remove key from shared pref
editor.commit();
清除所有...
editor.clear();
editor.commit();
因此,如果您想在进入新活动之前保存数据,请将其保存到您的首选项中,然后从新活动中的首选项中加载它。如果您删除,则调用该.remove()
方法以在该活动中将其删除。
此外,不要将所有内容存储在共享首选项中也很重要。只存储您经常使用的东西,但也使用数据库来保持一切一致。不要认为共享首选项系统是数据库,它不是,也不要这样使用它。
希望这使它更直接。
推荐阅读
- python - 缩小我使用 python 从网站上抓取的内容
- c++ - 获取模板中数组最小值的函数
- android - 推送通知因 curl 失败
- javascript - 如何在 JS 中制作一个按钮数组?以及如何设置随机图像?
- reactjs - 与 redux 执行 async 并一起反应悬念
- python - 按最频繁的字段对 namedtupled 列表进行排序
- excel - PowerBI:从混合文件夹文件中导入数据
- kotlin - 如何调用入队回调?
- ios - 保存的 VPN 配置需要更新吗?
- tensorflow - ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型 numpy.ndarray)