前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AssetManager asset的使用

AssetManager asset的使用

作者头像
全栈程序员站长
发布于 2021-12-05 03:34:30
发布于 2021-12-05 03:34:30
7420
举报

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Android 系统为每一个新设计的程序提供了/assets文件夹,这个文件夹保存的文件能够打包在程序里。/res 和/assets的不同点是,android不为/assets下的文件生成ID。假设使用/assets下的文件,须要指定文件的路径和文件名称。以下这个样例,显示怎样訪问/assets下的内容。

   在文件里/assets 中建立/image子文件夹,将/res/drawable下的icon.png子文件夹复制到该文件夹中。在/assets子文件夹中建立readme.txt文件,文件里输入文本“hello,world!!!”。

布局文件:main.xml

<?xml version=“1.0” encoding=“utf-8” ?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    android:orientation=“vertical”

    android:layout_width=“fill_parent”

    android:layout_height=“fill_parent”

    >

<TextView 

    android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    android:text=“@string/hello”

    />

    <EditText android:id=“@+id/firstId”

     android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    android:text=“@string/hello”

    />

    <EditText android:id=“@+id/secondId”

     android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    android:text=“@string/hello”

    />

</LinearLayout>

程序文件:

package com.cn.getassets;

import android.app.Activity;

import android.os.Bundle;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import android.app.Activity ;

import android.content.res.AssetManager;

import android.os.Bundle ;

import android.util.Log;

import android.widget.EditText;

public class GetAssets extends Activity {

private EditText firstField;

private EditText secondField;

 @Override

public void onCreate(Bundle savedInstanceState) {

super .onCreate(savedInstanceState);

//  Log.d(“show main.xml”,”ok “);

  setContentView(R.layout.main );

  Log.d (“show main.xml”,”ok”);

  AssetManager assetManager = getAssets();

  String[] files = null ;

try {

   files = assetManager.list(“image”);

  } catch (IOException e) {

   Log.e (“tag”, e.getMessage());

  }

  firstField = (EditText) findViewById(R.id.firstId );

  firstField.setText(Integer.toString (files.length)+”file.File name is”+ files[0]);

  InputStream inputStream = null ;

try {

   inputStream = assetManager.open(“readme.txt”);

  } catch (IOException e) {

   Log.e (“tag”, e.getMessage());

  }

  String s = readTextFile(inputStream);

  secondField = (EditText) findViewById(R.id.secondId );

  secondField.setText(s);

 }

private String readTextFile(InputStream inputStream) {

  ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

byte buf[] = new byte [1024];

int len;

try {

while ((len = inputStream.read(buf)) != -1) {

    outputStream.write(buf, 0, len);

   }

   outputStream.close();

   inputStream.close();

  } catch (IOException e) {

  }

return outputStream.toString();

 }

}

程序显示结果:使用模拟器。

