編輯:關於Android編程
上篇我們講了一下的Json的解析,大家有沒有發現解析一個簡單的Json數據都寫了這麼多代碼,如果是一個復雜龐大的Json數據呢,那不得寫好多。
所以谷歌推出了一款Json解析神器——> Gson。
那 Gson 是用來干嘛的呢,它是用來將Json數據轉換成對象,或將對象轉換成Json數據。只需要導入相應 jar 包就可以。
這次的Json數據為:
{name:張三 ,
age:26,
phone:[131,132],
score:[{id:語文,fenshu:100},{id:數學,fenshu:60},{id:化學,fenshu:120}]
}
步驟:
①將下載好的Gson jar 包導入到 libs目錄下
②創建Gson對象
Gson gson = new Gson();
③創建需要轉成的JavaBean
我這裡創建一個 Student 類
Student.java
//Student的屬性必須和Json中的KEY值一樣。
//JsonObject轉化成類,JsonArray轉化成集合
public class Student {
public String name;
public String age;
public ArrayList phone = new ArrayList();
public ArrayList score = new ArrayList();
public class Score {
public String id;
public String fenshu;
@Override
public String toString() {
return "id:" + id + " fenshu:" + fenshu;
}
}
@Override
public String toString() {
return "name:" + name + " age:" + age
+ " phone:" + phone.get(0)+ "," + phone.get(1) + " score:" + score.toString();
}
}
注:
1、需要生成的類的類名由你自己定義,沒有關系;
2、類裡面的屬性名必須跟Json字段裡面的Key是一模一樣的;
3、內部嵌套的用[]括起來的部分是一個List
④將Json數據轉化成Student對象
Student student = gson.fromJson(JSONDATA, Student.class);
效果:
使用Gson是不是比傳統方法更簡單呢,趕緊試試吧
核心代碼:
activity_main.xml
MainAcitivity.java
public class MainActivity extends Activity {
private TextView tv;
//json數據
public static final String JSONDATA = "{name:張三 ,age:26,phone:[131,132],score:[{id:語文,fenshu:100},{id:數學,fenshu:60},{id:化學,fenshu:120}]}";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
}
public void gson(View view) {
//創建一個Gson對象
Gson gson = new Gson();
//將Json數據轉化成Student對象
Student student = gson.fromJson(JSONDATA, Student.class);
//將解析的Json數據顯示在TextView上
tv.setText(student.toString());
}
}
Student.java
public class Student {
public String name;
public String age;
public ArrayList phone = new ArrayList();
public ArrayList score = new ArrayList();
public class Score {
public String id;
public String fenshu;
@Override
public String toString() {
return "id:" + id + " fenshu:" + fenshu;
}
}
@Override
public String toString() {
return "name:" + name + " age:" + age
+ " phone:" + phone.get(0)+ "," + phone.get(1) + " score:" + score.toString();
}
}
今天學習了一下增量更新,這個技術已經出現很長時間了,但是現實中,估計只有大廠才利用了這一技術在做產品!國內有些第三方服務平台,像友盟提供自動更新的服務,也是用的增量方式!
概述當以Bitmap作為畫布材料時,可以繪制出以下各種圖案:demo/** * 圖形圖像處理:在Bitmap上繪畫 */public class MyBitMapView
最近使用到Recylerview完成拖動排序,側滑刪除,在此記錄一下。需要使用到:ItemTouchHelper.Callback這個類。效果圖:在有Recy
搭建React-native環境首先你必須要裝好JAVA JDK,然後版本要在1.8以上.下載1.8 版本(64位或32位SDK) 下載網站-http://www.ora