列出Android设备上的所有图像

2023-11-30

我试图列出自 14 小时以来 Android 设备中的所有图像及其路径,但我无法..它一直给我“java.lang.RuntimeException:无法启动活动 ComponentInfo”错误。

我不明白为什么..

有什么帮助吗?

package com.example.allpicsexample;

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle; 
import android.provider.MediaStore;
import android.view.Menu; 
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView; 
import android.widget.AdapterView.OnItemClickListener;

/** * Displays images from an SD card. */ public class MainActivity extends Activity {

/**
 * Cursor used to access the results from querying for images on the SD card.
 */
private Cursor cursor;
/*
 * Column index for the Thumbnails Image IDs.
 */
private int columnIndex;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String filePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
    System.out.println("the path is : "+filePath);

}
}

这是 LogCat 信息:

11-14 08:29:01.739: D/AndroidRuntime(16788): 关闭虚拟机 11-14 08:29:01.739: W/dalvikvm(16788): threadid=1: 线程退出 未捕获的异常(组=0x40018578)11-14 08:29:01.749: E/AndroidRuntime(16788): 致命异常: main 11-14 08:29:01.749: E/AndroidRuntime(16788): java.lang.RuntimeException: 无法启动 活动 组件信息{com.example.allpicsexample/com.example.allpicsexample.MainActivity}: java.lang.NullPointerException 11-14 08:29:01.749: E/AndroidRuntime(16788):位于 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.app.ActivityThread.access$1500(ActivityThread.java:117) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.os.Handler.dispatchMessage(Handler.java:99) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.os.Looper.loop(Looper.java:130) 11-14 08:29:01.749: E/AndroidRuntime(16788):位于 android.app.ActivityThread.main(ActivityThread.java:3687) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 java.lang.reflect.Method.invokeNative(本机方法) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 java.lang.reflect.Method.invoke(Method.java:507) 11-14 08:29:01.749: E/AndroidRuntime(16788):位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 dalvik.system.NativeStart.main(本机方法)11-14 08:29:01.749: E/AndroidRuntime(16788):引起:java.lang.NullPointerException 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 com.example.allpicsexample.MainActivity.onCreate(MainActivity.java:37) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 11-14 08:29:01.749: E/AndroidRuntime(16788): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 11-14 08:29:01.749: E/AndroidRuntime(16788): ... 11 更多

这是实现 Abhishek 代码后的第二个崩溃日志

11-14 10:00:20.159: D/AndroidRuntime(19266): 关闭虚拟机 11-14 10:00:20.159: W/dalvikvm(19266): threadid=1: 线程退出 未捕获的异常(组=0x40018578)11-14 10:00:20.189: E/AndroidRuntime(19266):致命异常:主要 11-14 10:00:20.189: E/AndroidRuntime(19266): android.app.SuperNotCalledException: 活动 {com.example.allpicsexample/com.example.allpicsexample.MainActivity} 没有调用 super.onCreate() 11-14 10:00:20.189: E/AndroidRuntime(19266):位于 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1617) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 android.app.ActivityThread.access$1500(ActivityThread.java:117) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 android.os.Handler.dispatchMessage(Handler.java:99) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 android.os.Looper.loop(Looper.java:130) 11-14 10:00:20.189: E/AndroidRuntime(19266):位于 android.app.ActivityThread.main(ActivityThread.java:3687) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 java.lang.reflect.Method.invokeNative(本机方法) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 java.lang.reflect.Method.invoke(Method.java:507) 11-14 10:00:20.189: E/AndroidRuntime(19266):位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 11-14 10:00:20.189: E/AndroidRuntime(19266): 在 dalvik.system.NativeStart.main(本机方法)


您收到异常是因为您尚未初始化cursor目的。 您可以使用下面的代码来获取所有图像的路径。

final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
        final String orderBy = MediaStore.Images.Media._ID;
        //Stores all the images from the gallery in Cursor
        Cursor cursor = getContentResolver().query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
                null, orderBy);
        //Total number of images
        int count = cursor.getCount();

        //Create an array to store path to all the images
        String[] arrPath = new String[count];

        for (int i = 0; i < count; i++) {
            cursor.moveToPosition(i);
            int dataColumnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
            //Store the path of the image
            arrPath[i]= cursor.getString(dataColumnIndex);
            Log.i("PATH", arrPath[i]);
        }  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

