Android保存Activity状态的问题

Night?Allure 2016-01-19 06:16:47
[b][size=16px]我现在自己做了一个天气预报的软件,但是每次开起来他都要去重新定位,可不可以我手动设置了一个城市,然后下次开进去就不要启动定位了 直接给我显示我设置的城市的 天气情况 有人说用 onSaveInstanceState和onRestoreInstanceState,但是我是个新手,哪儿个大神能给我用这个方法写个小案例出来呢 求助~~
...全文
232 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
使用SharedPreferences把城市数据写入这个文件
柒加伊 2016-01-20
  • 打赏
  • 举报
回复
每次都要定位的, 这个应该是没问题的, 只不过定位显示与否的问题, 每次定位都把所在城市的标识缓存到本地, 每次进入的时候定位一下, 如果新的定位信息与缓存的一样, 就直接读取当地的天气信息, 否则显示切换城市. 你可以仿照墨迹天气的例子写一下.
头发还没秃a 2016-01-20
  • 打赏
  • 举报
回复
onSaveInstanceState和onRestoreInstanceState一般只是在横竖屏转换的时候暂时保存状态的吧。。按1楼的办法用偏好设置保存下来读取吧
罗博士 2016-01-19
  • 打赏
  • 举报
回复
支持1楼。使用SharedPreference。
ganshenml 2016-01-19
  • 打赏
  • 举报
回复
引用 1 楼 lizhaowei213 的回复:
将城市名称和对应的城市唯一标识,写在SharedPreferences保存在本地,再次进入的时候先从SharedPreferences里读取,如果为空则开始定位,如果不为空,则读取上一次的城市。新手的话,可以去学习一下SharedPrefences,简单实用。
一般不入库的数据是放在SharedPreference里面,答主的方案是可行的,但是产品逻辑需要改一下: 即使sharedPreference里面有数据,但是有可能是A城市的数据,而此时可能用户已经在B城市了,所以要做一个判断为好。
peter_nj_RD 2016-01-19
  • 打赏
  • 举报
回复
onSaveInstanceState 这个方法只能临时保存,楼上方法可行
lizhaowei213 2016-01-19
  • 打赏
  • 举报
回复
将城市名称和对应的城市唯一标识,写在SharedPreferences保存在本地,再次进入的时候先从SharedPreferences里读取,如果为空则开始定位,如果不为空,则读取上一次的城市。新手的话,可以去学习一下SharedPrefences,简单实用。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