摘要:本文将带你了解Android应用开发Android:读取assets目录下文件(一),希望本文对大家学Android有所帮助。
本文将带你了解Android应用开发Android:读取assets目录下文件(一),希望本文对大家学Android有所帮助。
在Android开发中,资源文件一般分为两种:
1.可编译的资源文件,放在res目录下,例如布局文件,这种资源文件系统会在R.java里面自动生成该资源文件的ID,直接通过R.X.ID就可以访问。
2.原生资源文件,保持原始的文件格式,存放在assets目录下。通过Android系统为我们提供的AssetManager,以简单的字节流的形式打开和读取这些资源文件。例如公司简介、服务协议等内容,通常放在这个文件夹。
这篇文章先讲下读取assets目录下的txt文件,示例代码如下:
package com.li.readassetfile;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.content.res.AssetManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.TextView;
public class ReadTxtActivity extends Activity {
private TextView tvContent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read_txt);
tvContent = (TextView) findViewById(R.id.tvContent);
new ReadTxtTask().execute();
}
private class ReadTxtTask extends AsyncTask
@Override
protected String doInBackground(Void... params) {
AssetManager manager = getResources().getAssets();
try {
InputStream inputStream = manager.open(""joke.txt"");
InputStreamReader isr = new InputStreamReader(inputStream,
""UTF-8"");
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String length;
while ((length = br.readLine()) != null) {
sb.append(length + ""\n"");
}
//关流
br.close();
isr.close();
inputStream.close();
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return """";
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
tvContent.setText(result);
}
}
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号