列出Android设备上的所有图像 的相关文章

  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • Android Studio 与本地网络共享上的项目文件

    这是我的设置 Android Studio 项目文件位于 Ubuntu 14 10 盒子上的共享文件夹中 尝试在 Windows 8 机器上运行 Android Studio 1 0 2 并将 U 驱动器映射到包含项目文件的 Ubuntu
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • WorkManager 或 AlarmManager 用于日常请求然后通知工作?

    这是用例 用户设置具有特定时间的每日通知 在指定时间 发出网络请求以获取一些数据 然后使用检索到的数据显示通知 我不确定是否应该使用 AlarmManager 还是 WorkManager 来实现这个用例 据我了解 AlarmManager
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 全局内核中的 CUDA 变量

    我的问题是 1 我的理解是否正确 当您在全局内核中声明一个变量时 每个线程都会有该变量的不同副本 这允许您为每个线程在该变量中存储一些中间结果 示例 向量 c a b global void addKernel int c const in
  • 在 Twitter Api 中通过 id 获取用户名

    如何通过对 Twitter Api 的请求通过 userid 获取用户名 其他一些方法 例如followers ids 给我们一个 ID 数组作为响应 我不知道如何从中获取他们的用户名 该方法的响应 followers ids 看起来像这样
  • 如果修改了包含的元素,Java HashSet 将包含重复项

    假设您有一个类 并且创建了一个可以存储该类的实例的 HashSet 如果您尝试添加相等的实例 则集合中只会保留一个实例 这很好 但是 如果 HashSet 中有两个不同的实例 并且您获取一个实例并使其成为另一个实例的精确副本 通过复制字段
  • 将文字与可选字符串连接

    实施这个的正确方法是什么 最好排成一行 var name String let username name Note username必须是String 我不想拆开name用于串联 编辑 如果name is nil username也应该是
  • 实体框架创建最新的 IQueryable

    我有一个实体集 其中的实体具有包含 ID GUID 和 CreatedAt DateTime 的复合键 CreatedAt 是实体被创建的时间 每个记录代表每个实体的每个版本 以便多个记录可以具有相同的 ID 我想创建一个可以重复使用的 I
  • 如何在 Typescript 中输入动态大小的数组?

    我想输入一个数组 其中第一个元素始终是数字 其余元素始终是字符串 并且长度至少为 1 这是我最大的努力 type MyArray number number string number string string number string
  • 表单标签在一个 div 中开始并在另一个 div 中结束是否有效?

    由于我有一些 JavaScript CSS 规则 我不能只包装这两个divs 放在表单标签中并完成它 所以 我想知道下面的 HTML 是否被认为是有效的 div div
  • 如何将字符串发送到终端而不需要将其作为标准命令?

    我正在用Java编写一个程序 需要使用终端命令才能工作 我的功能基本上是这样的 public void sendLoginCommand throws IOException System out println n Sending Log
  • 在 Ubuntu 12 上安装最新版本的 R?

    我在 Ubuntu 机器上安装 R 时遇到问题 每当我尝试安装软件包时 都会出现错误 package xyz is not available for R version 2 14 1 我尝试通过终端本身安装 R 但无法升级 有没有办法 我
  • Android Things:连接到串行调试控制台

    我一直在尝试连接到串行控制台树莓派 3 with 安卓事物 using USB to TTL cable从我的Linux Ubuntu 机器 尽管我按照文档连接了电缆 但执行时我得到的只是minicom命令如下 with 没有机会输入任何字
  • 在 React hook 上使用 props 值有什么不好吗?

    我是反应钩子的新手 我只是在文档中没有看到这一点 const MyComponent myProp gt const myPropHook setPropHook useState myProp 我想知道这是否是一个好的做法 您传递给的值u
  • CSS中的margin和padding有什么区别?

    有什么区别margin and padding在CSS中 什么时候应该使用其中之一 padding 和 margin 之间最大的区别是垂直边距会自动折叠 而 padding 不会 考虑两个元素一个在另一个之上 每个元素的填充为1em 该填充
  • CodeIgniter 路由 - 仅从一个类的 URL 中删除类名

    我想重新映射这个 index php pages services进入这个index php services 我该怎么做 我尝试过这个 但它不起作用 route any pages 更新 这种方法有动态方法吗 因此 该类中的每个函数都将重
  • UITextView 不调用 ShouldChangeTextInRange

    我使用自定义 UITextView 并需要在返回单击时隐藏键盘 我需要捕获具有文本视图的 ShouldChangeTextInRange 我不知道为什么 但是 方法未被调用 这是我的文本视图的代码 public class Placehol
  • 在 Android 中启用当前禁用的 Spinner

    我在 Android 上闲逛 而我的 Java 知识充其量是有限的 例如 我对它允许内联类这一事实感到困惑 我的问题如下 我有一个布局 其中有三个下拉菜单 我在 onCreate 中初始化了所有三个 第一个从字符串数组中获取值 然而 第二个
  • R - 使用 ggplot2 和栅格包的地理参考栅格图像的原始颜色

    我想使用原来的colortable of a gt gt 地理参考光栅图像 tif 文件 作为彩色比例在 ggplot ggplot2 绘制的地图中 由于找不到更简单的解决方案 我访问了colortable 槽从legend 加载的光栅图像
  • 使用Boost读写XML文件

    有没有什么好的方法 也是一个简单的方法 使用Boost来读写XML文件 我似乎找不到任何使用 Boost 读取 XML 文件的简单示例 您能给我指一个使用 Boost 读写 XML 文件的简单示例吗 如果不是 Boost 有什么好的 简单的
  • array_intersect 多维数组内部

    我有一个多维数组 可以根据用户输入增加 我想在数组内执行 array intersect 以获得键之间的公共值 就像例子 Array php gt Array 0 gt 36 1 gt 51 2 gt 116 3 gt 171 4 gt 2
  • 报告公式中的小数点四舍五入

    我的水晶报表需要将数字四舍五入到小数点后两位 我努力了Round 55 815 2 但它返回55 81代替55 82 我该如何解决这个问题 如果出于显示目的需要对小数进行四舍五入 只需使用 减少小数 图标即可
  • 列出Android设备上的所有图像

    我试图列出自 14 小时以来 Android 设备中的所有图像及其路径 但我无法 它一直给我 java lang RuntimeException 无法启动活动 ComponentInfo 错误 我不明白为什么 有什么帮助吗 package