SQLite应用程序是否会在未经过移植的手机上运行?

时间:2016-06-04 08:23:02

标签: java android android-sqlite

我是一个4周的新手Android应用程序程序员,我很惊讶它的复杂性。 我正在尝试编写一个基本的(Ahem)应用程序,该应用程序将在几个月内绘制2组整数。我计划使用SQLite数据库和两个活动。 Marshmellow Android版。 我的问题是我的应用程序是否可以在没有超级用户权限的移动设备上运行。 我知道它会在Android工作室模拟器上运行正常。 数据库仅限本地内部。 我已经彻底了解了这个答案,但我感到困惑,因为答案表明应该安装数据的目录即... ....除非获得root访问权限,否则将无法访问数据/数据。但是,我看到常用的应用程序必须使用SQLite的永久存储,如Todo应用程序和个人笔记应用程序。 也许权限是以编程方式获得的?  如果有人愿意帮助我,我会感到很尴尬地提出这样一个简单的问题。

更简单地说 - 一个SQLite应用程序是否会在未经过移植的手机上运行?

我的回复是这个问题"关闭主题"? 这根本不是调试问题,因为我写的代码工作正常。代码,对于我来说,作为一个4周的Android新手,一旦完成将会很广泛,并且我面前有很多工作要做。 该应用程序将使用SQLite数据库,内容提供程序,内容解析器,对话框和列表片段,AsyncTaskLoader以及所有13个类。所有这些概念对我来说都是新的。这里的重点是,如果我错过或误解了Android操作系统的基本原理,我不希望在我的Android系统启蒙之旅上投入这么多时间。 研制?这就是为什么我感到困惑,我很少提问,因为我更喜欢自学,但是我找到了一个并非所有内存都可用于无根电话的地方,因为我找不到详细的内存模型图我被引导冒险直接问题堆栈溢出。 我更熟悉Windows桌面应用程序内存模型和C ++。 我也通过汇编语言编程熟悉8086内存模型。隐藏的Android文件系统阻碍了我的理解 限制是编程问题的一部分还是Android策略问题?(现在我知道 - 是设计策略) 我认为没有理由提供代码样本,因为编码不是这里的直接问题,我的意图是清楚简洁直接地提出问题,即使它有可能看起来很幼稚。 ...."没有明确问题陈述的问题对其他读者没用。" .... 我礼貌地指出,我们社区的一些受人尊敬的成员完全理解我的问题,并且在一个案例中因其简单和清晰而受到称赞。 此外,还给出了明确有用的答案,特别是提供了一个非常详细的答案,必须帮助许多其他新手理解这个概念。 这是一个很棒的论坛,我确实理解需要坚持它的可信度和技术标准,我希望能够在几个月过去的时候做出更多的贡献。

2 个答案:

答案 0 :(得分:2)

简而言之:是的,您的应用会运作!

SQLite数据库是Android为应用程序开发人员提供的,无论手机是否已植根。您的研究对于操作系统保存数据库的位置是正确的。您可能也有一个术语“内部存储”。在非root用户手机上,它是一个安全的存储空间,每个应用程序都可以存储数据(SQLite数据库,文本文件,图像,无论它想要什么),但只能访问自己的数据。 Gmail很可能会保留一些数据,但您的应用程序无法访问它。同样,Gmail无法访问其文件夹并访问您的应用程序数据。您也无法使用任何文件资源管理器在手机上或通过将手机连接到计算机来查看这些文件夹。通过手机生根,您可以从任何应用程序或计算机访问所有内部存储数据。

您可以在此处详细了解内部和外部存储: https://developer.android.com/training/basics/data-storage/files.html

具体而言,此引用与您的问题非常相关:

  

您无需任何权限即可在内部存储上保存文件。您的应用程序始终有权在其内部存储目录中读取和写入文件。

答案 1 :(得分:1)

一行答案: - SQLITE是android的完整功能。即使移动设备未植根,您的应用也会正常运行。