HttpURLConnection从网络上获取和提交数据: 文本、图片(smartImageView)、音乐、视频。补间动画 |
您所在的位置:网站首页 › 图像url怎么看 › HttpURLConnection从网络上获取和提交数据: 文本、图片(smartImageView)、音乐、视频。补间动画 |
package com.itheima.newsclient; import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.List; import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView; import com.itheima.newsclient.domain.NewsItem;import com.itheima.newsclient.service.NewsItemParseService; public class MainActivity extends Activity { private ListView lv; private List list; private static final String path = "http://192.168.1.254:8080/news.xml"; private Handler handler = new Handler(){ public void handleMessage(Message msg) { //填充listview lv.setAdapter(new MyAdapter()); }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); //给listview填充数据 fillData(); } private void fillData() { //访问网络,解析xml个数据 new Thread(){ public void run() { // 访问网络,从网络上获取图片的数据,并且现在imageview try { // 1、创建URL对象,打开一个HTTP类型的连接: URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); // 2、设置请求方式GET、POST,连接的超时时间等请求参数: conn.setRequestMethod("GET");// 默认是GET方式,要大写 conn.setReadTimeout(3000); // conn.setRequestProperty("Accept-Language", "zh-CN"); // 3、得到服务器端返回的响应数据(以二进制流的形式返回响应数据),判断响应码是不是200请求成功、404找不到资源、503服务器端内部错误: //判断响应码是不是200 int code = conn.getResponseCode(); if(200 == code){ InputStream is = conn.getInputStream(); // 4、把二进制流的响应数据转换成需要的数据类型: list = NewsItemParseService.parseNewsItems(is); //在imageview上显示一张图片// iv.setImageBitmap(bm); // 2、在子线程中得到handler的引用,调用handler的sendMessage,给主线程发送一个消息,我要修改UI界面了// 创建一个消息对象,消息盒子 Message msg = new Message(); handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } }; }.start(); } private class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view =null; if(convertView != null){ view = convertView; }else{ view = View.inflate(MainActivity.this, R.layout.item, null); } //给布局文件中的控件填充数据 ImageView iv_image = (ImageView) view.findViewById(R.id.iv_image); TextView tv_title = (TextView) view.findViewById(R.id.tv_title); TextView tv_desc = (TextView) view.findViewById(R.id.tv_desc); TextView tv_type = (TextView) view.findViewById(R.id.tv_type); NewsItem item = list.get(position); tv_title.setText(item.getTitle()); tv_desc.setText(item.getDescription()); if("1".equals(item.getType())){ tv_type.setText(item.getComment()+"跟贴"); tv_type.setTextColor(Color.BLACK); }else if("2".equals(item.getType())){ tv_type.setText("视频"); tv_type.setTextColor(Color.BLUE); }else if("3".equals(item.getType())){ tv_type.setText("专题"); tv_type.setTextColor(Color.RED); } return view; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; }
}} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |