Android的显示器JSON对象列表视图
问题描述:
这是在code我工作的:
This is the code I'm working on:
private final static String SERVICE_URI = "http://restwebservice.com/test/Service.svc";
StringEntity entity;
String var;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
callWebService();
Button btn = (Button) findViewById (R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, Test.class);
startActivity(i);
}
});
}
public void callWebService() {
try {
// make web service connection
HttpPost request = new HttpPost(SERVICE_URI + "/TestApplication");
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
// Build JSON string
JSONStringer TestApp = new JSONStringer().object().key("id")
.value("1").key("name").value("manish").key("email")
.value("androidhub4you@gmail.com").key("country")
.value("india").endObject();
entity = new StringEntity(TestApp.toString());
var = EntityUtils.toString(entity);
Log.d("****Parameter Input****", "Testing:" + TestApp);
request.setEntity(entity);
// Send request to WCF service
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
Log.d("WebInvoke", "Saving: " + response.getStatusLine().toString());
// Get the status of web service
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
// print status in log
String line = "";
while ((line = rd.readLine()) != null) {
Log.d("****Status Line***", "Webservice: " + line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
我想显示他们在一个列表视图。你有让我开始与任何教程?我是新来的Web服务。谢谢你。
I want to display them on a listview. Do you have any tutorials to get me started with? I'm new to web services. Thanks.
答
在列表视图最流行的tutirials其中一个可帮助您:
One of the most popular tutirials on list views which may help you:
- 拉维的博客
解析您的json后按以下步骤进行:
Steps to follow after parsing your json:
1. Map your json objects to pojo.
2. Store your pojo in an array list if many are there.
3. Create a list view with a custom adapter.
4. update your listview with answer from the pojo's that you have mapped with
notifyDatasetChanged
您可以使用杰克逊库来解析JSON与一行code。
You can use jackson library to parse json with one line of code.
//1. Convert Java object to JSON format
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("c:\\user.json"), user);
//2. Convert JSON to Java object
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(new File("c:\\user.json"), User.class);
(follow this link for more on object mapping tutorial)