我是Android世界的新手。我正在开始一个新项目来编写一个发送和接收短信的Android应用程序,并与Web服务器同步。 (我稍后会介绍该应用程序)
我首先尝试使用SL4A和python编写应用程序,但它有很多错误(例如发送长短信导致NullPointerException!)
Android的框架非常复杂(至少对我而言)。您有Activities
,Services
,Receiver
,AsyncTask
,Intent
等等。我现在真的很困惑,不知道解决这个问题的正确方法。
有网络服务器和手机。
Web服务器知道所有逻辑。它知道应该发送什么SMS消息以及如果移动电话收到消息应该怎么做。因此,手机通过HTTP与服务器通信。
手机应该每30秒提取一次应该发送的信息。
当手机收到短信时:
你能为这个问题建议一个好的架构吗?
我应该创建Service
吗?
我应该创建AsyncTask
吗?
...
答案 0 :(得分:1)
使用广播接收器/定期警报最好地为Web服务器提供定期请求 (30秒即可,如果你有电源,否则考虑更长的更新interwals)
要接收短信,您还可以使用广播接收器(因为系统将广播传入短信的意图)
整体状态可以保存在一些单独的java对象中,并考虑持久存储状态(通过,因为你的应用程序可以随时被OS杀死)
记录通过标准记录工具完成的操作系统,以及向用户显示当前状态的一些活动)
答案 1 :(得分:0)
总是很难回答“什么是最好的架构”,但这里有。
SMS /服务器功能听起来像服务的工作,因为它长期运行。
您可能最终还会编写一个活动或一组活动来配置和/或监控服务。