寻求构建应用程序指南的新Android开发人员

时间:2010-09-17 03:26:29

标签: android

我是Android的新手,并且一直在阅读和研究,以便更熟悉该平台。我的编程知识适中,我有使用C ++的经验和相当熟练的Actionscript 3.0。我选择了初级编程来开发游戏开发,但是来自更具艺术性/设计背景。

我对一个应用程序有一个相对简单的想法,我想从最实际的方式来看待它是如何我的第一次尝试。本质上,应用程序的核心功能是绘制我将从星历表中获取的信息。在当天的某个时间,基于图表中的数据,我想根据当天更改图像/显示信息。我试图围绕最好的方式来解决这个问题。此外,我还想让用户在发生更改时选择收到某种通知,但这是我在基本实现方面遇到的问题。

所以我的问题是,如果你要设置这样的东西,你会怎么样?我不确定的是设置一个时间元素,以便应用程序知道何时更改要显示的图像/数据。 如果你花时间阅读这篇文章,我真的很感激。 涉。

1 个答案:

答案 0 :(得分:1)

这实际上取决于此图像的显示位置/时间/方式。我将假设图像以正常 Activity显示:

使用AlarmManager设置闹钟。这些警报可以启动Service来更改图像源(可能更新图像资源或文件名的db条目)。在Service完成工作后,使用BroadcastStickyBroadcast发送包含结果的Bundle(或Intent.putExtra())。您还可以使用NotificationManager在此时设置状态栏通知。 PendingIntent的{​​{1}}应该是显示图片的Notification

查看APIDemosActivity

的“闹钟”和“通知”部分

更新: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

希望我能正确理解你,这会有所帮助。