編輯:關於android開發
在進行android進行開發時,我們的數據一般通過接口來獲收,這裡指的接口泛指web api,webservice,wcf,web應用程序等;它們做為服務端與數據庫進行直接通訊,而APP這塊通過向這些接口發Http請求來獲得數據,這樣的好處大叔認為,可以有效的降低軟件的開發難度,所以數據交互都被分離到了服務層而,而與客戶交互的功能完全都在APP端,這類似於目前比較流行的SOA架構,即一個服務為多種終端服務;無論是你WEB網站,手機IOS,手機Android,平板還是其它TV之類的,都統一調用服務層的接口!
說的有點遠了,下面來看一下在APP端發送Http時,如何與服務端API進行Session的共享
-〉客戶端
-〉(Request)訪問服務端頁面
-〉服務端產生SessionId
-〉存儲到服務端
-〉(Response)同時向客戶端相應
- 〉客戶端存儲把SessionID到Cookies裡(.net平台cookies裡鍵名為ASP.NET_SessionId)
-〉下次請求,客戶端將在Request頭信息中把當前SessionID發到服務端
-〉服務端的SessionID通過過期時間維護它的有效性
選自:MSDN關於HttpClient的CookieContainer的文章
Uri uri = new Uri("http://www.microsoft.com"); HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer = new CookieContainer(); handler.CookieContainer.Add(uri, new Cookie("name", "value")); // Adding a Cookie HttpClient client = new HttpClient(handler); HttpResponseMessage response = await client.GetAsync(uri); CookieCollection collection = handler.CookieContainer.GetCookies(uri); // Retrieving a Cookie
Uri uri = new Uri(GetString(Resource.String.apiHost)); HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer = new CookieContainer(); handler.CookieContainer.Add(uri, new Cookie("ASP.NET_SessionId", InMemory.SessionID)); // Adding a Cookie using (var http = new HttpClient(handler)) { var content = new FormUrlEncodedContent(new Dictionary<string, string>() { }); var response = http.PostAsync(GetString(Resource.String.apiHost) + "/Test/CurrentTaskListApi", content); var obj = JsonConvert.DeserializeObject<List<Task_Info>>(response.Result.Content.ReadAsStringAsync().Result); listView.Adapter = new Task_InfoListAdapter(this, obj); }
大家如果也在使用xamarin開發移動應用,就趕快去試試吧!
最後,大叔要說,對一個概念的認識程度決定了你所采取的解決方法!
Android群英傳-拼圖游戲puzzle-6點吐槽 一、緣由 經常寫文章,混了一些C幣。最近在深入學習Android應用開發,就從商城裡買了一本《Android群英
TabWidgetDemo,androidwidgetdemoTabWidget可以通過不同的標簽進行切換並且顯示不同的內容,相當於Button按鈕實現不同的功能。 Ta
PostgreSQL空值null參與運算的處理方法 在數字加減乘除運算中遇到某個字段值為空值(null)的時候,輸出的結果往往會讓我們失望,得不到我們所期待的數值,可以通
[android] 手機衛士來電顯示號碼歸屬地,android來電顯示繼續N天前的項目 開啟服務監聽手機來電,查詢數據庫,顯示歸屬地 詳細內容可以參考這篇博文:http:
Android Design Support Library——Text