zoukankan      html  css  js  c++  java
  • Xamarin.Android 读取AboutAssets.txt

    读取AboutAssets.txt

    使用Activity上下文读取

        // 需要把AboutAssets.txt的Build Action属性设置为AndroidAsset(https://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_6_-_using_android_assets/)
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            TextView tv = new TextView(this);
    
            //使用Activity上下文读取
            string content;
            AssetManager assets = this.Assets;
            using (StreamReader sr = new StreamReader(assets.Open("AboutAssets.txt")))
            {
                content = sr.ReadToEnd();
            }
            tv.Text = content;
            SetContentView(tv);
        }
    
    

    不使用Activity上下文读取

    1. 创建Application子类并使用[Application]标签设置为当前程序的Application

      
          [Application]
          public class DemoApplication:Application
          {
      
               public DemoApplication(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip)
              {
      
              }
              public static volatile Context s_appContext = null;
      
              public override void OnConfigurationChanged(Configuration newConfig)
              {
                  base.OnConfigurationChanged(newConfig);
              }
      
              public override void OnCreate()
              {
                  base.OnCreate();
                  s_appContext = this.ApplicationContext;
              }
      
              public override void OnLowMemory()
              {
                  base.OnLowMemory();
              }
      
              public override void OnTerminate()
              {
                  base.OnTerminate();
              }
          }
      
      
    2. 读取

      
      /// <summary>
      /// 读取Assets文件夹下的文件(Assets文件夹可以有子文件夹)
      /// 需要把AboutAssets.txt的Build Action属性设置为AndroidAsset(https://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_6_-_using_android_assets/)
      /// DemoApplication 继承自Android.Application使用[Application]标签设置为当前程序的Application
      /// </summary>
      /// <returns></returns>
      public string ReadFromAssetsWithoutActivityContext()
      {
          string content;
          AssetManager am = ProXamarinAndroid.s_appContext.Assets;
          using (StreamReader sr = new StreamReader(am.Open("AboutAssets.txt"))) 
          {
              content = sr.ReadToEnd();
          }
          return content;
      }
      
      
    3. 调用

          protected override void OnCreate(Bundle savedInstanceState)
          {
              base.OnCreate(savedInstanceState);
              TextView tv = new TextView(this);
              //不使用Activity上下文读取
              tv.Text = ReadFromAssetsWithoutActivityContext();
              SetContentView(tv);
          }
      
      
  • 相关阅读:
    在eclipse中进行Struts2项目的配置
    通过Java反射来理解泛型的本质
    Java动态加载类在功能模块开发中的作用
    让正常网页呈现黑白色调的方法
    养生-五谷:花生
    汉语-词语:男人
    地理-地点:白浮图镇
    地理-地点:鸡黍镇
    烹饪:杂粮
    烹饪:五谷
  • 原文地址:https://www.cnblogs.com/Saints/p/8625874.html
Copyright © 2011-2022 走看看