日期:2014-05-16 浏览次数:20532 次
在上一篇中搭建了服务器端的程序,这篇我们来建立一个Android项目,来访问服务器取得JSON格式数据,并解析JSON数据格式,输出到日志控制台。
我们建立的项目目录结构如下:
运行的界面截图:
当我们分别点击四个按钮,可以看到控制台的输出日志:
以下是源代码:
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/person" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="解析person数据" android:onClick="click"/> <Button android:id="@+id/persons" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="解析persons数据" android:onClick="click"/> <Button android:id="@+id/listString" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="解析listString数据" android:onClick="click"/> <Button android:id="@+id/listMap" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="解析listMap数据" android:onClick="click"/> </LinearLayout>
package com.json.activity; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import com.json.bean.Person; import com.json.util.HttpUtils; import com.json.util.JsonTools; public class MainActivity extends Activity { private static String PATH = "http://192.168.56.1:8080/JsonProject/servlet/JsonServlet"; private static final String TAG = "MainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void click(View v){ switch (v.getId()) { case R.id.person: String path1=PATH+"?action_flag=person"; String jsonString1 = HttpUtils.getJsonContent(path1); Person person = JsonTools.getPerson("person", jsonString1); Log.i(TAG, person.toString()); break; case R.id.persons: String path2=PATH+"?action_flag=persons"; String jsonString2 = HttpUtils.getJsonContent(path2); List<Person> list2 = JsonTools.getPersons("persons", jsonString2); Log.i(TAG, list2.toString()); break; case R.id.listString: String path3=PATH+"?action_flag=listString"; String jsonString3 = HttpUtils.getJsonContent(path3); List<String> list3 = JsonTools.getList("listString", jsonString3); Log.i(TAG, list3.toString()); break; case R.id.listMap: String path4=PATH+"?action_flag=listMap"; String jsonString4 = HttpUtils.getJsonContent(path4); List<Map<String,Object>> list4 = JsonTools.getListMap("listMap", jsonString4); Log.i(TAG, list4.toString()); break; } } }
package com.json.bean; public class Person { private int id; private String name; private String address; public Person() { super(); } public Person(int id, String name, String addrss) { su