Android 打开或创建数据库

2024-02-11

我正在尝试在我的 SD 卡上创建一个数据库。每当我调用 SQLiteDatabase.openOrCreateDatabase 时,我都会收到错误:

07-21 13:33:17.587: 错误/AndroidRuntime(5541): 原因: android.database.sqlite.SQLiteException:无法打开数据库文件

有谁知道可能是什么原因造成的?这是我的数据库类的 open() 方法中的代码:

File sdcard = Environment.getExternalStorageDirectory();

String dbfile = sdcard.getAbsolutePath() + File.separator+ "external_sd" + File.separator + Schema.DATABASE_NAME ;

db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);

一个可能的错误可能是您没有设置适当的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然而,在 SD 卡上存储数据被认为是不安全的。因为每个有权在 SD 存储上存储数据的应用程序都可以访问数据库。

编辑:另一个可能的问题是外部存储可能不可用。您需要确保您的外部存储当前可写。一种方法是通过确定状态getExternalStorageState(参见参考资料here http://developer.android.com/reference/android/os/Environment.html#getExternalStorageState%28%29).

getExternalStorageState() returns MEDIA_SHARED if the media is present not mounted, and shared via USB mass storage. 

参考 http://developer.android.com/reference/android/os/Environment.html#MEDIA_SHARED。这里还有一个有关检查状态的 stackoverflow 帖子:将文本文件写入 SD 卡失败 https://stackoverflow.com/questions/4580683/android-java-writing-text-file-to-sd-card

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 打开或创建数据库 的相关文章

  • Android ToggleButton 始终检查

    如果切换按钮处于选中或取消选中状态 我想存储在 SharedPreferences 中 toggle setOnCheckedChangeListener new OnCheckedChangeListener public void on
  • Android Camera.takePicture() 有时不返回?

    我正在编写一个Android 拍照应用程序 该代码在 onPreviewFrame byte data Cameracamera 中从预览中获取帧后进行一些处理 问题在于 android hardware Camera 的函数 takePi
  • 虚拟回调接口

    在 Eclipse 为您创建的来自 Google 的示例主从流代码中 片段中包含以下内容 private Callbacks mCallbacks sDummyCallbacks public interface Callbacks pub
  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • 在 NFC 标签扫描期间,onNewIntent() 内的intent.getAction() 为 null

    这是我第一次使用 NFC 标签 我在清单中声明了 NFC 扫描活动
  • 使用 DataBinding 测试片段时膨胀类 Fragment 时出错

    有人可以帮我解决这个问题吗 在我的测试中 我想检查登录按钮是否显示在起始页上 今天我已经为这个错误苦苦挣扎了一段时间 我不知道应该如何解决它 我在这里错过了什么 也许这个问题与这个问题有些相似 Espresso 测试失败 并显示 java
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • TabLayout 的不同 tabMode

    我正在使用 ViewPager 和 TabLayout 如果选项卡可以放置在显示 tabMode 上 则它们必须是 app tabMode fixed else app tabMode scrollable 我怎样才能做到这一点 我不明白你
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • Qt 在菜单项单击上显示模式对话框(.ui)

    我想制作一个简单的 关于 模式对话框 从 帮助 gt 关于应用程序 菜单调用 我已经使用 QT Creator ui 文件 创建了一个模式对话框窗口 菜单 关于 槽中应包含什么代码 现在我有了这段代码 但它显示了一个新的模式对话框 不是基于
  • 如何检索 ItemsControl 中项目的 DataTemplate(和特定对象)?

    我已经看到了非常相似问题的解决方案 但它并不适用于我的问题 也就是说 这篇文章 http blogs msdn com wpfsdk archive 2007 04 16 how do i programmatically interact
  • geom_scatterpie 重叠中的饼图

    我想找到一种方法来防止 scatterpie 中的饼图相互重叠 我知道我可以进一步减小半径 但不想让它们比现有的更小 Position jitter 根本不起作用 这是一个可重现的示例 library ggplot2 library ggm
  • Userfrosting 辅助函数的最佳实践

    在使用 userfrosting 的项目中拥有自定义代码 函数库 的最佳实践是什么 到目前为止 我修改了现有的 userfrosting 控制器 这使得简洁的代码变得臃肿 我想有一个很好的方法可以将自定义函数保留在一个地方 它不会干扰 Us
  • Spyder IDE 自动缩进

    是否有任何快捷方式可以在编辑器中自动缩进标记行 例如 在 MATLAB 中存在 CTRL I 快捷键 Matlab语法可以匹配开始结束语句if while for等通过寻找end声明 在 Python 中 这些缩进是不明确的 被定义为嵌套缩
  • java正则表达式

    谁能帮我在java正则表达式中做以下事情吗 我需要从给定字符串的第五个位置读取 3 个字符 忽略前后找到的任何内容 例子 testXXXtest 预期结果 XXX 你根本不需要正则表达式 只需使用子字符串 yourString substr
  • 如何使用自定义命名空间创建 SyndicateFeed

    如何生成包含下图中显示的命名空间的 Atom Feed Atom feed 的所有节点都必须以 a 开头 这就是我现在正在做的事情 但它不起作用 SyndicationFeed feed new SyndicationFeed XmlQua
  • 在 Ktor 中发送 application/x-www-form-urlencoded

    我不知道如何发送application x www form urlencoded POST在 Ktor 中请求 我看到一些submitFormKtor 文档中的帮助程序 但他们没有按预期发送请求 我想要的是复制这个卷曲线行为 curl d
  • Scala Play 2.2 Slick 1.0.1 - 未来 { Try {...} } 等待空闲的可用连接超时

    我有一个 scala html 页面 它在 Play 2 2 1 Scala 2 10 2 Slick 1 0 1 Postgres 9 3 应用程序中进行 AJAX 调用 以下同步代码工作正常 它解析请求查询字符串并调用该方法School
  • 如何在 Asp.Net MVC 3 中的所有视图中实现 @using?

    我想做的就是包括这个 using MyProject WebUI Properties 在我的所有视图中 无需在每个视图中键入它 有没有办法在 ViewStart 或 Web Config 中执行此操作 谢谢 将您的命名空间添加到视图 we
  • 将实例变量传递给 js.erb 文件(Rails 3 / jQuery)

    我有一个 index html erb 文件 其中包含以下内容 这将呈现 user html erb 并输出一个用于对每个用户执行特定操作的按钮 user id action remote gt true gt 我已经将我的用户控制器设置为
  • 矩阵转置从 Java 移植到 C,类型不兼容问题

    我必须在 C 中移植一些 Java 方法 有 Java 背景 但我在 C 编程方面完全是菜鸟 In java float traspose float Xy float result new float 5000 3000 for int
  • 根据用户的送货地址设置运费 Paypal REST API

    首先 我不能 100 确定这是提出这个问题的正确地点 因此 如果不让我知道 我将在这里删除这个问题 我正在使用 PAYPAL REST API 来允许用户选择产品并付款 我正在寻找按用户所在国家 地区 送货地址 设置运费的选项 例如 如果运
  • 如何使 .PHP 文件只能由服务器访问?

    我通过 goDaddy 控制中心创建了一个 cron 作业 cron 作业位于 cron jobs 文件夹中 我不希望任何人都能够运行它 我应该如何设置该文件夹的权限 以便它不能公开打开 但仍然可以用于 cron 作业 取消选中 公共 gt
  • 帮助构建 16 位操作系统

    我正在尝试构建一个旧的 16 位 DOS 操作系统 我的示例内核代码 asm code16 n void putchar char int main putchar A return 0 void putchar char val asm
  • 元素作为列表名称,列表名称作为列表中的元素?

    我有一个向量列表 如下所示 我想知道向量的每个元素在哪些列表元素中 换句话说 我想反转列表以创建一个新列表 其names是从向量中取出的 做到这一点的最佳方法是什么 lst lt list a c 2 3 6 10 15 17 b c 4
  • 使用套接字的 Windows Phone 7 FTP

    我有一些用 Visual Studio C 编码的 Windows Mobile 智能设备应用程序 它们使用 FTP 作为发送 接收机制 这并不理想 但它有效 我一直在研究这些是否可以移植到 Windows Phone 7 主要问题是 Wi
  • jQuery 简单可折叠 Div?

    我正在寻找合适的 简单的 小的代码来执行以下操作 单击应用了类的元素 DIV CLASS 扩展并显示隐藏内容 向下滑动 切换 DIV CLASS 折叠并隐藏之前显示的内容 向上滑动 切换 div class sitesection p cl
  • 在 Javascript/JQuery 中将 [url] 标签替换为 标签

    我正在尝试使用 JQuery 来实现以下逻辑 替换字符串值 url http www google com Google url with a href http www google com Google a 请参阅下面我的 HTML 页
  • Android 打开或创建数据库

    我正在尝试在我的 SD 卡上创建一个数据库 每当我调用 SQLiteDatabase openOrCreateDatabase 时 我都会收到错误 07 21 13 33 17 587 错误 AndroidRuntime 5541 原因 a