AssetManager asset使用
Android
该系统提供了一个程序为每个新的设计/assets文件夹。保存该文件在此文件夹可以在一个程序被打包。/res
和/assets所不同的是,android不/assets下生成的文件ID。
假设/assets下的文件,须要指定文件的路径和文件名称。
以下这个样例,显示怎样訪问/assets下的内容。
在文件里/assets
中建立/image子文件夹,将/res/drawable下的icon.png子文件夹复制到该文件夹中。
在/assets子文件夹中建立readme.txt文件,文件里输入文本“hello,world!!!”。
<?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
AssetManager asset使用的更多相关文章
- AssetManager asset的使用
Android 系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里./res 和/assets的不同点是,android不为/assets下的文件生成ID.如果使用/a ...
- AssetManager
AssetManager用于获取assets下的资源. 1.getassets()得到AssetManager 2.AssetManager.close() 关闭AssetManager 3.Reso ...
- Android使用pull解析xml
一.理论准备 Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, ...
- Android的Bitmap和BitmapDrawable类解析-android学习之旅(六十)
使用简单图片 使用Drawable对象 bitmap和BitmapDrawable对象 package peng.liu.test; import android.app.Activity; impo ...
- OpenGL—Android 开机动画源码分析一
.1 Android开机动画实现方式目前实现Android开机动画的方式主要是逐帧动画和OpenGL动画. ?逐帧动画 逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的 ...
- ListView下拉刷新、上拉载入更多之封装改进
在Android中ListView下拉刷新.上拉载入更多示例一文中,Maxwin兄给出的控件比较强大,前面有详细介绍,但是有个不足就是,里面使用了一些资源文件,包括图片,String,layout,这 ...
- XML解析之SAX
今天在敲代码的时候,想要实现地址选择功能,就是那个能够选择省.市.县的一个,用到的一个开源框架Android-PickerView,当然他这个里面尽管实现了能够选择的城市列表.可是他这是自己创建的,可 ...
- android仿iphone的地区选择
最近项目要做一个,类似淘宝手机客户端的,选择收货地址的三级联动滚动选择组件,下面是它的大致界面截图: 在IOS中有个叫UIPickerView的选择器,并且在dataSource中定义了UIPicke ...
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
代码示例 public class MainActivity extends Activity{ MediaPlayer mediaPlayer1,mediaPlayer2; @Override pr ...
随机推荐
- simpleDateFormat日期格式转换
1------------------------------------------------------------------------------------- package com.n ...
- SharePoint 2010 BCS - 概要
博客地址 http://blog.csdn.net/foxdave SharePoint 2010首次引入了BCS的概念 - Business Connectivity Service.即业务连接服务 ...
- ALSA安装编程指南
ALSA全指南 一.什么是ALSA ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Mu ...
- Mpmovieplayercontroller 黑屏
MPMoviePlayerController * moviePlayer; 原因是:你在声明movieplayer的时候,声明成为了局部变量,与此同一时候你的project支持ARC,所以会出现黑屏 ...
- Please read “Security” section of the manual to find out how to run mysqld as root!错误解决(转)
2016-03-12T15:40:45.717762Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please ...
- not accessible due to restriction on required library
The type AWTUtilities is not accessible due to restriction on required library D:\Program Files\jdk1 ...
- PhoneGap 开发与应用 上传 App Store 在
几个简单的归纳过程,前提是你有一个开发者账户,而且必须有Mac 虚拟机或真机.尽管WIndows 也可以上载证书.但最终也必须用于上传应用程序 Xcode 要么 Application Loader ...
- WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现
原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系 ...
- 在投票系统方法的原则刷票(突破ip限制刷票PHP版)
让我谈一点:事实上,没有一个突破ip限制,因为实际上,,这项限制server结束,client牛逼,不能突破..只要是能够始终重复刷票罢了 一个朋友突然来了个网站,让我帮她投票..我是一个更好的人说话 ...
- maven/eclipse搭建ssm(spring+spring mvc+mybatis)
maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...