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

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

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

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

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

这两个目录的相同点:

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

    2、这两个目录下的文件都是只读的。

不同点:

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

    2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹

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

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

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

    由于有些开发者使用的是破解工具,并且版本都比较低,因此新增加的文件可能并不是这个方式,因此这一点需要注意,否则这个可能成为一个非常折磨人的问题。通过从其他地方复制而来的文件的生成方式也可能不是上述生成方式。

2、在代码中使用,假如现在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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-30 14:18:37

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

Android开发实现读取assets目录下db文件的方法示例

本文实例讲述了Android开发实现读取assets目录下db文件的方法.分享给大家供大家参考,具体如下: 最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api,获取天气是通过城市的cityID,项目中准备通过读取weather_city.db数据库来查询cityID,这篇文章写怎么读取assets目录下的db文件,其实方法也挺简单的就是把assets目录下的db文件复制一份到"/data/data/" + packName + "/&

读写Android中assets目录下的文件的方法详解_Android

Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/r

基于android中读取assets目录下a.txt文件并进行解析的深入分析

android读取assets文件下的内容,一般都是使用getAsset.open()方法,并将文件的路径作为参数传入,而当我们解析一个目录下的文件时需要对其进行解析时,比如:a.txt文件的内容为: name android,liu class 1,2,3,4 这些文件有时就像是数据库文件的格式一样,我们就需要对其进行解析. 我们知道获取assets文件后返回的是一个inputstream而不是一个file类型,所以我们需要对inputstream进行解析.主要分为两个阶段:第一个阶段为:去换

读写Android中assets目录下的文件的方法详解

Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/r

Android如何遍历特定目录下所有文件

第一个案例为大家分享了Android遍历特定目录下所有文件,包含子目录的,并删除最新创建的. private boolean deleteLastFromFloder(String path) { boolean success = false; try { ArrayList<File> images = new ArrayList<File>(); getFiles(images, path); File latestSavedImage = images.get(0); if

Android读取assets目录下的所有图片并显示的方法_Android

本文实例讲述了Android读取assets目录下的所有图片并显示的方法.分享给大家供大家参考.具体方法分析如下: 在assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStrea

Android读取assets目录下的所有图片并显示的方法

本文实例讲述了Android读取assets目录下的所有图片并显示的方法.分享给大家供大家参考.具体方法分析如下: 在assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStrea

Android动态修改src目录下的Properties文件如何做?

问题描述 Android动态修改src目录下的Properties文件如何做? 解决方案 http://wenku.baidu.com/link?url=IXMKvhkrBs8_wj_uY27b3BYf_0fqCWm-XwXpwDAvNgMDkByJiw7j2nZOfSWcnmI2XlGdokvfD5zVXjhYKiyToHzfl4YxzgHDXlvOsjHXV9i(java修改properties文件)希望对你帮助!

Android Studio 添加Assets目录

Android Studio 添加Assets目录:   法一: Since Android Studio uses the new Gradle-based build system, you should be putting assets/ inside of the source sets (e.g., src/main/assets/), if I understand correctly. 法二: In Android Studio, right-click on the  fold