我是Android的新手,并且一直在阅读和研究,以便更熟悉该平台。我的编程知识适中,我有使用C ++的经验和相当熟练的Actionscript 3.0。我选择了初级编程来开发游戏开发,但是来自更具艺术性/设计背景。
我对一个应用程序有一个相对简单的想法,我想从最实际的方式来看待它是如何我的第一次尝试。本质上,应用程序的核心功能是绘制我将从星历表中获取的信息。在当天的某个时间,基于图表中的数据,我想根据当天更改图像/显示信息。我试图围绕最好的方式来解决这个问题。此外,我还想让用户在发生更改时选择收到某种通知,但这是我在基本实现方面遇到的问题。
所以我的问题是,如果你要设置这样的东西,你会怎么样?我不确定的是设置一个时间元素,以便应用程序知道何时更改要显示的图像/数据。 如果你花时间阅读这篇文章,我真的很感激。 涉。
答案 0 :(得分:1)
这实际上取决于此图像的显示位置/时间/方式。我将假设图像以正常 Activity
显示:
使用AlarmManager
设置闹钟。这些警报可以启动Service
来更改图像源(可能更新图像资源或文件名的db条目)。在Service
完成工作后,使用Broadcast
向StickyBroadcast
发送包含结果的Bundle
(或Intent.putExtra()
)。您还可以使用NotificationManager
在此时设置状态栏通知。 PendingIntent
的{{1}}应该是显示图片的Notification
。
查看APIDemos(Activity
)
更新:Mark Murphy找到了/samples/android-8/ApiDemos/src/com/example/android/apis/app
here更强大的警报系统。
然后,在WakefulIntentService
中注册BroadcastReceiver
,聆听您在Activity
中设置的Broadcast
Intent
。这将监听服务何时完成。如果您在Service
中使用StickyBroadcast
,则会缓存数据,使其在Service
到达堆栈前面时可用。否则,您需要保留数据(在SQLite数据库或Activity
中)并使用时间戳。
更新 - 展示持久数据存储:
开始学习SQLite的好地方是Android Note Pad demo。这将教你Android的许多关键方面,包括生命周期,SharedPrefernces
(db包装器),以及使用Android ContentProviders
(小部件)。
我提到的替代方法是使用应用程序的默认Views
。一个简单的用法示例如下:
SharedPreferences
希望我能正确理解你,这会有所帮助。