編輯: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推送服務:百度雲推送
一、推送服務簡介消息推送,顧名思義,是由一方主動發起,而另一方與發起方以某一種方式建立連接並接收消息。在Android開發中,這裡的發起方我們把它叫做推送服務器(Push
Android系統聯系人全特效實現(下),字母表快速滾動
在上一篇文章中,我和大家一起實現了類似於Android系統聯系人的分組導航和擠壓動畫功能,不過既然 文章名叫做《Android系統聯系人全特效實現》,那麼沒有快速滾動功能
Android UI設計與開發教程 引導界面(五)實現應用程序只啟動一次引導界面
這篇文章算是對整個引導界面開發專題的一個終結了吧,個人覺得大部分的引導界面基本上都是千篇一律 的,只要熟練掌握了一個,基本上也就沒什麼好說的了,要是在今後的開發中遇到了
理解Android Build系統
前言Android Build 系統是 Android 源碼的一部分。關於如何獲取 Android 源碼,請參照 Android Source 官方網站:http://s