① android通过jni调用c或c++读取assets下的文件吗
新建android工程
新建java上层方法
在工程中新建 cn.landsem.jnistudy 包,
在其中新建TestManager类用于调用本地C/C++方法
② 如何得到android项目assets目录中的内容
assets文件夹是android程序中存放相关外部文件的一个目录,Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码操作,直接调用相关方法打开文件并得到一个字节输入流(InputStream);
然后通过相应的字符编码方式读取字节解码为字符输入流(InputStreamReader);再通过BufferReader对字符输入流读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取;最后我们就能逐行对文件内容进行读取了;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
InputStream inputStream = getResources().getAssets().open("info.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String info = "";
while ((info = bufferedReader.readLine()) != null) {
Log.i("fff", info);
Toast.makeText(MainActivity.this, info, 1000).show();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
③ 读取android中assets中的txt文档。乱码怎么办
一般为两种编码格式
GBK或者UTF8。乱码是因为你项目的编码与.txt中的编码不同
Result
=
new
String(Result.getBytes("GBK"),
"ISO_8859_1");
你可以参考上面这个函数,对内容做编码转换。
④ 安卓手机如何打开.assets文件
1、首先,打开手机中的【文件管理】,如下图所示,然后进入下一步。
2、其次,在弹出窗口中,单击手机存储,如下图所示,然后进入下一步。
3、接着,在弹出窗口中,点击所有文件,如下图所示,然后进入下一步。
4、然后,显示所有文件后,找到ClorlOS文件夹,然后单击进入,如下图所示,然后进入下一步。
5、最后,在弹出窗口中,就可以找到font文件夹,下载的字体位于其中