当前位置:编程学习 > wap >>

universalimageloader开发相册问题

用universalimageloader做相册,自已加了一个功能,读取列表后,点击某图片,可以弹出菜单下载图片做为手机墙纸,图片路径之间传值要怎样改才对?现在传不了值过去。。。

public class ImagePagerActivity extends BaseActivity {
private ViewPager pager;
private static final String SKIN_ID = "skin_id";
private DisplayImageOptions options;
InputStream is;    
    HttpURLConnection conn;    
    Bitmap b;
  private String wzStr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.ac_image_pager);
  Bundle bundle = getIntent().getExtras();
  String[] imageUrls = bundle.getStringArray(Extra.IMAGES);    //图片路径
  int pagerPosition = bundle.getInt(Extra.IMAGE_POSITION, 0);
  options = new DisplayImageOptions.Builder()
   .showImageForEmptyUri(R.drawable.image_for_empty_url)
   .cacheOnDisc()
   .imageScaleType(ImageScaleType.EXACT)
   .build();
  pager = (ViewPager) findViewById(R.id.pager);
  pager.setAdapter(new ImagePagerAdapter(imageUrls));
  pager.setCurrentItem(pagerPosition);
  wzStr= imageUrls .toString();     //传入图片路径
}
   
@Override
protected void onStop() {
  imageLoader.stop();
  super.onStop();
}
private class ImagePagerAdapter extends PagerAdapter {
  private String[] images;
  private LayoutInflater inflater;
  
  ImagePagerAdapter(String[] images) {   
   this.images = images;
   inflater = getLayoutInflater();

  }
  @Override
  public void destroyItem(View container, int position, Object object) {
   ((ViewPager) container).removeView((View) object);
  }
  @Override
  public void finishUpdate(View container) {
  }
  @Override
  public int getCount() {
   return images.length;
  }
  @Override
  public Object instantiateItem(View view, int position) {
   final FrameLayout imageLayout = (FrameLayout) inflater.inflate(R.layout.item_pager_image, null);
   final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
   final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);

  
   
   imageLoader.displayImage(images[position], imageView, options, new ImageLoadingListener() {
    @Override
    public void onLoadingStarted() {
     spinner.setVisibility(View.VISIBLE);
    }
    @Override
    public void onLoadingFailed(FailReason failReason) {
     String message = null;
     switch (failReason) {
      case IO_ERROR:
       message = "Input/Output error";
       break;
      case OUT_OF_MEMORY:
       message = "Out Of Memory error";
       break;
      case UNKNOWN:
       message = "Unknown error";
       break;
     }
     Toast.makeText(ImagePagerActivity.this, message, Toast.LENGTH_SHORT).show();
     spinner.setVisibility(View.GONE);
     imageView.setImageResource(android.R.drawable.ic_delete);
    }
    @Override
    public void onLoadingComplete() {
     spinner.setVisibility(View.GONE);
     Animation anim = AnimationUtils.loadAnimation(ImagePagerActivity.this, R.anim.fade_in);
     imageView.setAnimation(anim);
     anim.start();
    }
    @Override
    public void onLoadingCancelled() {
     // Do nothing
    }
   });
   ((ViewPager) view).addView(imageLayout, 0);
   return imageLayout;
  }
  @Override
  public boolean isViewFromObject(View view, Object object) {
   return view.equals(object);
  }
  @Override
  public void restoreState(Parcelable state, ClassLoader loader) {
  }
  @Override
  public Parcelable saveState() {
   return null;
  }
  @Override
  public void startUpdate(View container) {
  }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
          // TODO Auto-generated method stub
          menu.add(0, 1, 1, R.string.down);
          menu.add(0, 2, 2, R.string.about);
          
          menu.add(0, 3, 3, R.string.up);
          return super.onCreateOptionsMenu(menu);
  }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
         // TODO Auto-generated method stub
          if(item.getItemId()==1)
          {
           try {    
            Toast.makeText(ImagePagerActivity.this, "连网下载中,请稍等", 10).show();  
          
            URL url = new URL("wzStr");   //取得图片路径
              conn = (HttpURLConnection)url.openConnection();    
               conn.setDoInput(true);      
              conn.setConnectTimeout(1000);      
               conn.setRequestMethod("GET");      
               conn.connect();      
               is = conn.getInputStream();    
              
               int length = (int)conn.getContentLength();    
               if(length!=-1)    
              {    
                   byte[] imgdata = new byte[length];    
                   byte[] temp = new byte[512];    
                   int readlen = 0;    
                   int destPos = 0;    
                 while((readlen = is.read(temp))>0)    
                 {    
                      System.arraycopy(temp, 0, imgdata, destPos, readlen);    
                      destPos += readlen;    
                   }    
                 b = BitmapFactory.decodeByteArray(imgdata, 0, imgdata.length);    
             }    
                 
          } catch (MalformedURLException e1) {    
              // TODO Auto-generated catch block    
               e1.printStackTrace();    
         } catch (IOException e1) {    
              // TODO Auto-generated catch block    
               e1.printStackTrace();    
          }    
               
          try {    
           
               System.out.println("echo==="+b);    
              setWallpaper(b);    
              Toast.makeText(ImagePagerActivity.this, "桌面设置成功", 1000).show();
               is.close();    
              conn.disconnect();    
          } catch (Exception e) {    
               // TODO Auto-generated catch block   
           Toast.makeText(ImagePagerActivity.this, "图片下载失败", 10).show();
              e.printStackTrace();    
           }    
                 // finish();
          }
else if(item.getItemId()==2)
          {
              
           Intent intent = new Intent(ImagePagerActivity.this,About_Page.class);
           startActivity(intent);
           ImagePagerActivity.this.finish(); 
          }
else if(item.getItemId()==3)
{

  UpdateManager updateManager = new UpdateManager(ImagePagerActivity.this);

  updateManager.checkUpdate();
}
          return super.onOptionsItemSelected(item);
  }}
android universalimageloader
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,