我需要在我的应用程序中使用一些文件.它们保存在资产文件夹中.我看到SO上的讨论,文件从资产文件夹复制到内部存储上的/ data/data /,然后被使用.我得到了代码,但我没有得到的是,将资产复制到内部存储需要什么?如果有人有这方面的经验,请帮忙!
android android-assets android-image android-studio uiimageasset
我在某些 Android 设备(Pixel 2 XL 和 Pixel 5 - 均为 Android 11)上收到空白/灰色通知图标,但在我测试过的其他 Android 设备(华为 P20 和 P30 - 均为 Android 10)上显示正常。有没有其他人遇到过这种异常情况?
这是我尝试过的:
我使用Android Asset Studio确保所有图标大小都遵循定义的位图密度。
我还将该.setColorized()方法添加到
Notification.Builder对象,因为它以前在代码中缺失,但这根本没有区别。我在下面包含了我的通知代码:
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) …android push-notification android-assets android-notifications kotlin
我有一个看似简单的问题,但我似乎无法让它正常工作.
我的'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);
    }
这有效,但有两个while循环似乎有点多余,基本上做同样的事情.
我知道有一个ZipFile-API有一个size()-method,但它需要一个文件的路径,因为我的文件位于'assets'文件夹中,我很确定从这个目录中读取的唯一方法是通过流式传输.
有没有办法让我做到这一点?
搜索1小时后,我找不到解决问题的方法.
我想将文件从sdcard移动到assets文件夹,并且还覆盖assets文件夹中的现有文件(这两个文件都是sqlite数据库,它们具有相同的名称,数据只有一点点差别)
??
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) { …在我的应用程序中,我必须将一个文件从assets文件夹传递到共享库.我现在不能使用jni.我在我的项目中使用预编译的共享库,其中我有我的文件的硬编码路径,但我收到错误"没有这样的文件或目录".所以在我的.apk文件中,我在libs/armeabi-v7a文件夹中有.so文件,在/ assets文件夹中有我的文件.
我试过这样做:
char *cert_file = "/assets/cacert.cert";
av_strdup(cert_file);
和其他一些路径,但它不起作用.
有可能吗?
我的资产文件夹中有一个JSON文件.该文件有一个带有数组的对象.该阵列有150多个对象,每个对象有三个字符串.
对于这150多个对象中的每一个,我想提取每个字符串并创建一个java模型对象,并传递三个字符串.我在android JSON解析中找到的所有教程都是从我不想做的url中获取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"
  }
]
这就是我所做的:
实用程序
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 …android-assets ×10
android ×8
java ×2
json ×2
kotlin ×2
android-file ×1
android-ndk ×1
file ×1
inputstream ×1
moshi ×1
uiimageasset ×1
zip ×1