安卓异步处理json解析例子-创新互联-成都快上网建站

安卓异步处理json解析例子-创新互联

首先有个工具类: Myhttp.class

目前累计服务客户上千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站建设、成都网站设计、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
package com.example.json;

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;



public class Myhttp
{
	public String httpGet(String url)
	{
		String response = null;
		HttpClient httpClient = new DefaultHttpClient();
		//创建HttpGet对象
		HttpGet httpGet = new HttpGet(url);
		HttpResponse httpResponse;
		try
		{
			//使用execute方法发送 HttpGet请求,并返回httRresponse对象
			httpResponse = httpClient.execute(httpGet);
			int statusCode = httpResponse.getStatusLine().getStatusCode();
			if(statusCode==HttpStatus.SC_OK)
			{
				//获得返回结果
				response=EntityUtils.toString(httpResponse.getEntity());
			}
			
		} catch (ClientProtocolException e)
		{
			
			e.printStackTrace();
		} catch (IOException e)
		{
			
			e.printStackTrace();
		}
		
		return response;
	}
}

然后主类

package com.example.json;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

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

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class MainActivity extends Activity {
	ListView list;
	ArrayList> myArrayList = new ArrayList>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		list = (ListView) findViewById(R.id.list);

		new getJsonTask().execute(null, null, null);

	}

	class getJsonTask extends AsyncTask {

		@Override
		protected Object doInBackground(Object... params) {
			String url = "http://www.baidu.com";
			Myhttp myHttp = new Myhttp();
			String retStr = myHttp.httpGet(url);

			try {
				JSONObject json1 = new JSONObject(retStr);
				String j1 = json1.getString("kinds");
				JSONArray j2 = new JSONArray(j1);
				for (int i = 0; i < j2.length(); i++) {
					JSONObject jsonObject = j2.getJSONObject(i);
					String j3 = jsonObject.getString("breeds");
					JSONArray j4 = new JSONArray(j3);
					for (int j = 0; j < j4.length(); j++) {
						JSONObject jsonObject1 = j4.getJSONObject(j);
						String j6 = jsonObject1.getString("id");
						String j7 = jsonObject1.getString("breedName");
						HashMap map = new HashMap();
						map.put("id", j6);
						map.put("name", j7);
						myArrayList.add(map);
					}
				}
			} catch (JSONException e) {
				e.printStackTrace();
			}
			return null;
		}

		@Override
		protected void onPostExecute(Object result) {
			super.onPostExecute(result);
			start();
		}
	}

	private void start() {

		SimpleAdapter mySimpleAdapter = new SimpleAdapter(this, myArrayList,
				R.layout.list_item, new String[] { "id", "name" }, new int[] {
						R.id.name, R.id.age });

		list.setAdapter(mySimpleAdapter);

		list.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView parent, View view,
					int position, long id) {
				
				@SuppressWarnings("unchecked")
				HashMap map = (HashMap) list
						.getItemAtPosition(position);
				String title = map.get("id");
				String content = map.get("name");
				Toast.makeText(
						getApplicationContext(),
						"你选择了第" + position + "个Item,itemTitle的值是:" + title
								+ "itemContent的值是:" + content,
						Toast.LENGTH_SHORT).show();
			}
		});
	}
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:安卓异步处理json解析例子-创新互联
文章起源:http://kswjz.com/article/iiepd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流