寫在前面的話,本文章只適合使用AndroidStudio的小伙伴觀看,還在糾結eclipse的小伙伴趕緊洗洗睡吧。。。
最近看見一篇快速實現javaBean的屎丟丟插件,這是一個根據JSONObject格式的字符串,自動生成實體類參數。
如果想要使用這個插件,有兩個方法可供選擇。
安裝方法
方法一:
1.Android studio File->Settings..->Plugins–>Browse repositores..搜索GsonFormat
2.安裝插件,重啟android studio
方法二:
1.下載GsonFormat.jar ;
2.Android studio File->Settings..->Plugins –>install plugin from disk..導入下載GsonFormat.jar
3.重啟android studio
使用方法
在實體類中使用Generate的快捷鍵.
快捷鍵:圖中選中的部分
簡單的實體類
圖中簡單的 json 格式
{
“name”: “王五”,
“gender”: “man”,
“age”: 15,
“height”: “140cm”,
}/**
* Created by thinkwyp on 2015/6/1.
*/
public class TestBean {
/**
* gender : man
* name : 王五
* age : 15
* height : 140cm
*/
private String gender;
private String name;
private int age;
private String height;
public void setGender(String gender) {
this.gender = gender;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setHeight(String height) {
this.height = height;
}
public String getGender() {
return gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getHeight() {
return height;
}
}
復雜的實體類
實體類不僅包含另外一個實體,還包含另外實體的數組.
圖中復雜的json 格式
{
“name”: “王五”,
“gender”: “man”,
“age”: 15,
“height”: “140cm”,
“addr”: {
“province”: “fujian”,
“city”: “quanzhou”,
“code”: “300000”
},
“hobby”: [
{
“name”: “billiards”,
“code”: “1”
},
{
“name”: “computerGame”,
“code”: “2”
}
]
}
實體類/**
* Created by thinkwyp on 2015/6/1.
*/
public class Bean extends JSONModel {
/**
* height : 140cm
* age : 15
* name : 王五
* hobby : [{"name":"billiards","code":"1"},{"name":"computerGame","code":"2"}]
* gender : man
* addr : {"province":"fujian","code":"300000","city":"quanzhou"}
*/
private String height;
private int age;
private String name;
private List hobby;
private String gender;
private AddrEntity addr;
public void setHeight(String height) {
this.height = height;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setHobby(List hobby) {
this.hobby = hobby;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setAddr(AddrEntity addr) {
this.addr = addr;
}
public String getHeight() {
return height;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public List getHobby() {
return hobby;
}
public String getGender() {
return gender;
}
public AddrEntity getAddr() {
return addr;
}
public class HobbyEntity {
/**
* name : billiards
* code : 1
*/
private String name;
private String code;
public void setName(String name) {
this.name = name;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public String getCode() {
return code;
}
}
public class AddrEntity {
/**
* province : fujian
* code : 300000
* city : quanzhou
*/
private String province;
private String code;
private String city;
public void setProvince(String province) {
this.province = province;
}
public void setCode(String code) {
this.code = code;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public String getCode() {
return code;
}
public String getCity() {
return city;
}
}
}
這個東西還支持兩種注釋過濾
/**段注釋:
*/
//行注釋:
例子
{
/**
* 名字
*/
“name”: “王五”,
“gender”: “man”,//性別
“age”: 15,
“height”: “140cm”,
}
這個醬紫也是可以解析的,今早親測成功,有用到的同學就拿去用吧
離線插件下載地址
GsonFormat.jar