精华内容
下载资源
问答
  • 周末所有项目组交叉测试,负责的应用发现在红米手机下加载assets文件显示乱码,该文件内容为中文。明显是编码问题。解决办法,对于中文文件:webview.getSettings().setDefaultTextEncodingName(“gbk”);

    周末所有项目组交叉测试,负责的应用发现在红米手机下加载assets文件显示乱码,该文件内容为中文。明显是编码问题。

    解决办法,对于中文文件:

    webview.getSettings().setDefaultTextEncodingName(“gbk”);

    展开全文
  • 1./src/main/assets 2.切换到Project视图模式,在main下新建文件夹assets 二.特点 1.和res同等级别 2.主要是存放项目中的大文件 3.文件不受R类的管理 三.API 1.AssetManager 资产管理器 1-getAssets...

    一.创建 

       1./src/main/assets

       2.切换到Project视图模式,在main下新建文件夹assets

    二.特点

       1.和res同等级别

       2.主要是存放项目中的大文件

       3.文件不受R类的管理

    三.API

       1.AssetManager  资产管理器

          1-getAssets()   得到资产管理器

          2-open(文件名)   返回文件的InputStream

       2.ImageView:setImageBitmap(Bitmap  实例)  设置图片视图的位图

       3.Bitmap   位图:BitmapFactory.decodeFile(图片文件路径)   使用工厂方法得到图片文件的Bitmap.

     

    图片内部存储代码展示:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:paddingBottom="@dimen/activity_vertical_margin"
     7     android:paddingLeft="@dimen/activity_horizontal_margin"
     8     android:paddingRight="@dimen/activity_horizontal_margin"
     9     android:paddingTop="@dimen/activity_vertical_margin"
    10     tools:context="com.hanqi.testapp3.MainActivity"
    11     android:orientation="vertical">
    12 
    13 
    14 
    15     <Button
    16         android:layout_width="match_parent"
    17         android:layout_height="wrap_content"
    18         android:text="保存资产文件到内部存储"
    19         android:onClick="bt4_OnClick"/>
    20 
    21     <ImageView
    22         android:layout_width="wrap_content"
    23         android:layout_height="30dp"
    24         android:id="@+id/iv_1"
    25         android:src="@drawable/f9"/>
    26 
    27     <Button
    28         android:layout_width="match_parent"
    29         android:layout_height="wrap_content"
    30         android:text="设置图片指向内部存储"
    31         android:onClick="bt5_OnClick"/>
    32 
    33 
    34 
    35 
    36 
    37 </LinearLayout>
    图片手机内部存储
      1 package com.hanqi.testapp3;
      2 
      3 import android.content.SharedPreferences;
      4 import android.content.res.AssetManager;
      5 import android.graphics.Bitmap;
      6 import android.graphics.BitmapFactory;
      7 import android.os.Environment;
      8 import android.support.v7.app.AppCompatActivity;
      9 import android.os.Bundle;
     10 import android.text.BidiFormatter;
     11 import android.view.View;
     12 import android.widget.EditText;
     13 import android.widget.ImageView;
     14 import android.widget.TextView;
     15 import android.widget.Toast;
     16 
     17 import java.io.File;
     18 import java.io.FileInputStream;
     19 import java.io.FileOutputStream;
     20 import java.io.InputStream;
     21 import java.io.PrintStream;
     22 
     23 
     24 public class MainActivity extends AppCompatActivity {
     25 
     26   
     27     ImageView iv_1;
     28 
     29     @Override
     30     protected void onCreate(Bundle savedInstanceState) {
     31         super.onCreate(savedInstanceState);
     32         setContentView(R.layout.activity_main);
     33 
     34 
     35         iv_1=(ImageView)findViewById(R.id.iv_1);
     36 
     37     }
     38 
     39 
     40 
     41     //保存资产文件到内部存储
     42     public  void bt4_OnClick(View v)
     43     {
     44         try {
     45 
     46             //操作assets目录文件
     47 
     48             //1.得到assetsManager
     49 
     50             AssetManager am=getAssets();
     51 
     52             //2.操作资产目录,边读边写入
     53             //1)读文件到内存  inputstream
     54             InputStream is=am.open("car.png");
     55 
     56 
     57             //2)写文件到目录  outputstream
     58             FileOutputStream fos=openFileOutput("test.png",MODE_PRIVATE);
     59 
     60             //先读后写
     61             byte [] b=new byte[1024];
     62             int i=0;
     63 
     64             while ((i=is.read(b))>0)
     65             {
     66                 fos.write(b,0,i);
     67             }
     68 
     69             fos.close();
     70             is.close();
     71 
     72             Toast.makeText(MainActivity.this, "保存文件成功", Toast.LENGTH_SHORT).show();
     73 
     74 
     75 
     76         }
     77         catch (Exception e)
     78         {
     79             Toast.makeText(MainActivity.this, "保存文件出错", Toast.LENGTH_SHORT).show();
     80         }
     81     }
     82 
     83     //设置图片指向内部存储
     84     public void bt5_OnClick(View v)
     85     {
     86 
     87         //1.得到文件路径
     88         String path=getFilesDir().getAbsolutePath()+"/test.png";
     89 
     90         Toast.makeText(MainActivity.this, "path="+path, Toast.LENGTH_LONG).show();
     91 
     92         //2.从内部存储的图片得到  Bitmap,BitmapFactory.decodeFile("文件路径");
     93         Bitmap bm= BitmapFactory.decodeFile(path);
     94 
     95         //3.设置图片视图的图片来源
     96         iv_1.setImageBitmap(bm);
     97     }
     98 
     99   
    100 }
    图片手机内部存储.java

     

    转载于:https://www.cnblogs.com/arxk/p/5535237.html

    展开全文
  • assets文件转为byte[]

    2019-12-22 15:22:16
    assets文件在apk安装到手机后,在手机里没有绝对路径,只有相对路径!!! 代码: animRes.m_AnimSklFile = readFileFromAssets(this.getActivity(),null,"animation.skl"); animRes.m_AnimFiles[0] = ...

    注意:assets文件在apk安装到手机后,在手机里没有绝对路径,只有相对路径!!!

    代码:

    animRes.m_AnimSklFile = readFileFromAssets(this.getActivity(),null,"animation.skl");
    animRes.m_AnimFiles[0] = readFileFromAssets(this.getActivity(),null,"animation.anim");
    ......
    public static byte[] readFileFromAssets(Context context, String groupPath, String filename){
        byte[] buffer = null;
        AssetManager am = context.getAssets();
        try {
            InputStream inputStream = null;
            if (groupPath != null) {
                inputStream = am.open(groupPath + "/" + filename);
            } else {
                inputStream = am.open(filename);
            }
    
            int length = inputStream.available();
            Log.d(TAG, "readFileFromAssets length:" + length);
            buffer = new byte[length];
            inputStream.read(buffer);
        }catch (Exception exception){
            exception.printStackTrace();
        }
        return buffer;
    }

     

    展开全文
  • 在工程目录assets下的文件,将目录下的文件复制到手机内存或者SD卡内存中。
  • /** * 从assets目录中复制整个文件夹内容到新的路径下 * @param context Context 使用... * @param oldPath String 原文件路径 如:Data(assets文件夹下文件夹名称) * @param newPath String 复制后路径 如:d...
    /**
         *  从assets目录中复制整个文件夹内容到新的路径下
         *  @param  context  Context 使用CopyFiles类的Activity
         *  @param  oldPath  String  原文件路径  如:Data(assets文件夹下文件夹名称)
         *  @param  newPath  String  复制后路径  如:data/data/(手机内部存储路径名称)
         */
        public void copyFilesFromAssets(Context context,String oldPath,String newPath) {
            try {
                String fileNames[] = context.getAssets().list(oldPath);//获取assets目录下的所有文件及目录名
                if (fileNames.length > 0) {//如果是目录
                    File file = new File(newPath);
                    file.mkdirs();//如果文件夹不存在,则递归
                    for (String fileName : fileNames) {
                        copyFilesFromAssets(context,oldPath + "/" + fileName,newPath+"/"+fileName);
                    }
                } else {//如果是文件
                    InputStream is = context.getAssets().open(oldPath);
                    FileOutputStream fos = new FileOutputStream(new File(newPath));
                    byte[] buffer = new byte[1024];
                    int byteCount=0;
                    while((byteCount=is.read(buffer))!=-1) {//循环从输入流读取 buffer字节
                        fos.write(buffer, 0, byteCount);//将读取的输入流写入到输出流
                    }
                    fos.flush();//刷新缓冲区
                    is.close();
                    fos.close();
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                如果捕捉到错误则通知UI线程
                //MainActivity.handler.sendEmptyMessage(COPY_FALSE);
            }
        }
    
        /**
         * 复制assets文件夹下的文件夹到apk安装后的files文件夹中
         * @param context
         * @param folder 要复制的assets文件夹下的文件夹或文件的名字,如assets文件夹下有个文件夹是Data,则folder的值为Data
         */
        void copyFileFromAssets(Context context,String folder){
            String filesDir = context.getFilesDir().getPath();
            filesDir = filesDir + "/assets/" + folder;
            copyFilesFromAssets(context,folder,filesDir);
        }
    

    仅做记录,使用了以下链接中一些相应代码段
    https://github.com/Blankj/AndroidUtilCode

    展开全文
  • android assets目录文件操作

    千次阅读 2018-05-10 17:58:13
    就是没有删除的,原来官方就不提供删除的,资源文件夹为啥要删除尝试着删掉文件,把新的apk装手机上,啊,手机上没有要删除了文件了自己把自己绕晕了,其实assets文件夹安装会覆盖的try { files...
  • android 读取assets指定文件

    千次阅读 2018-07-07 09:32:33
    android 读取assets下指定文件手机sd卡 直接上代码(经测试可用) /** * 读取assets/TXUgcSDK.licence 许可证到手机sd卡 */ private void readAssetsFile() { try { InputStream in = MyApplication.this....
  • 离线地图包提前下载好,不改变目录结构,直接将离线地图包复制到源码包assets目录下,apk启动时将assets下的离线地图资源复制到手机存储,按照地图SDK开发规范接入后,即可实现正常使用离线地图功能 代码如下: ...
  • 例如: assets文件下数据库名称为 qd.db 权限 &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt; &lt;uses-permission android:name="android....
  • 我在手机里面写了Java socket服务,然后把前端的图片和css和js的文件放到了安卓项目的 assets目录,然后浏览器访问服务,我会把 assets目录下的文件读出来,然后用DataOutputStream流写入浏览器,但是发现页面显示不...
  • 每个应用程序可能都会有程序...该方式是将数据库db文件放到res/raw中,在获取的时候将文件写入到手机的sd卡中, 建立数据库的时候可以调用 SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databa
  • android编程实现: 1、在res目录下建立raw...2、在您的手机相册目录下(即:DCIM目录)新建两文本文件,分别命名为a1.txt和a2.txt,并将raw目录下的a1.txt和assets目录下a2.txt文件的文本内容复制到新建的同名文件中。
  • 2、根据中英文加载assets目录下,对应的资源文件 3、在ScrollView控件中显示 首先看页面布局文件---蓝色框是一个ScrollView,用于显示介绍文字 这个方法是判断手机是处于英文?还是中文中文状态? ...
  • 我是用来对比,解压出来的js文件通常要放置在安卓目录里面,每次app启动时都要调用这个文件来进行渲染,所以在每次打开app的时候就拿存放在assets文件夹下的zip源文件来和js文件进行对比,判断js文件是否被修改了...
  • 因为项目需要调手机浏览器从StreamingAssets文件夹打开Html文件,花了一天时间查看Unity官方API跟一些论坛帖子,做的一个DEMO 代码在这里插入代码片 using UnityEngine; using System.IO; using UnityEngine.UI;...
  • android 读取assets下excel 文件

    千次阅读 2018-05-23 15:14:11
    在面对选择国家地区,选择手机号码区号等信息的时候,常常我们是读取已存好的...准备工作1.1 excel 表格 我在assets 下放的的excel 表1.2 读取excel 需要的jar 包下载地址:jxl 读取excel 需要的jar 包注意点: as...
  • 最近Android吧在做个功能是将asset文件夹下的所有文件(包括子文件)全部拷贝出来到指定目录下。所用的方法无非是用AssetManager。但是这里有个问题是也要讲子文件夹和子文件都要拷贝出来。到网上Google了下,也到...
  • 支持 Assets 下的文件或者文件夹拷贝到手机存储 public static void copyAssetsDirToSDCard(Context context, String assetsDirName, String sdCardPath) { Log.d(TAG, copyAssetsDirToSDCard() called with: ...
  • 将db文件先保存到手机上,操作如下: package com.ssyw.exam2.util; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import android.content.Context; import android....
  • 1 Unity 打包后各种路径处理! 2 正确读取StreamingAssets文件夹里面的文件 3 调用手机里面邮箱像指定的邮箱地址发送邮件 4 调用手机里面浏览器打开Html文件
  • public class DBManger { public static final String DB_NAME = "festival.db";//数据库 public static final String PACKAGE_NAME = ... // 在手机存放数据库的位置 public final String D
  • 最近在做个功能是将asset文件夹下的所有文件(包括子文件)全部拷贝出来到指定目录下。所用的方法无非是用AssetManager。但是这里 有个问题是也要讲子文件夹和子文件都要拷贝出来。到网上Google了下,也到baidu搜索...
  • 项目中需要把一些模型文件打包到apk中,安装的时候释放到手机中,APP启动时调用。 Android除了提供/res目录存放资源文件外,在/assets目录也会提供存放资源文件,且assets 目录中的文件,会不经压缩打包至APK包中。...
  • <div><p>预测模型都是放在Android项目的assets目录上的,但是加载模型的接口是使用模型路径的,如果要复制到手机内存卡上是不符合我项目要求的,这个问题该如何处理呢?不要复制文件到其他...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 379
精华内容 151
关键字:

手机assets文件