Xamarin.Android 如何使用Assets目录下的文件

原文: Xamarin.Android 如何使用Assets目录下的文件

我的原创,转载注明出处:http://blog.csdn.net/supluo/article/details/43672411java

Xamarin.Android  官网介绍地址:http://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_6_-_using_android_assets/android


这里插入一下Assets与Raw目录的异同点app

这两个目录的相同点:ide

   一、 这两个目录下的文件会在打包以后原封不动的保存在apk包中,不会编译成二进制文件。工具

    二、这两个目录下的文件都是只读的。字体

不一样点:ui

       1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候须要AssetManager类。

    2.res/raw不能够有目录结构,而assets则能够有目录结构,也就是assets目录下能够再创建文件夹this

Assets使得咱们能够在程序中包含任意的文本、xml、音乐、视频等文件,这就比如为程序内设一些资源以供使用。更改程序字体就会在这个目录下放置一些预设置的字体文件。spa

1、Xamarin.Android中如何打开Assets中的文件.net

一、设置文件生成操做方式为AndroidAsset。(对着文件右键,弹出菜单中选择属性,便可看到生成方式一栏)。

    因为有些开发者使用的是破解工具,而且版本都比较低,所以新增长的文件可能并非这个方式,所以这一点须要注意,不然这个可能成为一个很是折磨人的问题。经过从其余地方复制而来的文件的生成方式也可能不是上述生成方式。

二、在代码中使用,假如如今Assets目录下保存了一个名为"read_asset.text"的文件

    var tv = new TextView (this);
    // Read the contents of our asset
    string content;
    using (StreamReader sr = new StreamReader (Assets.Open ("read_asset.txt")))
    {
        content = sr.ReadToEnd ();
    }
    // Set TextView.Text to our asset content
    tv.Text = content;
    SetContentView (tv);


上述代码变能够以流的形式读取文本中的内容,Assets.Open的第二个参数能够指定检索数据的方式。


我的搞了个博客App,平时上个厕所,睡觉前等随便看两篇文章,总能有些收获,但愿你们支持!http://blog.csdn.net/supluo/article/details/43489475

相关文章
相关标签/搜索