我有一个问题很难在论坛上提出或回答。最近我一直负责设计(和实现)一个可以在android操作系统上运行的应用程序。由于我来自.net世界,我决定使用Xamarin.Android框架(以前称为android的mono)。我对目标框架做了一些研究,并提出了一个粗略的设计。但是由于我是Android新手,我不确定我的设计是否是最好的(甚至可以接受)。我会尽可能简短地描述我的描述。 该应用程序的基本要求是:Xamarin.Android应用程序体系结构
- 应用程序必须能够为不同的用户提供不同的GUI。
- 应用程序必须显示从服务器获取的数据。
- 应用程序必须为用户提供修改服务器数据的方法。
- 当其中一个用户修改服务器数据时,必须通知其他用户。
根据我的研究,我想出了以下内容:
要为每个用户提供定制GUI,比检索这比使用到服务器的XML文件的应用程序会先验证用户以编程方式构建GUI。由于我必须支持设备旋转和不同的设备,这意味着很多工作,所以对此的任何想法都非常受欢迎。
我认为应用程序与服务器通信的最佳方式是通过调用基于REST的服务(GET来检索初始数据,并通过PUT更新服务器状态)。
当服务器状态将由其中一个用户修改时,所有其他用户将使用通知(Google云消息传递或替换旧C2DM的GCM)进行通知。由于大部分活动都依赖通知来显示更新,我认为实现这一点的最佳方式是创建一个android服务。该服务将从应用程序开始,并会在应用程序运行。当服务开始时,它将自行注册到GCM,并使用广播通知当前活动有所变化。
我为一篇长文章道歉,但我试图尽可能简短。正如我所说,这是一个非常粗糙的设计,所以任何想法,想法或批评都会受到欢迎。
UROS
感谢您的回答。我打算使用PushSharp库,因为应用程序很有可能会在iPhone上运行,所以我将使用相同的库来通知这些客户端。我会看看RestSharp库。你可以指点我如何使用xml/json实现GUI生成的任何示例。 –
我想你会有一个JSON/XML文件每个用户和活动,使用这样的技术创建任何动态内容:http://stackoverflow.com/questions/6216547/android-dynamically-add-views-into-查看 – manadart
此回答有用吗? ;) – manadart