标签: android-assets

Android - 将文件从资源复制到/ data/data文件夹

我需要在我的应用程序中使用一些文件.它们保存在资产文件夹中.我看到SO上的讨论,文件从资产文件夹复制到内部存储上的/ data/data /,然后被使用.我得到了代码,但我没有得到的是,将资产复制到内部存储需要什么?如果有人有这方面的经验,请帮忙!

android android-assets android-file internal-storage

10
推荐指数
2
解决办法
3万
查看次数

当我尝试创建图像资源时,Android Studio中不存在File Logo.png

Screensort

当我尝试在Android Studio的Image Asset中创建操作图标时,我看到错误日志:logo.png不存在,我无法创建操作栏和标签栏图标.有人可以帮帮我吗?

android android-assets android-image android-studio uiimageasset

10
推荐指数
1
解决办法
1184
查看次数

Android 通知图标在某些设备上是空白的

我在某些 Android 设备(Pixel 2 XL 和 Pixel 5 - 均为 Android 11)上收到空白/灰色通知图标,但在我测试过的其他 Android 设备(华为 P20 和 P30 - 均为 Android 10)上显示正常。有没有其他人遇到过这种异常情况?

这是我尝试过的:

private fun sendNotification(title: String?, message: String?, intent: Intent) {
        val pendingIntent = PendingIntent.getActivity(
            this,
            0 /* Request code */,
            intent,
            PendingIntent.FLAG_ONE_SHOT
        )

        // With the default notification channel id the heads up notification wasn't displayed
        val channelId = getString(R.string.heads_up_notification_channel_id)
        val notificationBuilder =
            NotificationCompat.Builder(this, channelId).setSmallIcon(R.mipmap.ic_stat_ic_notification)
                .setAutoCancel(true)
                .setColorized(true) …
Run Code Online (Sandbox Code Playgroud)

android push-notification android-assets android-notifications kotlin

10
推荐指数
1
解决办法
893
查看次数

Android:获取Zip中的文件数量?

我有一个看似简单的问题,但我似乎无法让它正常工作.

我的'assets'文件夹中有一个zip文件,我需要解压缩ProgessBar,我想在其中向用户显示进度如何.

我有一切工作,但我想将ProgessBar最大值设置为zip文件中的文件数.此文件夹中的文件数有时会发生变化,因此我希望ProgessBar相对于zip中包含的文件数量.

我正在使用ZipInputStream-API,但似乎没有办法获取zip文件中的文件数量.我能想到的唯一方法是这样做:

   ZipInputStream zin = new ZipInputStream(getAssets().open(
                                "myFile.zip"));
   int numFiles = 0;
   int increment = 0;
   while (zin.getNextEntry() != null) {
     numFiles++;
    }

    ZipEntry ze = null;
    //Set the Max..value here..
    progessBar.setMax(numFiles);                
    while ((ze = zin.getNextEntry()) != null) {
       increment++;
       progessBar.setProgress(increment);
    }
Run Code Online (Sandbox Code Playgroud)

这有效,但有两个while循环似乎有点多余,基本上做同样的事情.

我知道有一个ZipFile-API有一个size()-method,但它需要一个文件的路径,因为我的文件位于'assets'文件夹中,我很确定从这个目录中读取的唯一方法是通过流式传输.

有没有办法让我做到这一点?

java zip android android-assets

9
推荐指数
3
解决办法
5728
查看次数

将文件复制到assets文件夹

搜索1小时后,我找不到解决问题的方法.

我想将文件从sdcard移动到assets文件夹,并且还覆盖assets文件夹中的现有文件(这两个文件都是sqlite数据库,它们具有相同的名称,数据只有一点点差别)

??

java android inputstream file android-assets

9
推荐指数
1
解决办法
7797
查看次数

尝试在空对象引用上调用虚方法'android.content.res.AssetManager android.content.res.Resources.getAssets()'

怎么了:

  1. 我有一个来自appstore的堆栈跟踪,如下所示,我面临的问题是它不会显示哪个类导致了这个崩溃.
  2. 我可以理解的是,由于我使用过的资产导致了它的原因
  3. 只有在我使用资产的位置才能在应用程序级别设置字体

码:

private void setDefaultFont() {

        try {
            final Typeface bold = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Bold.ttf");
            final Typeface italic = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Italic.ttf");
            final Typeface boldItalic = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-BoldItalic.ttf");
            final Typeface regular = Typeface.createFromAsset(getAssets(),"fonts/OpenSans-Regular.ttf");

            Field DEFAULT = Typeface.class.getDeclaredField("DEFAULT");
            DEFAULT.setAccessible(true);
            DEFAULT.set(null, regular);

            Field DEFAULT_BOLD = Typeface.class.getDeclaredField("DEFAULT_BOLD");
            DEFAULT_BOLD.setAccessible(true);
            DEFAULT_BOLD.set(null, bold);

            Field sDefaults = Typeface.class.getDeclaredField("sDefaults");
            sDefaults.setAccessible(true);
            sDefaults.set(null, new Typeface[]{
                    regular, bold, italic, boldItalic
            });

        } catch (NoSuchFieldException e) {
           // logFontError(e);
        } catch (IllegalAccessException e) {
           // logFontError(e);
        } catch (Throwable e) { …
Run Code Online (Sandbox Code Playgroud)

android android-assets

9
推荐指数
2
解决办法
1万
查看次数

图像资产或矢量资产

IMMAGE

在Android Studio中,当我需要创建应用程序的图标时,我使用Image Asset.

现在我有一个问题,Image Asset和Vector Asset之间有什么区别?是什么让他们不同?

android-assets android-studio

9
推荐指数
1
解决办法
6507
查看次数

Android NDK:从共享库中的资产中读取文件

在我的应用程序中,我必须将一个文件从assets文件夹传递到共享库.我现在不能使用jni.我在我的项目中使用预编译的共享库,其中我有我的文件的硬编码路径,但我收到错误"没有这样的文件或目录".所以在我的.apk文件中,我在libs/armeabi-v7a文件夹中有.so文件,在/ assets文件夹中有我的文件.

我试过这样做:

char *cert_file = "/assets/cacert.cert";
av_strdup(cert_file);
Run Code Online (Sandbox Code Playgroud)

和其他一些路径,但它不起作用.

有可能吗?

android shared-libraries android-ndk android-assets

8
推荐指数
1
解决办法
6824
查看次数

如何解析资产中的本地JSON文件?

我的资产文件夹中有一个JSON文件.该文件有一个带有数组的对象.该阵列有150多个对象,每个对象有三个字符串.

对于这150多个对象中的每一个,我想提取每个字符串并创建一个java模型对象,并传递三个字符串.我在android JSON解析中找到的所有教程都是从我不想做的url中获取JSON.

android json android-assets

8
推荐指数
2
解决办法
1万
查看次数

Kotlin Moshi 从资产加载 Json

我正在尝试使用 moshi 将资产 Json 文件加载到我的项目中。但是,我不断收到以下错误:

com.squareup.moshi.JsonEncodingException:使用 JsonReader.setLenient(true) 在路径 $ 处接受格式错误的 JSON

我应该如何将以下 Json 加载到我的项目中?

json_file.json

[
  {
    "Name": "Show title",
    "Description": "desc",
    "Artwork": "link",
    "URL": "feed url"
  },
  {
    "Name": "Show title",
    "Description": "desc",
    "Artwork": "link",
    "URL": "feed url"
  }
]
Run Code Online (Sandbox Code Playgroud)

这就是我所做的:

实用程序

object JsonUtil {

    fun getAssetPodcasts(context: Context): List<JsonPodcast>? {
        val moshi = Moshi.Builder()
            .add(KotlinJsonAdapterFactory())
            .build()

        val listType = Types.newParameterizedType(List::class.java, JsonPodcast::class.java)
        val adapter: JsonAdapter<List<JsonPodcast>> = moshi.adapter(listType)

        val file = "json_file.json"

        val myjson = context.assets.open(file).bufferedReader().use{ it.readText()}

        return adapter.fromJson(myjson)
    }

    @JsonClass(generateAdapter …
Run Code Online (Sandbox Code Playgroud)

json android-assets kotlin moshi

8
推荐指数
1
解决办法
4244
查看次数