android 擷取相簿清單的實現及源碼下載(四),android源碼下載

來源:互聯網
上載者:User

android 擷取相簿清單的實現及源碼下載(四),android源碼下載

該項目實現的功能如下:
擷取手機相簿,點擊每個相簿之後進入該相簿的圖片列表介面,在圖片列表介面可以實現圖片多選,然後進入所選擇的圖片介面,在該介面內可以實現所選圖片的上傳等功能。
該項目最大特色:
1、擷取相簿清單,目前網路上面介紹擷取相簿的項目很少,本文專門講述相簿的擷取。
2、使用Android-Universal-Image-Loader整合架構-第三方jar包載入本地圖片,熟悉這個jar的開發人員肯定不陌生,該jar包十分強大,除了可以擷取網狀圖片,本地圖片也是可以的。同時,通過引用第三方jar可以有效解決OOM異常問題。

以上三篇博文的地址如下:
android 擷取相簿清單的實現及源碼下載(一)
android 擷取相簿清單的實現及源碼下載(二)
android 擷取相簿清單的實現及源碼下載(三)

本篇繼續上面三篇博文的內容講述,下面給出在選定的相簿裡面的圖片之後,Activity跳轉到所選擇的圖片的介面,就是把所選擇的圖片載入到介面當中顯示,這樣處理方便開發人員對所選擇的圖片進行處理,如上傳等可以根據自己的需求進一步開發。
下面給出Activity類的代碼:

public class SelectedImagesActivity extends Activity implements OnClickListener{    private GridView gridView;    private TextView back,ok;    private ArrayList<PhotoUpImageItem> arrayList;//存放所選擇的圖片列表    private SelectedImagesAdapter adapter;//適配器    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.selected_images_grid);        init();        setclickListener();    }    @SuppressWarnings("unchecked")    private void init(){        gridView = (GridView) findViewById(R.id.selected_images_gridv);        back = (TextView) findViewById(R.id.back);        ok = (TextView) findViewById(R.id.sure);        arrayList = (ArrayList<PhotoUpImageItem>) getIntent().getSerializableExtra("selectIma");        adapter = new SelectedImagesAdapter(SelectedImagesActivity.this,                arrayList);        gridView.setAdapter(adapter);    }    private void setclickListener(){        back.setOnClickListener(this);        ok.setOnClickListener(this);        gridView.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view,                    int position, long id) {            }        });    }    @Override    protected void onDestroy() {        super.onDestroy();    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.back:            finish();            break;        case R.id.sure:            Toast.makeText(SelectedImagesActivity.this,                    "上傳等操作,開發人員可以自己處理", Toast.LENGTH_LONG).show();            break;        }    }}

Activity類代碼很簡單,下面給出適配器代碼:

public class SelectedImagesAdapter extends BaseAdapter {    private ArrayList<PhotoUpImageItem> arrayList;    private LayoutInflater layoutInflater;    private ImageLoader imageLoader;    private DisplayImageOptions options;    public SelectedImagesAdapter(Context context,ArrayList<PhotoUpImageItem> arrayList){        this.arrayList = arrayList;        layoutInflater = LayoutInflater.from(context);        imageLoader = ImageLoader.getInstance();        // 使用DisplayImageOption.Builder()建立DisplayImageOptions        options = new DisplayImageOptions.Builder()                .showStubImage(R.drawable.album_default_loading_pic)                 // 設定圖片下載期間顯示的圖片                .showImageForEmptyUri(R.drawable.album_default_loading_pic)                 // 設定圖片Uri為空白或是錯誤的時候顯示的圖片                .showImageOnFail(R.drawable.album_default_loading_pic)                 // 設定圖片載入或解碼過程中發生錯誤顯示的圖片                .cacheInMemory(true)                 // 設定下載的圖片是否緩衝在記憶體中                .cacheOnDisc(true)                 // 設定下載的圖片是否緩衝在SD卡中                // .displayer(new RoundedBitmapDisplayer(20))                 // 設定成圓角圖片                .bitmapConfig(Config.ARGB_8888)                .imageScaleType(ImageScaleType.IN_SAMPLE_INT)                .build(); // 建立配置過的DisplayImageOption對象    }    @Override    public int getCount() {        return arrayList.size();    }    @Override    public Object getItem(int position) {        return arrayList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        Holder holder;        if (convertView == null) {            convertView = layoutInflater.inflate(R.layout.selected_images_adapter_item, parent, false);            holder = new Holder();            holder.imageView = (ImageView) convertView.findViewById(R.id.selected_image_item);            convertView.setTag(holder);        }else {            holder = (Holder) convertView.getTag();        }        imageLoader.displayImage("file://"+arrayList.get(position).getImagePath(), holder.imageView,                options);        return convertView;    }    class Holder{        ImageView imageView;    }}

適配器代碼也很簡單,直接使用圖片載入器-第三方jar包實現,點擊確定按鈕開發人員可以進行後續的開發工作。
至此整個項目講述完畢。如果各位朋友有什麼疑問或者發現文中有誤,請不吝賜教!非常感謝!同時,由於本人水平有限,如果博文中有什麼錯誤的地方,請多多包涵,歡迎批評指正!【握手】

博文連結:
android 擷取相簿清單的實現及源碼下載(一)
android 擷取相簿清單的實現及源碼下載(二)
android 擷取相簿清單的實現及源碼下載(三)

源碼下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.