android , java
※ JSON轉GSON
※ HTTP Status狀態
※ String 取字串內容
※ ProgressDialog
由於這兩天所學的,要用到我們公司內部的 libs 所以就不方便分享拉~
不過還是對學到的東西做一點小記錄
這兩天主要學的是,如何使用HTTP POST方法向伺服器要資料回來
這對我來說,是一個以前完全沒有概念的新東西
什麼 POST、GET拉 等等的 (PUT,DELETE...)
其實一開始真的是完全沒有頭緒
上網看了一堆資料
最後也只有稍微的知道
POST和GET這兩種方法
GET 是只需要傳送網址
POST 是要傳送網址加資料
比較詳細的差別,我找到這個網站
我覺得寫得很不錯,想了解更多可以去看
這兩天只用到POST這個方法
實作方式有用到 robospice 和 retrofit 再配合公司內部自己寫的libs
詳細的內容跟運作流程(有點龐大),我也還沒搞清楚
但至少初步已經會用了(研究公司大老寫的程式碼)
目前實作出的功能
(一) 這個是傳送網址外,還要夾帶指定的Request
取出伺服器回傳資料的 物品名稱 原價 實際售價 跟 圖片的url地址
再用 RecyclerView的瀑布流(StaggeredGridLayout)
配合 UIL (Universal-Image-Loader) 解析圖片url 並顯示
實現如以上的畫面
(二) 這個也是傳送網址,但夾帶隨意的Request
這個只有取出 String 跟 int
然後用最簡單的 ListView 顯示出來
目前初步做到這些
遇到的困難,除了要先讀懂前輩們"龐大的"程式外
還要稍微了解以前完全不懂的 HTTP POST
和 JSON、GSON 資料格式
(自己懂的東西真的很少...)
因為目標伺服器回傳的是JSON的資料格式
然後是 Class<T> Class<R> 這也是我以前完全沒看過的東西...
只能說要學的東西真的還很多!
充滿幹勁的學吧!!!!!
今日小發現
1. String字串處理 (取得內容)
String str1="12345"; str1.substring(0,3);
得到 str1="123"
2. 如何得到 [5]
int[] x=new int[]{5};
3. GSON
new Gson().toJson(XXX)
XXX為JSON資料格式
轉為GSON (得到 String) 可直接秀出
4. HTTP Status狀態
200 代表 伺服器回應DATA成功
401 代表 需身分驗證,如 SSL key or htaccess pasword
404 代表 伺服器未找到目標網址,檔案不存在
500 代表 伺服器發生錯誤 : 可能是 htaccess 有錯
5. ProgressDialog
ProgressDialog progressDialog = new ProgressDialog(context); progressDialog.setCancelable(false); progressDialog.setMessage("請稍候..."); progressDialog.show();
setCancelable(false) 設定不能取消的跳出視窗
progressDialog.dismiss() 取消視窗
6. 小筆記
資料來源
http://www.puritys.me/docs-blog/article-45-Http-status-%E7%8B%80%E6%85%8B-404-304.html