我有使用SlidingMenu
库的应用程序。主要Fragment
中的Activity
基本上是用户播放时进出视图(例如Youtube,Google +,Facebook)。
此LinearLayout
中的顶部SlidingMenu
中包含一些动态信息。例如登录和其他信息随着用户在应用程序中的交互而变化。
一个例子:用户打开应用程序,SlidingMenu
中的布局显示“登录”。他们进入overflow
菜单,开始登录Activity
(超过MainFragmentActivity
),登录成功,登录Activity
消失。下次他们刷开菜单时,他们应该看到他们的用户名,个人资料统计信息,个人资料图片等。
我的问题: 如何在不使用刷新按钮的情况下动态更改此布局?
这包括使用:
onCreateView()
中的 fragment
方法?
注意:目前,它仅在应用启动时更新。它会从AsynTask
开始MySQL
下载内容。每次用户打开面板时,打击数据库似乎浪费资源,是否有更有效的方式使用它?
答案 0 :(得分:1)
您希望将内容缓存在手机本身(可能是在sqlite中),您需要在应用程序处于前台时间隔检查新的远程内容,和/或甚至使用类似Google Cloud的内容消息传递以ping您的应用程序,以防数据需要快速刷新 - 但不定期(就像您将与聊天应用程序或Twitter客户端一样)。
答案 1 :(得分:1)
正如Stephan所提到的,你可以在SQLite中缓存数据,最重要的是,你可以使用contentProvider,在存储的数据上返回一个Cursor,如登录名。
现在的好处是,当用户登录时,您可以在contentProvider中调用update,更新值,然后调用contentResolver.NotifyChange,这将更新游标中的结果,然后自动更新内容slideMenu。