編輯:關於Android編程
JSON定義:
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition -December 1999)的一個子集。 JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java,JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(網絡傳輸速度)。
Andorid中的使用:
1.封裝JSON
Android中封裝有類JSONObject,用於保存JSON。該類通過put方法將數據置入JSONObject中。JSONObject除存放int,boolean等基本類型外,還可存放JSONObject類型及JSONArray類型。具體使用代碼如下:
btnTest.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub JSONObject jsonObject = new JSONObject(); try { jsonObject.put("name", "JACK"); JSONObject Tel = new JSONObject(); Tel.put("homeTel", "123456"); Tel.put("companyTel", "654321"); jsonObject.put("Tel", Tel); JSONArray Address = new JSONArray(); Address.put("NingBo"); Address.put("Shanghai"); jsonObject.put("Address", Address); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } etTest.setText(jsonObject.toString()); } });
點擊ReadJson按鈕後系統將JSONObject顯示在EditText中。效果圖:
2.解析JSON
系統獲取JSONObject對象後,利用getXXX函數,獲取JSON中相應參數
Code:
btnTest.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String JSON = "{\"name\":\"JACK\"," + "\"Address\":[\"Ningbo\",\"Shanghai\"]," + "\"Tel\":{\"companyTel\":\"654321\",\"homeTel\":\"123456\"}}"; String strOutput = "NULL"; try { JSONObject jsonObject = new JSONObject(JSON); String strName = jsonObject.getString("name") + "\n"; JSONArray jsonArray = jsonObject.getJSONArray("Address"); String strAddress = jsonArray.getString(0) + "," + jsonArray.getString(1) + "\n"; JSONObject Tel = jsonObject.getJSONObject("Tel"); String strCompanyTel = Tel.getString("companyTel"); String strHomeTel = Tel.getString("homeTel"); String strTel = strCompanyTel + "," + strHomeTel; strOutput = strName + strAddress + strTel; } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { etTest.setText(strOutput); } } });
效果圖:
實例首先舉個例子,假設我們有一個二手房交易記錄的數據集,已知房屋面積、臥室數量和房屋的交易價格,如下表:假如有一個房子要賣,我們希望通過上表中的數據估算這個房子的價格。這
這幾天在研究ViewPager,簡單的寫一下如何使用ViewPager實現類似於QQ的“最近聯系人、好友、群組”的界面切換(不知道他們是不是用這個方法實現的)。ViewP
對於Android平台上的線程優先級設置來說可以處理很多並發線程的阻塞問題,比如很多無關緊要的線程會占用大量的CPU時間,雖然通過了MultiThread來解決慢速I/O
XML對開發者來說十分的方便,不僅使用起來簡單,而且能夠及時調試,修改界面之後馬上能看到效果。Java設置布局不具有這個優勢。但是java卻可以動態對布局進行操作,這是x