第一周
来源:互联网 发布:博雅立方 知乎 编辑:程序博客网 时间:2024/05/16 06:23
package com.example.diyizhoulx;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
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;
import com.bwei.bean.Bean;
import com.bwei.bean.Bean2;
import com.google.gson.Gson;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private ListView listview;
private ProgressDialog pd;
private List<Bean2> newslist;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(ListView) findViewById(R.id.listview);
}
public void client(View v){
}
public void url(View v){
//构造出来
MyTask myTask=new MyTask();
myTask.execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");
}
//Params地址 请求的地址的类型 String Void
//Progress 请求网络数据的进度 一般是 integer Void
//Result 请网络数据得到的结果 一般是 json xml Void 自定义对象 List<?>
class MyTask extends AsyncTask<String, Void, String>{
protected String doInBackground(String... params) {
String k="";
try {
/* //创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//创建httpget对象
HttpGet hg=new HttpGet(params[0]);
//执行请求
HttpResponse execute = hc.execute(hg);
int statusCode = execute.getStatusLine().getStatusCode();
if(statusCode==200){
//得到请求的结果
HttpEntity entity = execute.getEntity();
//把请求变成字符转
k=EntityUtils.toString(entity);
}*/
URL url=new URL(params[0]);
//打开连接
// Toast.makeText(MainActivity.this, "进入", 0).show();
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
openConnection.setRequestMethod("GET");
openConnection.setReadTimeout(3000);
openConnection.setConnectTimeout(3000);
//获取返回码 以此判断是否成功
int responseCode=openConnection.getResponseCode();
if(responseCode==200){
// Toast.makeText(MainActivity.this, "200", 0).show();
//通过流来得到值
InputStream inputStream = openConnection.getInputStream();
k=zstring(inputStream);
Log.d("zzz", k);
Gson gson=new Gson();
Bean fromJson = gson.fromJson(k, Bean.class);
// Toast.makeText(MainActivity.this, "++++", 0).show();
newslist = fromJson.getNewslist();
}
//java.net.UnknownHostException: Unable to resolve host "api.tianapi.com": No address associated with hostname
} catch (Exception e) {
e.printStackTrace();
}
return k;
}
//在执行操作之前
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(MainActivity.this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setMessage("正在请求数据..");
pd.show();
}
//在执行操作之后
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(pd!=null&&pd.isShowing()){
pd.dismiss();
}
MyAdapter adapter=new MyAdapter();
listview.setAdapter(adapter);
}
}
//返回字符串
public String zstring(InputStream in){
BufferedReader br=new BufferedReader(new InputStreamReader(in));
StringBuilder builder=new StringBuilder();
String con;
try {
while((con=br.readLine())!=null){
builder.append(con);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return builder.toString();
}
//listview适配器
class MyAdapter extends BaseAdapter{
public int getCount() {
return newslist.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return newslist.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
Log.i("zzz", newslist.toString());
if(convertView==null){
convertView=View.inflate(MainActivity.this, R.layout.item, null);
holder=new ViewHolder();
holder.msg1=(TextView) convertView.findViewById(R.id.msg1);
holder.msg2=(TextView) convertView.findViewById(R.id.msg2);
holder.msg3=(TextView) convertView.findViewById(R.id.msg3);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
holder.msg1.setText(newslist.get(position).getCtime());
holder.msg2.setText(newslist.get(position).getTitle());
holder.msg3.setText(newslist.get(position).getDescription());
return convertView;
}
class ViewHolder{
TextView msg1;
TextView msg2;
TextView msg3;
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
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;
import com.bwei.bean.Bean;
import com.bwei.bean.Bean2;
import com.google.gson.Gson;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private ListView listview;
private ProgressDialog pd;
private List<Bean2> newslist;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(ListView) findViewById(R.id.listview);
}
public void client(View v){
}
public void url(View v){
//构造出来
MyTask myTask=new MyTask();
myTask.execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");
}
//Params地址 请求的地址的类型 String Void
//Progress 请求网络数据的进度 一般是 integer Void
//Result 请网络数据得到的结果 一般是 json xml Void 自定义对象 List<?>
class MyTask extends AsyncTask<String, Void, String>{
protected String doInBackground(String... params) {
String k="";
try {
/* //创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//创建httpget对象
HttpGet hg=new HttpGet(params[0]);
//执行请求
HttpResponse execute = hc.execute(hg);
int statusCode = execute.getStatusLine().getStatusCode();
if(statusCode==200){
//得到请求的结果
HttpEntity entity = execute.getEntity();
//把请求变成字符转
k=EntityUtils.toString(entity);
}*/
URL url=new URL(params[0]);
//打开连接
// Toast.makeText(MainActivity.this, "进入", 0).show();
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
openConnection.setRequestMethod("GET");
openConnection.setReadTimeout(3000);
openConnection.setConnectTimeout(3000);
//获取返回码 以此判断是否成功
int responseCode=openConnection.getResponseCode();
if(responseCode==200){
// Toast.makeText(MainActivity.this, "200", 0).show();
//通过流来得到值
InputStream inputStream = openConnection.getInputStream();
k=zstring(inputStream);
Log.d("zzz", k);
Gson gson=new Gson();
Bean fromJson = gson.fromJson(k, Bean.class);
// Toast.makeText(MainActivity.this, "++++", 0).show();
newslist = fromJson.getNewslist();
}
//java.net.UnknownHostException: Unable to resolve host "api.tianapi.com": No address associated with hostname
} catch (Exception e) {
e.printStackTrace();
}
return k;
}
//在执行操作之前
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(MainActivity.this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setMessage("正在请求数据..");
pd.show();
}
//在执行操作之后
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(pd!=null&&pd.isShowing()){
pd.dismiss();
}
MyAdapter adapter=new MyAdapter();
listview.setAdapter(adapter);
}
}
//返回字符串
public String zstring(InputStream in){
BufferedReader br=new BufferedReader(new InputStreamReader(in));
StringBuilder builder=new StringBuilder();
String con;
try {
while((con=br.readLine())!=null){
builder.append(con);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return builder.toString();
}
//listview适配器
class MyAdapter extends BaseAdapter{
public int getCount() {
return newslist.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return newslist.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
Log.i("zzz", newslist.toString());
if(convertView==null){
convertView=View.inflate(MainActivity.this, R.layout.item, null);
holder=new ViewHolder();
holder.msg1=(TextView) convertView.findViewById(R.id.msg1);
holder.msg2=(TextView) convertView.findViewById(R.id.msg2);
holder.msg3=(TextView) convertView.findViewById(R.id.msg3);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
holder.msg1.setText(newslist.get(position).getCtime());
holder.msg2.setText(newslist.get(position).getTitle());
holder.msg3.setText(newslist.get(position).getDescription());
return convertView;
}
class ViewHolder{
TextView msg1;
TextView msg2;
TextView msg3;
}
}
}
阅读全文
0 0
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周。。
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 方法重载和方法覆盖及其异同(Java)
- sqlalchemy建表补充于关联查询
- abstract class和interface有什么区别?
- CIFAR10数据集 matlab可视化及理解
- Java虚拟机是如何实现安全性?
- 第一周
- hadoop学习笔记
- 滑动解锁
- abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
- 深入理解Java虚拟机读书笔记--第十二章 Java 内存模型与线程
- The C Programming Language 练习题3-1
- Kotlin 学习1-HelloWorld
- C++ MFC / VS2013 之十八(常用控件:静态文本框)
- html动画模板