http://blog.sina.com.cn/s/blog_6cf0d3f30100m2x6.html

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118595.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Android开发学习笔记之一】5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 相对布局(RelativeLayout):相对其它组件的布局方式。  绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orien
Angel_Kitty
2018/04/09
8210
【Android开发学习笔记之一】5大布局方式详解
Android上图片文字识别
最近做了一款Android应用需要输入大量的数据,为了提高体验我想了很多种输入数据的方式,最终采用了两种:二维码扫描和图片识别。前者顾名思义有个短板,就是需要生成二维码,下面就介绍下图片文字识别实现。
全栈程序员站长
2022/07/01
32.8K0
Android上图片文字识别
GetAPictureFromInternet网络编程
这是《Android 4.0网络编程详解》书上的一个例子,可能是由于版本的原因吧,报了很多错。 新建android工程GetAPictureFromInternet 布局文件main.xml
提莫队长
2019/02/21
3560
android多线程下载1
想做一个下载功能,当然理想的功能要支持多任务同时下载,断点续传的功能,我想一步一步来,首先困难摆在了多任务这里 开始我的思路是在一个Service中启动下载的流操作,然后通过Service中声明一个Activity中的Handler更新UI(比如进度条。。。) 可是我发现在Service中声明一个Activity中的Handler是做不到的(可能只是我做不到吧,无法申请内存) 于是,我决定在Activity中直接启动线程,让其运行,调用自身的Handler来更新UI,没想到在这个下载Activity
xiangzhihong
2018/01/26
6170
【Android 内存优化】Bitmap 长图加载 ( BitmapRegionDecoder 简介 | BitmapRegionDecoder 使用流程 | 区域解码加载示例 )
① 主要作用 : BitmapRegionDecoder 可以从图像中 解码一个矩形区域 ;
韩曙亮
2023/03/27
1.8K0
【Android 内存优化】Bitmap 长图加载 ( BitmapRegionDecoder 简介 | BitmapRegionDecoder 使用流程 | 区域解码加载示例 )
android开发_mp3_player音乐播放器
============================================
Hongten
2018/09/13
1.3K0
android开发_mp3_player音乐播放器
基于TCP协议的Socket通信
4.上传成功后可以看到我们的服务端的项目下生成一个file的文件夹,我们可以在这里找到上传的文件:.log那个是我们的日志文件
芯动大师
2023/10/13
3050
基于TCP协议的Socket通信
数据存储之文件存储
openFileOutput和openFileInput方法可以获得操作文件的OutputStream以及InputStream对象,而且可以通过流对象处理任何文件的数据,但是这两个方法同SharedPreferences一样,只能在手机内存卡的指定目录建立文件,因此在使用上仍然有一定的局限性。
小小工匠
2021/08/16
23.9K0
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/36438365
韩曙亮
2023/03/27
5260
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
Android中的资源
Android中的资源是一种非常优秀的、高效的解耦设计,通过使用资源文件,Android应用可以把各种字符串、图片、颜色、界面布局等交给XML文件管理,可以避免在Java代码中以硬编码的方式直接定义这些内容。本章中我们就针对Android中的各种资源,包括字符串资源、尺寸资源、样式和主题资源、图片资源、布局资源等以及国际化和资源自适应等知识进行深入讲解。
张哥编程
2024/12/17
1860
Android中的资源
Android之TCP服务器编程android 之TCP客户端编程
推荐一个学java或C++的网站http://www.weixueyuan.net/,本来想自己学了总结出来再写博客,现在没时间,打字太慢!!!!,又想让这好东西让许多人知道。 关于网络通信:每一台电脑都有自己的ip地址,每台电脑上的网络应用程序都有自己的通信端口,张三的电脑(ip:192.168.1.110)上有一个网络应用程序A(通信端口5000),李四的电脑(ip:192.168.1.220)上有一个网络应用程序B(通信端口8000),张三给李四发消息,首先你要知道李四的ip地址,向指定的ip(李四i
杨奉武
2018/04/12
6.8K1
Android之TCP服务器编程android 之TCP客户端编程
Android网络与数据存储——File存储(实现SD卡文件浏览器)
AndroidManifest.xml中manifest标签下有一个属性android:installLocation,用于指定应用程序安装在什么地方,该属性有三个可选值:
trampcr
2018/09/28
1.8K0
Android网络与数据存储——File存储(实现SD卡文件浏览器)
【Android】使用Android开发应用过程中遇到ViewGroup的简单效以及aw和assets文件夹下的文件(Http协议的底层工作)
在Android APP中,所有用户界面元素都由View和ViewGroup对象组成。视图是用户在屏幕上绘制时可以与之交互的对象。ViewGroup是用于存储其他View(和ViewGroup)对象的布局容器!Android为我们提供了View和ViewGroup子类的集合,其中提供了一些常见的输入控件(如按钮和文本字段)和各种布局模式(如线性或相对布局)
上进小菜猪
2022/12/22
7100
【Android】使用Android开发应用过程中遇到ViewGroup的简单效以及aw和assets文件夹下的文件(Http协议的底层工作)
android开发_Intent_requestCode_resultCode页面之间的跳转
新建项目: 项目结构: 运行效果: 回到MainActivity类 代码部分: main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <Linea
Hongten
2018/09/13
7400
android开发_Intent_requestCode_resultCode页面之间的跳转
android开发_Intent高级学习(保存Activity状态)
http://www.cnblogs.com/hongten/gallery/image/112159.html
Hongten
2018/09/13
5050
Android开发 经验技巧汇总(基于Android Studio)(二)
assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。
cutercorley
2020/07/23
1.3K0
Android开发 经验技巧汇总(基于Android Studio)(二)
android 数据存储<一>----android短信发送器之文件的读写(手机+SD卡)
1.布局文件,android布局有相对布局,线性布局,绝对布局,表格布局,标签布局等,各个布局可以嵌套的。本文的布局文件就是线性布局的嵌套
用户4148957
2022/06/14
1.4K0
android 数据存储<一>----android短信发送器之文件的读写(手机+SD卡)
android使用Activity
第一个例子,显示网址 首先创建工程 按照提示填入 我使用的是2.3版本,所以Min SDK Version填10 修改/res/layout/下main.xml文件 加入按钮 对应的程序文件如下:
cloudskyme
2018/03/20
1.1K0
android使用Activity
我的第一个 Mono for Android 应用
Mono for Android 初体验, 学习怎么使用 Mono for Anrdoid 创建 android 应用, 如何使用 Intent 启动 Activity , 如何在 Activity 之间传递参数。
beginor
2020/08/10
1.1K0
我的第一个 Mono for Android 应用
Android EditText使用详解-包含很多教程上看不到的功能演示
标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了。。呵呵
飞雪无情
2018/08/28
4K0
Android EditText使用详解-包含很多教程上看不到的功能演示
推荐阅读
相关推荐
【Android开发学习笔记之一】5大布局方式详解
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档