联网获取Json并且解析
来源:互联网 发布:windows正版 编辑:程序博客网 时间:2024/05/17 22:57
package com.example.second;
import java.io.IOException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EncodingUtils;
import org.apache.http.util.EntityUtils;
import com.example.bean.Bean;
import com.example.bean.MyAdapter;
import com.example.bean.MyList;
import com.google.gson.Gson;
import android.os.Bundle;
import android.app.Activity;
import android.content.Entity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private List<MyList> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread() {
public void run() {
getInfo();
};
}.start();
}
private void getInfo() {
String uri = "http://api.sina.cn/sinago/list.json?channel=hdpic_story&adid=4ad30dabe134695c3d7c3a65977d7e72&from=6042095012&chwm=12050_0001&imei=867064013906290&uid=802909da86d9f5fc&p=1";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uri);
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
StatusLine line = httpResponse.getStatusLine();
int statusCode = line.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = httpResponse.getEntity();
String string = EntityUtils.toString(entity);
Log.i(TAG, string);
Gson gson = new Gson();
final Bean fromJson = gson.fromJson(string, Bean.class);
String title = fromJson.data.list.get(3).title;
list = fromJson.data.list;
Log.i("Titl[e", title);
runOnUiThread(new Runnable() {
private ListView listView;
@Override
public void run() {
listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(new MyAdapter(MainActivity.this,
list));
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0,
View arg1, int arg2, long arg3) {
String link = fromJson.data.list.get(arg2)
.getLink();
String title = fromJson.data.list.get(arg2)
.getTitle();
String pic = fromJson.data.list.get(arg2)
.getPic();
String intro = fromJson.data.list.get(arg2)
.getIntro();
Intent intent = new Intent(MainActivity.this,
SecondActivity.class);
intent.putExtra("key", link);
intent.putExtra("title", title);
intent.putExtra("intro", intro);
intent.putExtra("pic", pic);
startActivity(intent);
}
});
}
});
} else {
Toast.makeText(MainActivity.this, "连接服务器失败!", 0).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.IOException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EncodingUtils;
import org.apache.http.util.EntityUtils;
import com.example.bean.Bean;
import com.example.bean.MyAdapter;
import com.example.bean.MyList;
import com.google.gson.Gson;
import android.os.Bundle;
import android.app.Activity;
import android.content.Entity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private List<MyList> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread() {
public void run() {
getInfo();
};
}.start();
}
private void getInfo() {
String uri = "http://api.sina.cn/sinago/list.json?channel=hdpic_story&adid=4ad30dabe134695c3d7c3a65977d7e72&from=6042095012&chwm=12050_0001&imei=867064013906290&uid=802909da86d9f5fc&p=1";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uri);
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
StatusLine line = httpResponse.getStatusLine();
int statusCode = line.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = httpResponse.getEntity();
String string = EntityUtils.toString(entity);
Log.i(TAG, string);
Gson gson = new Gson();
final Bean fromJson = gson.fromJson(string, Bean.class);
String title = fromJson.data.list.get(3).title;
list = fromJson.data.list;
Log.i("Titl[e", title);
runOnUiThread(new Runnable() {
private ListView listView;
@Override
public void run() {
listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(new MyAdapter(MainActivity.this,
list));
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0,
View arg1, int arg2, long arg3) {
String link = fromJson.data.list.get(arg2)
.getLink();
String title = fromJson.data.list.get(arg2)
.getTitle();
String pic = fromJson.data.list.get(arg2)
.getPic();
String intro = fromJson.data.list.get(arg2)
.getIntro();
Intent intent = new Intent(MainActivity.this,
SecondActivity.class);
intent.putExtra("key", link);
intent.putExtra("title", title);
intent.putExtra("intro", intro);
intent.putExtra("pic", pic);
startActivity(intent);
}
});
}
});
} else {
Toast.makeText(MainActivity.this, "连接服务器失败!", 0).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
0 0
- 联网获取Json并且解析
- 图片框架 三重更新 联网获取json 解析
- android通过httpClient请求获取JSON数据并且解析
- android通过httpClient请求获取JSON数据并且解析
- 解析json字符串,并且获取其中某个key的值
- 获取JSON数据并且解析的三种方法
- 联网请求获取json串
- 联网获取json数据,进行解析,并使用listview展示出来
- handler线程,判断是否联网,Get获取网页 json解析,输入流转换字符串
- json数据解析获取全国城市并且添加到数据库中(mavean、城市接口)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- StringTokenizer类的用法
- 正则表达式之常用量词
- 转:解决android.os.NetworkOnMainThreadException
- IOS资源汇集
- C++ Primer Plus Chapter4
- 联网获取Json并且解析
- 我的核心观
- Android 版本更新的实现
- 论c中数组与指针
- JAVA UUID 生成
- Android笔记---四大组件之Broadcast Receive广播接收器详解
- 【PS3】二之国 白色圣灰的女王 日本制造的视觉效果
- os_sem.c
- 谈汇编