工作日誌紀錄 Day 10

  • 465
  • 0

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