sharedPreferences不同activity之间的数据共享

SharedPreferences是要依靠context的。在activity中使用,或者传入context上下文对象。

// 第一步,获取SharedPreferences的编辑者
SharedPreferences sharedPreferences=getSharedPreferences("ceshi",
                                            Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
// 第二步,使用编辑者对象对数据进行存储操作(编辑数据)
editor.putString("msg", "some msg");
// 第三步,提交编辑内容
editor.commit();

在另一个activity中获取:


SharedPreferences sharedPreferences = getSharedPreferences("ceshi",                                Context.MODE_PRIVATE);
String msg=sharedPreferences.getString("msg","nothing");

有的可能在其他activity里获取不到值,检查有没有忘记commit,或者改下Context.MODE_PRIVATE 存储模式。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Android 平台上,Activity 之间是可以通过 Intent 传递数据的,但是 Intent 只支持传递基本数据类型和 Parcelable 或 Serializable 类型的对象,不支持传递哈希表。如果需要传递哈希表,可以把哈希表转换成 Parcelable 或 Serializable 类型的对象后再传递,或者使用其他的数据传递方式,比如使用全局变量或者单例模式来保存数据。另外,需要注意的是,哈希表传递过程中需要考虑数据安全性和性能等问题。 ### 回答2: Activity之间是可以互传哈希表的。在Android中,可以通过Intent来实现Activity之间的通信和数据传递。Intent是一种用于在不同组件之间传递信息的对象,它可以携带不同类型的数据,包括哈希表。在发送Intent时,可以将哈希表作为附加的数据放置到Intent中,然后通过startActivity或者startActivityForResult方法来启动另一个Activity。 在接收Intent的目标Activity中,可以通过getIntent方法获取到传递过来的Intent,然后使用getExtras方法获取到携带的附加数据。针对传递的哈希表,可以通过键值对的方式进行获取,获取到后就可以在目标Activity中使用这个哈希表了。 需要注意的是,在传递哈希表时要确保哈希表内的数据类型是可序列化的,因为Intent要求传递的数据类型是可序列化的才能在不同Activity之间进行传递。另外,由于Intent有一定的大小限制,传递较大的哈希表可能会导致传递失败或者发生异常,因此在实际传递中需要注意数据的大小和合理性。 综上所述,Activity之间是可以互传哈希表的,通过Intent传递数据可以实现Activity之间的通信和数据传递。 ### 回答3: 哈希表是一种数据结构,用于存储键值对。它通过将键映射到一个固定的索引值来加快对数据的访问速度。在Android开发中,Activity是一种表示用户界面和交互逻辑的组件。它们通常用于应用程序的不同页面或功能模块。 Activity之间可以通过多种方式进行数据传递,例如Intent、Bundle和接口回调等。然而,直接传递哈希表可能不是最佳的做法。 首先,Activity之间的数据传递应尽量简洁和高效。传递一个大型的哈希表可能会导致性能问题,特别是在数据传递的过程中。 其次,Activity之间的数据传递应该遵循“高内聚、低耦合”的原则。意味着每个Activity应该只关注自己需要的数据,而不应该获取其他Activity的全部数据。直接传递一个哈希表可能会破坏这种原则,增加数据的依赖性和复杂性。 相反,更好的做法是针对具体的数据需求,只传递必要的数据。可以通过Intent的附加数据(putExtra)或Bundle来传递简单的键值对数据。如果需要在多个Activity之间共享数据,可以考虑使用全局变量、单例模式或者使用SharedPreferences、数据库等持久化技术。 总之,虽然Activity之间可以通过哈希表进行数据传递,但在实际开发中,应该遵循简洁、高效、低耦合的原则,选择合适的数据传递方式来满足具体的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值