編輯:Android開發教程
FastJson是阿裡巴巴開源的一個Json處理工具包,包括“序列化”和“反序列化”兩部分。
測試表明,fastjson具有極快的性能,超越任其他的Java Json parser。包括自稱最快的JackJson,功能強大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;無依賴,能夠直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)
FastJson 說明:https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5
注意:FastJson有分Java版本和Android版本的,不要弄錯了,很多博客上都沒提及這一點
android FastJson jar 下載地址:https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.11/fastjson-1.2.11.jar
將該jar包拷貝到項目的libs目錄下,android會自動引用
FastJson中的常用方法:
1、Person.java
class Person { //姓名 private String name = null; //年齡 private int age = 0; //是否為男性 private boolean isMale = true; //孩子的姓名 private List<String> childName = new ArrayList<String>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isMale() { return isMale; } public void setMale(boolean isMale) { this.isMale = isMale; } public List<String> getChildName() { return childName; } public void setChildName(List<String> childName) { this.childName = childName; } public void init() { name = "Bob"; age = 25; isMale = true; childName.add("Tina"); childName.add("Linda"); childName.add("Tom"); } @Override public String toString() { //URL:http://www.bianceng.cn/OS/extra/201608/50411.htm String str = "姓名: " + name + ", 年齡: " + age + ", 性別: " + (isMale?"男性":"女性") + "\n"; if(childName != null && childName.size() != 0) { str = str + "孩子個數: " + childName.size() + "\n"; for(int i=0;i<childName.size(); i++) { str = str + "\t" + i + ". " + childName.get(i) + "\n"; } } return str; } }
2、activity_fastjson.xml 就一個TextView用來顯示結果
3、FastjsonActivity.java
public class FastjsonActivity extends Activity { public TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fastjson); textView = (TextView) findViewById(R.id.textview); Person person = new Person(); person.init(); //(1) JSONObject personObject = (JSONObject) JSON.toJSON(person); addText(personObject.toString()); //(2) String personStr = JSON.toJSONString(person); addText(personStr); //(3) person = JSON.parseObject(personStr, Person.class); addText(person.toString()); //(4) String jsonArrStr = "[\"a\", \"b\", \"c\", \"d\"]"; JSONArray jsonArr = JSON.parseArray(jsonArrStr); addText(jsonArr.toString()); //(5) List<String> strlist = JSON.parseArray(jsonArrStr, String.class); addText(strlist.toString()); } public void addText(String str) { textView.setText(textView.getText().toString() + str + "\n"); } }
輸出結果:
{“childName”:["Tina","Linda","Tom"],"name":"bob","age":25,"isMale":true}
{"age":25,"childName":["Tina","Linda","Tom"],"isMale":true,"name":"Bob"}
姓名: Bob, 年齡: 25, 性別: 男性
孩子個數: 3
0. Tina
1. Linda
2. Tom
["a","b","c","d"]
[a,b,c,d]
一、推送服務簡介消息推送,顧名思義,是由一方主動發起,而另一方與發起方以某一種方式建立連接並接收消息。在Android開發中,這裡的發起方我們把它叫做推送服務器(Push
在上一篇文章中,我和大家一起實現了類似於Android系統聯系人的分組導航和擠壓動畫功能,不過既然 文章名叫做《Android系統聯系人全特效實現》,那麼沒有快速滾動功能
這篇文章算是對整個引導界面開發專題的一個終結了吧,個人覺得大部分的引導界面基本上都是千篇一律 的,只要熟練掌握了一個,基本上也就沒什麼好說的了,要是在今後的開發中遇到了
前言Android Build 系統是 Android 源碼的一部分。關於如何獲取 Android 源碼,請參照 Android Source 官方網站:http://s