问题标签 [android-assets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5804 浏览

java - 将目录、子目录和文件复制到 sd 卡 - android

我使用以下代码将特定目录及其内容复制到 sd 卡。该目录位于res/raw文件夹内。

以下是我使用的代码:


例外:


有人可以让我知道导致此问题的原因和解决方案。

参考:如何将文件从“资产”文件夹复制到 SD 卡?

编辑

我可以使用此处作为答案发布的有关许可的提示之一来解决异常。

现在我遇到了另一个问题,如下所示:

以下日志说我无法在以下路径中创建文件夹:

我不想将数据存储在 /mnt/sdcard/Android/data/raw 中,而是希望将资产中的 raw 文件夹的内容复制到路径 /mnt/sdcard/Android/data我提供的参考链接中使用的代码没有发生这种情况。有什么明显的原因可能导致我给出的代码出现这种情况?

0 投票
1 回答
4158 浏览

android - 来自资产的 Android InputStream 文件:FileNotFoundExeption

我正在尝试使用 InputStream 变量从 assets 文件夹中打开一个 JSON 文件,但我得到了 FileNotFoundExeption。该文件在那里并且路径是正确的。我已经到处查看了,但是我在这里找到的任何东西都不起作用。关于我有什么错误以及如何纠正它的任何想法(请提供代码)?

从调用活动中:

在片段中:

0 投票
2 回答
5634 浏览

android - Android NDK - 在本机代码中使用 AssetManager

我需要从 C/C++ 代码中处理我的资产文件夹中的资产。像这样缓存指向 AAssetManager 的指针是否安全...:

...然后在我需要的时候使用它?createAssetManager 是从主 Activity(UI 线程)的 Java onCreate 方法调用的,但在 C/C++ 中的用法是在 GLSurfaceView 实现中原生处理从本机方法调用的渲染和游戏滴答时。

1)assetMgr 指针会在整个应用程序生命周期内指向有效对象吗?在 Java 端(在 Activity 类中)像静态变量一样创建它是否足以让垃圾收集器不会破坏它?

2)我会遇到线程问题吗?

谢谢,汤姆原子

0 投票
1 回答
4333 浏览

utf-8 - 如何从 java assets 文件夹中读取和写入 UTF-8 编码?我有代码,但它不起作用。我得到“D�nde est”/D�nde

我使用assetManager 获取输入流,并将其作为指定UTF-8 编码的阅读器参数传递。我也在用 UTF-8 的 writer 写入输出流文件路径

文件被读写,但编码仍然错误。我得到这样的角色:在哪里...... =“D�nde est”/D�nde

我做错了什么?

0 投票
1 回答
1374 浏览

android - 安卓多屏设计

我知道有很多关于在 Android 中设计多屏支持的文档。我已经阅读了这里的 Android 指南以及一些类似的问题,例如

但是,对于如何为我的应用程序实现它,我仍然有些困惑。我计划针对以下设备配置

在此处输入图像描述

我认为我需要按如下方式构建项目布局是否正确:

  • 中等密度普通屏幕 HVGA 320x480 (160dpi):

    /li>
  • 高密度普通屏幕 WVGA800 480x800 (x854) (240 dpi)

    /li>

但是中等密度的大屏幕设备呢?

我也计划使用高密度和中等密度的绘图集。在这个早期阶段,我主要关心的是为每个布局使用合适的背景图像。例如,为了同时支持480x800 和 480x854 尺寸,我打算简单地使用 ImageView 作为背景,例如:

'bg' drawable 将始终为480x854并使用:

我希望这会照顾这两种屏幕尺寸。从而图像保持其原始外观,但以 480x800 屏幕为中心。我会从图像中丢失一些像素,但只要图像没有缩放,就可以满足我的需要。

我计划为普通屏幕设置一组 320x480 资源。

我只是希望我在这里遵循正确的程序,所以我感谢你们提供的任何信息/提示。提前致谢

0 投票
1 回答
271 浏览

android - 我对 Android 应用资产中文件的读写有什么问题?

先上代码:

前两次调用打印的地址值Log.e()是正确的值,实际上是一个设备MAC地址。但是,当我试图测试从刚刚写入的文件中读取的地址值时,NullPointerException已在Log.e()调用中捕获。这意味着从文件中读取的值为NULL. 谁能指出代码有什么问题?

0 投票
1 回答
4477 浏览

android - 从资产复制时数据库损坏

我有一个信息数据库,我试图将其从资产复制到设备上应用程序的数据库目录中。我从1中获取了代码,但将复制代码移到了 DatabaseHelper 类的 onCreate 方法中(正如它所称的那样)。数据库复制没有错误,但是当我尝试从中访问数据时,我得到一个 SQLiteException 抛出,说该表不存在。当我在我的计算机上打开新创建的数据库文件时,我可以看到它的大小是正确的,但不包含除“android_metadata”之外的任何表。如果我手动将未损坏的数据库文件从我的计算机复制到应用程序的数据库目录中,那么它可以正常运行,但显然我不能这样做。

这是我用来打开数据库的代码:

这是 onCreate 方法:

在第一次运行时,我只得到关于表不存在的错误,但是当我再次运行它时(当数据库已经被复制时)我得到一个 SQLiteDatabaseCorruptionException “数据库磁盘映像格式错误”。有什么想法我哪里出错了吗?谢谢。

尚未复制数据库时的 LogCat 输出:

已复制数据库时的 LogCat 输出:

0 投票
1 回答
2157 浏览

android - 我如何使用带有 ListView 的复选框并在 android 的 Sqlite 数据库中插入值

我创建了一个包含三个表的数据库,并将该数据库放入资产文件夹中。现在我想在带有复选框的列表视图中显示一列的值,然后在用户选择时将它们插入另一个表。那么我该怎么做。

到目前为止,我所做的是获取数据并显示在列表中。但是我怎样才能放置复选框,然后获取我不知道的值。我使用的代码如下

1.主要活动

2.Mydatabase.java

请建议我如何做到这一点..任何帮助都必须感谢

0 投票
1 回答
12989 浏览

java - 具有任意 JSON 键的 Jackson ObjectMapper

我在一个 Android 项目中使用 Jackson 1.9.5 来解析 JSON 文件。

到目前为止,我还没有遇到任何问题,并且可以使用以下代码很好地解析文件:

其中 DetailSchema 类由原始类型和类的混合组成。我现在遇到了一个问题,我想解析一些 JSON,如下所示:

我不可能事先知道地图键(它们可以是用户定义的)。因此,我不确定相关的 Java 类应该是什么样子。

即,对于这个例子,它可能看起来像:

但这对于 JSON 文件的另一个实例可能不正确。理想情况下,我需要一些方法让 Jackson 将值映射到NameValuePair 之类的东西。我怀疑在这种情况下自动对象映射可能不是一个选项 - 有人可以确认或否认这一点吗?

0 投票
1 回答
205 浏览

android - 在哪里存储 .txt 和 .pdf 在 Android 中?

在我的应用程序中,我需要存储.txt.pdf以便我可以在应用程序中打开它们。哪个文件夹最适合存放这些文件。我已经考虑过价值,但我猜资产文件夹?当我需要从所述文件夹中调用这些文件时,我将如何调用它(R.assets.myfile.txt)

我只是想确保将它们放在正确的位置,因为当它们驻留在其他地方时,日食不会出错。