Android 實現(xiàn)獲取手機里面的所有圖片詳解及實例
更新時間:2017年05月10日 08:50:43 投稿:lqh
這篇文章主要介紹了Android 實現(xiàn)獲取手機里面的所有圖片詳解及實例的相關(guān)資料,需要的朋友可以參考下
Android 實現(xiàn)獲取手機里面的所有圖片詳解及實例
實現(xiàn)代碼:
public class MainActivity extends Activity {
//查看圖片按鈕
private Button look;
private Button add;
//顯示圖片名稱的list
ListView show_list;
ArrayList names = null;
ArrayList descs= null;
ArrayList fileNames = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
look = (Button) findViewById(R.id.look);
add = (Button) findViewById(R.id.add);
show_list = (ListView) findViewById(R.id.show_list);
look.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
names = new ArrayList();
descs = new ArrayList();
fileNames = new ArrayList();
Cursor cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
//獲取圖片的名稱
String name = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
//獲取圖片的生成日期
byte[] data = cursor.getBlob(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
//獲取圖片的詳細信息
String desc = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DESCRIPTION));
names.add(name);
descs.add(desc);
fileNames.add(new String(data, 0, data.length - 1));
}
List<Map<String, Object>> listItems = new ArrayList<>();
for (int i = 0; i < names.size(); i++) {
Map<String, Object> map = new HashMap<>();
map.put("name", names.get(i));
map.put("desc", descs.get(i));
listItems.add(map);
}
//設(shè)置adapter
SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, listItems,
R.layout.line, new String[]{"name", "desc"}, new int[]{R.id.name, R.id.desc});
show_list.setAdapter(adapter);
}
});
///list的點擊事件
show_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
View viewDiag = getLayoutInflater().inflate(R.layout.view,null);
ImageView image = (ImageView)viewDiag.findViewById(R.id.image);
image.setImageBitmap(BitmapFactory.decodeFile((String) fileNames.get(i)));
new AlertDialog.Builder(MainActivity.this).setView(viewDiag)
.setPositiveButton("確定",null).show();
}
});
}
}
XML:
<!--獲取手機存儲卡權(quán)限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android垃圾回收機制及程序優(yōu)化System.gc
這篇文章主要介紹了Android垃圾回收機制及程序優(yōu)化System.gc的相關(guān)資料,需要的朋友可以參考下2016-01-01
Android利用ContentProvider初始化組件的踩坑記錄
做Android SDK開發(fā)的時候,一般我們會將初始化的方法封裝,然后讓調(diào)用SDK的開發(fā)者在Application的onCreate方法中進行初始化,下面這篇文章主要給大家介紹了關(guān)于Android利用ContentProvider初始化組件的踩坑記錄,需要的朋友可以參考下2022-04-04
Android自定義View實現(xiàn)簡單炫酷的球體進度球?qū)嵗a
這篇文章主要給大家介紹了關(guān)于Android自定義View實現(xiàn)簡單炫酷的球體進度球的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Android實現(xiàn)微信右側(cè)頂部下拉對話框
這篇文章主要為大家詳細介紹了Android實現(xiàn)微信右側(cè)頂部下拉對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Android LeakCanary檢測內(nèi)存泄露原理
這篇文章主要介紹了分析LeakCanary檢測內(nèi)存泄露原理,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下2021-03-03

