Android Studio 基础 之 简单获取手机端所有图片
Android Studio 基础 之 简单获取手机端所有图片
目录
Android Studio 基础 之 简单获取手机端所有图片
一、简单介绍
二、实现原理
三、注意实现
四、预览效果
五、实现步骤
六、关键代码
一、简单介绍
Android 开发中的一些基础操作,使用整理,便于后期使用。
本节介绍,获取移动端所有图片,这里主要是获得了图片的路径(绝对路径)和图片名称,方法不唯一,仅供参考。
二、实现原理
1、使用 Cusor 解析查询 cursor.getColumnIndex(MediaStore.Images.Media.DATA) 获取图片数据
2、 int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
String name = cursor.getString(column_index); 得到图片的据对路径
3、cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME) 获取图片的名称
三、注意实现
1、因为要读取文件夹之类,所以需要读写权限
四、预览效果
五、实现步骤
1、打开Android Studio ,新建工程
2、按照步骤一步一步来,构建一个工程模块
3、编写脚本,获取移动端所有图片路径和名称
4、在 AndroidManifest.xml 添加 读写权限
5、连接设备,打包运行,给应用对应权限,效果如上
六、关键代码
1、MainActivity.java
package com.example.getallimages;import android.database.Cursor;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {ArrayList paths = null;ArrayList names= null;List<Map<String, Object>> listItems;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);GetImagesPath();Log.i("GetImagesPath", "onCreate: listItems.size " + listItems.size());}void GetImagesPath(){paths = new ArrayList();names = 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));// 获取图片的绝对路径int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);String path = cursor.getString(column_index);paths.add(path);names.add(name);Log.i("GetImagesPath", "GetImagesPath: name = "+name+" path = "+ path);}listItems = new ArrayList<>();for (int i = 0; i < paths.size(); i++) {Map<String, Object> map = new HashMap<>();map.put("name", paths.get(i));map.put("desc", names.get(i));listItems.add(map);}}}
2、AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.getallimages"><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
Android Studio 基础 之 简单获取手机端所有图片相关推荐
- Android Studio 基础 之 获取蓝牙Bluetooth 的状态,设置的蓝牙Bluetooth 的开关状态,并监听蓝牙Bluetooth 的状态变化方法整理
Android Studio 基础 之 获取蓝牙Bluetooth 的状态,设置的蓝牙Bluetooth 的开关状态,并监听蓝牙Bluetooth 的状态变化方法整理 目录 Android Studi ...
- 日历 android 周历,Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理...
Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理 目录 Android Studio 基础 之 获取系统Calendar ...
- Android Studio 基础 之 获取系统Calendar 日历日程(可获得当天以后可设定天数范围内的日历日程) (涉及指定日期时间判断是星期几的方法使用)的方法整理
Android Studio 基础 之 获取系统Calendar 日历日程(可获得当天以后可设定天数范围内的日历日程) (涉及指定日期时间判断是星期几的方法使用)的方法整理 目录 Android St ...
- Android Studio 基础 之 截图,指定截图区域动态截图
Android Studio 基础 之 截图,指定截图区域动态截图 目录 Android Studio 基础 之 截图,指定截图区域动态截图 一.简单介绍 二.实现原理 三.注意事项 四.预览效果 五 ...
- 使用Android Studio编写一个简单的音乐盒
文章目录 一.知识要点 二.xml代码 activity_main.xml 三.java代码 MainActivity.java MusicService.java 四.运行界面展示 五. 源码Git ...
- 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2
[[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...
- Android Studio 基础按钮使用
Android Studio 基础按钮使用 按钮使用线性的垂直布局 更改默认按钮的深蓝色背景(https://blog.csdn.net/try17875864815/article/details/ ...
- 安卓逆向_22( 一 ) --- Xposed【 Android Studio + Xposed 实现简单的 hook 】
From:使用渗透测试框架 Xposed 框架 hook 调试 Android APP:https://www.freebuf.com/articles/terminal/56453.html Xpo ...
- Android Studio基础输入文本框EditText
Android Studio基础输入文本框EditText 接续上一节<Android Studio 基础按钮使用> 1.提示文本框.输入文本框,在布局xml编写 <EditText ...
最新文章
- 进程创建函数fork()和vfork()
- 《强化学习周刊》第21期:EMNLP 2020-2021强化学习的最新研究与应用
- 单击触发jquery.autocomplete的两种方法
- OpenGL编程指南13:光源移动
- Java经典面试题整理及答案详解(四)
- Oracle启用和禁用触发器
- PHP-代码审计-文件删除
- jbutton 数组创建 java_java-将JButton数组添加到JPanel(按钮不可见)
- 结对编程 贪吃蛇项目-开发环境搭建过程
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
- 计算机网络安全常见问题,计算机网络安全是指什么?
- sip hold 解决方法【原创】
- SAP官网学习教程(3) HANA数据库开发
- Docotic.Pdf New Crack by Crackdung
- 3.3.7 使用difflib.get_close_matches函数
- 记录从微信商户获取微信支付账单过程
- 《云计算技术与应用基础》课程标准
- office2003word解除安全模式启动
- 达梦数据库巡检脚本--生成html格式的报告
- rails相当于java中的什么_Rails中的ERB中的%,%=,%#和-%有什么区别?