亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 實(shí)現(xiàn)獲取手機(jī)里面的所有圖片詳解及實(shí)例

 更新時(shí)間:2017年05月10日 08:50:43   投稿:lqh  
這篇文章主要介紹了Android 實(shí)現(xiàn)獲取手機(jī)里面的所有圖片詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下

Android 實(shí)現(xiàn)獲取手機(jī)里面的所有圖片詳解及實(shí)例

實(shí)現(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)); 
          //獲取圖片的詳細(xì)信息 
          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的點(diǎn)擊事件 
  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:

<!--獲取手機(jī)存儲(chǔ)卡權(quán)限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Kotlin中?和!!的區(qū)別詳細(xì)對(duì)比

    Kotlin中?和!!的區(qū)別詳細(xì)對(duì)比

    這篇文章主要給大家介紹了關(guān)于Kotlin中?和!!區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Android中View繪制流程詳細(xì)介紹

    Android中View繪制流程詳細(xì)介紹

    這篇文章主要介紹了Android中View繪制流程詳細(xì)介紹,涉及創(chuàng)建ViewRoot并關(guān)聯(lián)View,ViewRoot等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • android 自定義TabActivity的實(shí)例方法

    android 自定義TabActivity的實(shí)例方法

    系統(tǒng)自帶的TabActivity的效果不甚理想。開(kāi)發(fā)中對(duì)TabActivity自定義可能有兩種:第一種:改變TAB行的位置,如放到頁(yè)面下方。第二種:對(duì)TabHost圖片的自定義
    2013-11-11
  • Kotlin類(lèi)的繼承實(shí)現(xiàn)詳細(xì)介紹

    Kotlin類(lèi)的繼承實(shí)現(xiàn)詳細(xì)介紹

    這篇文章主要介紹了Kotlin類(lèi)的繼承,在Java中類(lèi)的繼承默認(rèn)是繼承父類(lèi)的方法和參數(shù)的,但是在kotlin中默認(rèn)是不繼承的,那么我們接下來(lái)來(lái)驗(yàn)證
    2022-09-09
  • Android Notification通知使用詳解

    Android Notification通知使用詳解

    消息通知(Notification)是Android系統(tǒng)中比較有特色的一個(gè)功能,當(dāng)某個(gè)應(yīng)用程序希望用戶發(fā)出一些提示信息,而該應(yīng)用又不在前臺(tái)運(yùn)行時(shí),就可以借助通知來(lái)實(shí)現(xiàn)
    2022-09-09
  • 獲取Android界面性能數(shù)據(jù)的快捷方法

    獲取Android界面性能數(shù)據(jù)的快捷方法

    這篇文章主要介紹了獲取Android界面性能數(shù)據(jù)的快捷方法,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android控件之ProgressBar用法實(shí)例分析

    Android控件之ProgressBar用法實(shí)例分析

    這篇文章主要介紹了Android控件之ProgressBar用法,以一個(gè)完整實(shí)例形式較為詳細(xì)的分析了ProgressBar控件操作進(jìn)度顯示的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí)

    Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí)

    這篇文章主要為大家詳細(xì)介紹了Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android抽屜布局DrawerLayout的簡(jiǎn)單使用

    Android抽屜布局DrawerLayout的簡(jiǎn)單使用

    這篇文章主要為大家詳細(xì)介紹了Android抽屜布局DrawerLayout的簡(jiǎn)單使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android實(shí)現(xiàn)基于滑動(dòng)的SQLite數(shù)據(jù)分頁(yè)加載技術(shù)(附demo源碼下載)

    Android實(shí)現(xiàn)基于滑動(dòng)的SQLite數(shù)據(jù)分頁(yè)加載技術(shù)(附demo源碼下載)

    這篇文章主要介紹了Android實(shí)現(xiàn)基于滑動(dòng)的SQLite數(shù)據(jù)分頁(yè)加載技術(shù),涉及Android針對(duì)SQLite數(shù)據(jù)的讀取及查詢結(jié)果的分頁(yè)顯示功能相關(guān)實(shí)現(xiàn)技巧,末尾還附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-07-07

最新評(píng)論