編輯:關於Android編程
在開發的應用程序的過程中,我相信json是使用最多的輕量級的數據交換格式,這裡我就不介紹有關json的概念了。主要說明一下有關json反序列化的問題,一般情況下我們解析json都是下邊這種方式:
[java]
try {
jObj = new JSONObject(resultString);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
resultString是json類型的字符串,當轉化為JSONObject類之後,我們還需要一個一個的去解析數據,
[java]
int status =jObj.getInt("Status");
String msgString = jObj.getString("Msg");
你是不是會感覺到這樣很麻煩呢,特別是對於用的比較多的值得時候。谷歌也發現了這個問題,他們開發出了一個json反序列化包。我們可以將返回的鍵值格式轉化為類的格式,這個時候當我們再次使用的時候,就是類名.屬性名就可以獲取該變量的值了。我在這裡摘取幾行關鍵的代碼,
[java]
//httpget請求返回結果
String str = Common.requestApi("此處填寫URL地址 ");
System.out.println("str" + str);
//json反序列化函數
MagazineCategoryResp magazineCatagoryList = gson.fromJson(str, MagazineCategoryResp.class);
Message message = new Message();
message.what = 1;
//把類賦值給message
message.obj = magazineCatagoryList;
//發送handler信息 在handler裡面進行接收
handler.sendMessage(message);
就這樣就可以實現json反序列化了,這是在handler裡面進行處理的,一般情況下我們都是通過網絡獲取json格式的數據的。反序列化之後我們就可以在handler裡面接受該類,然後就可以非常方便的使用變量值了。因為URL是公司的,所以我注釋掉了,返回值的類型在源代碼裡我把打印出來信息放到了注釋裡,這次得到的編碼格式不是UTF-8的,大家湊合著看吧。
handler裡面處理數據代碼
[java]
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
//反序列化結果在handler裡使用
MagazineCategoryResp magazineCatagoryList = (MagazineCategoryResp) msg.obj;
//這裡打印查看結果 可以以類的方式獲取json值
System.out.println("Result=" + magazineCatagoryList.data.get(0).name);
tvTest.setText(magazineCatagoryList.data.get(0).name);
break;
}
super.handleMessage(msg);
}
};
結果只是測試用的,所以直接使用了get(0)
這裡也使用了handler機制,還有進度條的使用,如果有不懂得可以去論壇裡找相關的教程和例子。CSDN上也有很多大牛的博客裡也有提及。
WindowsAndroid我們可以這樣來稱呼我們此次Win8中運行安卓系統的方法。這款軟件是北京某公司剛剛研發出來的
流量是小編最苦惱的一個問題,小編在愉快的工作上網之余小編總是要關注一下自己的流量損耗程度。所以說中國的手機用戶無疑是全世界最“悲催”
SwipeRefreshLayout是Android官方的下拉刷新控件,使用簡單,界面美觀,不熟悉的朋友可以隨便搜索了解一下,這裡就不廢話了,直接進入正題。 首
這裡收集了大家常用的一些Android代碼,持續更新中,內容來自自己的平時積累和網絡上看到的文章。如有錯誤歡迎指正裡面可能會有重復內容,請忽略或者提醒我刪除。setBac