日期:2014-05-16  浏览次数:20419 次

JSON在android中的应用(1)
android框架已经为我们集成了解析json的包

先一个简单的例子,json直接写在string中

import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class JsonAndroidActivity extends Activity implements OnClickListener{
	private Button jsonbutton;
	private JSONObject obj;
	private String staticObject = "{\"firstname\":\"Steve\",\"lastname\":\"Jobs\",\"cellphones\":\"0\"}";   
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        jsonbutton = (Button)findViewById(R.id.jsonbutton);
        jsonbutton.setOnClickListener(this);
    }
    
    @Override
    public void onClick(View v) {
    	switch(v.getId()){
    		case R.id.jsonbutton:{
	    		try {
	    			obj = new JSONObject(staticObject);
	    			String x = obj.get("firstname").toString() + "" + obj.get("lastname").toString() + "has" + obj.getInt("cellphones")+ "Android phones";
	    			setStatus(x);
	    		} catch (JSONException e) {
	    			setStatus("Error occured " + e.getMessage());
	    		}
    		}
    	}
    	
    }
    
    void setStatus(String x){
    	TextView tv = (TextView)findViewById(R.id.jsontextView);
    	tv.setText(x);
    }
}


mian.xml
 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:text="TextView" 
    		  android:id="@+id/jsontextView" 
    		  android:layout_width="wrap_content"
    		  android:layout_height="wrap_content"/>

	<Button android:text="json" 
			android:id="@+id/jsonbutton" 
			android:layout_width="wrap_content" 
			android:layout_height="wrap_content"/>
</LinearLayout>

在以后的文章里将要深入了解一下android中JSON使用