第九周总结
本周是冲刺第一周,尝试编写Android的上传图片功能。因为是新的知识,这周编写项目的时候BUG有很多。一开始是图片无法显示,之后是框架做得很糟糕,最后好不容易调出图片,但只能显示一张,我得目的是多张上传,最后还是一一改正了。先附上几个印象较深的代码:
1 package com.example.toa; 2 3 import android.content.Context; 4 import android.util.AttributeSet; 5 import android.widget.GridView; 6 7 public class MyGridView extends GridView{ 8 9 public MyGridView(Context context, AttributeSet attrs) { 10 super(context, attrs); 11 } 12 13 public MyGridView(Context context){ 14 super(context); 15 } 16 17 public MyGridView(Context context, AttributeSet attrs, int defStyle){ 18 super(context); 19 } 20 21 @Override 22 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ 23 int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST); 24 super.onMeasure(widthMeasureSpec,expandSpec); 25 } 26 }
这是初试GridView。
1 @Override 2 protected void onResume() { 3 // TODO Auto-generated method stub 4 super.onResume(); 5 //判定有图片添加 6 if (!TextUtils.isEmpty(pathImage)) { 7 //bitmap回显 8 Bitmap addbmp = BitmapFactory.decodeFile(pathImage); 9 //将信息存入Map中 10 HashMap<String, Object> map = new HashMap<String, Object>(); 11 map.put("itemImage", addbmp); 12 imageItem.add(map); 13 //在griditem_addpic.xml中向imageView1添加图片 14 simpleAdapter = new SimpleAdapter(this, imageItem, 15 R.layout.griditem_addpic, new String[] { "itemImage" }, 16 new int[] { R.id.imageView1 }); 17 simpleAdapter.setViewBinder(new ViewBinder() { 18 @Override 19 public boolean setViewValue(View view, Object data, 20 String textRepresentation) { 21 // TODO Auto-generated method stub 22 if (view instanceof ImageView && data instanceof Bitmap) { 23 ImageView i = (ImageView) view; 24 i.setImageBitmap((Bitmap) data); 25 return true; 26 } 27 return false; 28 } 29 }); 30 gridView.setAdapter(simpleAdapter); 31 simpleAdapter.notifyDataSetChanged(); 32 // 刷新后释放防止手机休眠后自动添加 33 pathImage = null; 34 dialog.dismiss(); 35 } 36 37 }
这里是尝试bitmap。
一般图片上传最常见的两个地方,也是核心学习的部分,希望下周能有更好的收获吧。。。