1 如何通过http协议从网上下载图片

通过地址构造URL对象,同过URL对象得到HttpURLConnection 对象,然后得到InputStream ,再用InputStream 构造Bitmap 对象。

public Bitmap getBitmapFromUrl(String url) {Bitmap bitmap = null;URL BitmapUrl=null;try {BitmapUrl = new URL(url);} catch (MalformedURLException e1) {e1.printStackTrace();}try {HttpURLConnection conn = (HttpURLConnection) BitmapUrl.openConnection();conn.connect();InputStream is = conn.getInputStream();bitmap = BitmapFactory.decodeStream(is);is.close();} catch (IOException  e) {e.printStackTrace();}return bitmap;}

将返回的Bitmap对象作为参数传入ImageView的setImageBitmap中,就可以在ImageView控件中显示图像了。

3 每个微博条目布局的xml文件怎么写

左边一个头标的图片,右边一堆;右边最上边是昵称加时间,然后下边是内容,有图片的话还会加上图片,然后下边是个框,框住转发的东西包括昵称,内容加图片。

转发的内容有的多有的少啊,这个框该多大呢?还好Android提供了个工具可以制作自由拉伸的图片.9.png图片

3.1可拉伸的图片,.9.png图片的实现

在Android的sdk的tools文件夹中,有个draw9patch.bat工具,打开一个png文件,然后有鼠标在左和上方画黑线,则可以看出水平绿色的区域表示当上下拉伸时扩展的区域,垂直的表示左右拉伸时扩展的区域,没被包含的表示拉伸时保持不变

3.2 布局界面的实现

<?xml version="1.0" encoding="utf-8"?><!-- 全局是个LinearLayout,左边是头像,右边是一堆别的东西 --><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="horizontal"><!-- 左边的头像+v认证 --><RelativeLayout android:layout_width="55.0dip"android:layout_height="55.0dip" android:layout_weight="0.0"><!--头像, android:scaleType="fitCenter",变大小居中显示 --><ImageView android:id="@+id/home_headicon"android:background="@drawable/headicon" android:layout_width="45.0dip"android:layout_height="45.0dip" android:scaleType="fitCenter" /><!-- v认证,将其置于父窗口的右下脚 --><ImageView android:layout_height="wrap_content"android:layout_width="wrap_content" android:id="@+id/vertify"android:src="@drawable/v" android:layout_alignParentRight="true"android:layout_alignParentBottom="true"></ImageView></RelativeLayout><!-- 右边的一堆,如同表格似的一行一行的表示 --><LinearLayout android:orientation="vertical" android:id="@+id/lyRightLayout"android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_margin="5.0dip"><!-- 用来显示昵称时间的最上面一行 --><LinearLayout android:orientation="horizontal"android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_marginRight="3.0dip"><!--左边显示昵称 --><TextView android:textSize="15.0sp" android:textColor="#ffff00"android:id="@+id/ltmUserName" android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="昵称" /><!-- 时间还有一个小图片 --><RelativeLayout android:gravity="right"android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_marginRight="3.0dip" android:layout_weight="1.0"><!--时间 --><TextView android:textSize="12.0sp" android:textColor="#ffff00"android:layout_gravity="right" android:id="@+id/ltmDate"android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_marginLeft="3.0dip" android:text="时间"android:layout_alignParentRight="true" /><!--时间图片 --><ImageView android:id="@+id/ltmtimePic"android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_marginTop="3.0dip" android:src="@drawable/timepic"android:layout_toLeftOf="@id/ltmDate" android:layout_alignTop="@id/ltmDate" /></RelativeLayout></LinearLayout><!--微博的主要内容 --><TextView android:textSize="20.0sp" android:textColor="#fffff0"android:id="@+id/lsmContent" android:layout_width="fill_parent"android:layout_height="wrap_content" android:layout_marginTop="10.0dip"android:text="这里显示微博的内容" /><!-- 微博的图片,如果有的话 --><ImageView android:id="@+id/lsmweiboPic" android:visibility="gone"android:layout_width="wrap_content" android:layout_height="wrap_content" /><!-- 如果是转发的微博的话,源微博显示在下面,背景就是可伸缩的图片 --><LinearLayout android:orientation="vertical" android:id="@+id/subLayout"android:background="@drawable/popup" android:layout_width="fill_parent"android:layout_height="wrap_content" android:layout_marginBottom="4.0dip"><!--源微博的内容 --><TextView android:textSize="18.0sp" android:textColor="#00ffff"android:id="@+id/lsmretweedweibo" android:layout_width="fill_parent"android:layout_height="wrap_content" android:layout_marginTop="3.0dip"android:layout_marginBottom="3.0dip" android:text="转发微博的源微博" /><!-- 源微博的图片,如果有的话 --><ImageView android:id="@+id/subweiboPic"android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout></LinearLayout></LinearLayout>

