Articles of 存储

caching与数据存储下载的内容

我正在通过向服务器发出HTTP GET请求来下载一些文本数据。 如果已经下载,我想保存下载的文本文件以便在请求时重新使用它。 但是我想保持我的数据私密,以便其他应用程序不能访问它。 另一方面,如果Android在没有足够的磁盘空间的情况下删除了这些文件,那也可以。 所以,我的问题是 – 我应该将下载的内容存储在App Data文件夹或caching文件夹中? 两者有什么区别? 首先,我使用类似的方法将文件保存在App Data文件夹中 public void save(String fileName, String data) { FileOutputStream fos; try { fos = mContext.openFileOutput(fileName, Context.MODE_PRIVATE); fos.write(data.getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } 使用这种方法,我可以为我的文件设置私人模式,以便其他应用程序不能访问它们。 但后来我想把文件移动到caching目录,我需要做类似的事情 private void save(String filename, String data) { File cacheDir = new File(mContext.getCacheDir(), "app_directory"); cacheDir.mkdir(); try { […]

Android获取外部存储绝对path

我想下载一些文件并将其保存到手机/标签的内部存储器中。 尝试三星Galaxy Note 2和Galaxt选项卡10.1。 当我使用/storage/sdcard0/时,代码运行成功,但是当我使用Galaxy Nexus 3 ,代码失败。 我想获得phoe或tab的内部存储Absolute Path的Absolute Path 。 如果有的话,有可能如何?

Android内部存储更新应用程序时

我使用内部存储(http://developer.android.com/guide/topics/data/data-storage.html#filesInternal)来存储用户创build的一些必要的应用程序文件。 我想这些文件永远存储的权利? 只有在用户卸载应用程序时才会删除它,我是否正确? 在通过Android电子市场更新应用程序(例如从1.0版到1.1版)的情况下,从以前版本存储的文件会发生什么情况? 他们是否被删除? 先谢谢你。

使用OpenCV4Android(java API)保存ORB特征向量

我有一组训练图像,我已经检测并计算了它们的每一个特征向量(使用ORB特征描述符和提取器)。 问题是 :因为我需要保存这些特征以重新使用它们来匹配testing图像(使用SVM分类器); 在Android设备上本地存储特征向量的最佳方式是什么? 要保存的特征向量是每个图像可变的大小,并且因此具有非最大大小的特征向量被填充为零以统一所有向量的大小。 目前的最大尺寸是500行×32列; 从而16kfunction。 以下是我可以达到的选项; 我听说过OpenCV的FileStorage ,但是在阅读java文档时,我注意到了HOG特性 (不是ORB)的save方法。 此外,我不确定使用OpenCV的文件存储选项保存function是否是Android手机的最佳记忆方式,因为xml文件太大而无法加载。 我目前的select是select一个sqlLite数据库,有一个两列的表; id和function(经常在网上build议); 将sqlLite中的所有16kfunction列表。 这似乎相当电话存储密集型,但这是我能find的最合理的解决scheme。 有没有一种常见的方法来处理Android手机上的特征向量? 它是否包含上述任何一种方法? 如果不能,请提供一些关于如何实施这样的存储解决scheme的指导方针? 谢谢。

保存外部存储的数据

我想保存一些数据在用户的外部目录(即SD卡),但似乎有一个奇怪的问题。 我使用Environment.getExternalStorageDirectory()返回“mnt / sdcard /”(这很好)。 我想在这个目录中创build两个文件夹,所以我这样做: File main = new File(getExternalStorageDirectory() + "/my_app/some_data"); if(!main.isDirectory()) main.mkdirs(); 现在我想这会使目录“mnt / sdcard / my_app / some_data”,但是在使用文件pipe理器来查看SD卡后,事实certificate这个文件夹是在“mnt / sdcard / my_app / mnt / sdcard / my_app / some_data“,这是相当离奇的。 谁能告诉我如何解决这个问题?

如何获得一个外部存储SD卡的大小(与安装的SD卡)?

链接:我基于这个链接工作 我添加了这一行来查找大小(内部和外部)大小, return availableExternalMemorySize/(1024*1024); 我在我的平板电脑上testing。 我得到内部和外部的SD卡大小, 在内部存储器中,1)总内存 – 1007 2)可用内存–683 在外部存储器中,1)总内存 – 1763 2)可用内存 – 1554 但在平板电脑上,我看到设置。一个外部存储大小有8GB。 但是,当我通过编程testing时,它显示了1.7 GB左右。 什么是find外部存储大小的过程? 请有人build议/帮助我? 谢谢 !

Android模拟器内部存储在哪里?

由于Android模拟器上内部存储器中存储的文件内容,导致出现错误。 (我写到文件)。 有没有一种方法可以查看我的应用程序在Windows中使用的内部存储? 我已经通过我的整个项目文件夹,sdk,工作区等search,无法find任何东西。 我在另一个问题上看到有人说它在/ data文件夹中,但是我不知道在哪里寻找。 谢谢

Android:在卸载时从外部存储删除应用关联的文件?

如果我正在写一个应用程序将一些文件永久存储到外部存储(所以它们在应用程序退出(被销毁)之后仍然存在),但是在卸载时我希望做一些体面的事情删除文件以释放存储空间。 有没有什么办法可以在卸载时删除这些文件? 如果没有(我怀疑),那么我将不得不每次创build这些文件。 我试图节省启动时间,并通过让它们永久存在而占据所需的空间。 注意:我需要使用外部存储,所以内部存储或数据库都不合适。

当caching图像和数据时,你应该使用内部还是外部存储?

我已经阅读了这个Android内存/外部存储的应用程序设置/数据,但我不认为我真的得到了答案。 我正在开发一个应用程序,我应该存储一些“caching”数据 ,如十几个图像和一些string(json)。 最初,我是存储所有的SD卡(外部存储),但后来我认为这可能会被弃用在最近的设备的SDCard弃用。 阅读了一下之后,我了解到外部存储不仅是SD卡,而且是“可移动存储介质(如SD卡)或内部(不可移动)存储”,因此不应该被弃用,但它是共享的空间,并没有存储在那里的文件的所有权,所以第一个问题是, 我无法删除它们,当应用程序被删除。 所以我更改为内部存储 ,以避免文件/图像“公开”,并删除应用程序后删除它们。 这是推荐的方法吗? 在较低的内部存储器但SD卡中有很多空间的设备上,这是一个好方法吗? 我的应用程序支持从1.6到4.0(到目前为止),所以我有很多传统设备…我必须有应用程序工作(好)。 期待一些有趣的答案!

如何衡量Android应用程序数据大小和识别存储泄漏?

我做了一个小的Android应用程序,并已经使用了一段时间了。 我注意到,在设置中,我的应用程序的特征(我不想分析“应用程序”行或“caching”行上显示的数量感兴趣的“数据”行),它显示约20 MB,其中对我来说似乎很多。 我恐怕应用程序有存储泄漏(即它产生的数据,永远不会被擦除)。 我决定调查和衡量可能会占用那么多空间的东西。 我使用几乎所有可用的存储选项为这个应用程序:SQLite数据库,内部文件,外部文件,共享偏好(和caching文件,包括Glide图片加载)。 到目前为止,由于SQLite数据库的问题 ,我发现我的DB文件大约需要500 kB。 我发现通过recursion扫描文件夹getFilesDir()中的文件和文件夹,我在内部和应用程序专用外部文件中使用10 kB数据。 我还没有分析共享首选项的大小,但我存储less于20个键/值对。 探索文件夹getCacheDirs()我还发现,Glide使用大约3 MB的caching(接近Android设置应用程序告诉)。 我的问题是,哪个导致我想念find这个19.5 MB的数据,我无法find? 我忘了某种可能占用空间的存储吗? 而且,更一般地说,有没有工具可以分析存储泄漏(即应用程序产生的数据可能永远不会被删除)?