我有一個問題很難在論壇上提出或回答。最近我一直負責設計(和實現)一個可以在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