将getView中的代码替换如下:

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {/*Log.i("myweibo", "listadpter--->getView  position:" + position);TextView tv1 = new TextView(ctx);tv1.setText(adplist.get(position).getUser().getName() + ":"+ adplist.get(position).getText() + "\npic:"+ adplist.get(position).getBmiddle_pic());return tv1;*/Status tmpstu = adplist.get(position);convertView = inflater.inflate(R.layout.homelistitem, null);TextView tv1 = (TextView)convertView.findViewById(R.id.ltmUserName);tv1.setText(tmpstu.getUser().getName());TextView tv2 = (TextView)convertView.findViewById(R.id.lsmContent);tv2.setText(tmpstu.getText());ImageView iv1 = (ImageView)convertView.findViewById(R.id.home_headicon);if(!(tmpstu.getUser().getProfileImageURL()).equals("")){iv1.setImageBitmap(WeiboUtil.getBitmapFromUrl(tmpstu.getUser().getProfileImageURL()));}ImageView iv2 = (ImageView)convertView.findViewById(R.id.lsmweiboPic);if(tmpstu.getThumbnail_pic()!=""){iv2.setImageBitmap(WeiboUtil.getBitmapFromUrlString(tmpstu.getThumbnail_pic()));iv2.setVisibility(View.VISIBLE);}LinearLayout sublay = (LinearLayout)convertView.findViewById(R.id.subLayout);Status retsta = tmpstu.getRetweeted_status();if(retsta==null){sublay.setVisibility(View.GONE);}else{TextView tv3 = (TextView)convertView.findViewById(R.id.lsmretweedweibo);tv3.setText("@"+retsta.getUser().getName()+":"+retsta.getText());if(retsta.getThumbnail_pic()!=""){ImageView iv3 = (ImageView)convertView.findViewById(R.id.subweiboPic);iv3.setImageBitmap(WeiboUtil.getBitmapFromUrlString(retsta.getThumbnail_pic()));}}return convertView;}


看看效果:

就是背景黑了点,字体大了点.......但该有的倒是都有了啊!

更多相关文章

  1. Anroid图片格式转换程序(winXP+cygwin+opencv+ndk)
  2. android实现上传本地图片到网络功能
  3. Android实现淘宝倒计时功能
  4. android:强大的图片下载和缓存库Picasso
  5. android webview加载网页不显示图片问题
  6. Android之Volley框架加载网络图片的三种方式
  7. Android仿微信选择图片和拍照功能
  8. 今天的小收获
  9. android 获取UTC时间和与.net时间戳的转换

随机推荐

  1. android启动优化
  2. Android(安卓)Studio实现人民币与美元的
  3. android实现签名功能
  4. Android7.0中文文档(API)-- AdapterView.On
  5. android屏幕截图
  6. 关于Android的Activity的onCreate多次调
  7. 好久米有碎碎念啦 android how to click
  8. Android(安卓)中使用MediaRecorder进行录
  9. 【Android】_MyContentProvider_外部访问
  10. Android: change app names