zoukankan      html  css  js  c++  java
  • Unity3D安卓程序中提示窗与常用静态方法封装

    Unity3D/安卓封装SDK常用方法


    本文提供全流程,中文翻译。

    Chinar坚持将简单的生活方式,带给世人!

    (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)




    1

    IO —— - - IO流写入 - 读取


    using System.IO; —— 引用命名空间

    WriteJson(要写到的路径,起个名字,写入什么信息) —— 引用命名空间

    ReadJson(要读文件的路径,文件名) —— 引用命名空间

    二者返回类型都是 Json
    举个栗子黑白88

    using System.IO;
    
    
    /// <summary>
    /// 处理数据类(囊括所有自定义静态方法)—— 可用于简化代码
    /// </summary>
    public class ProcessData
    {
        /// <summary>
        /// 写入JSON文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="name"></param>
        /// <param name="info"></param>
        public static void WriteJson(string path, string name, string info)
        {
            StreamWriter streamWriter; //声明一个流写入对象
            FileInfo fileInfo = new FileInfo(path + "/" + name); //文件 写到哪里:叫什么
            streamWriter = fileInfo.CreateText(); //打开文件往里写文本
            streamWriter.WriteLine(info); //写入信息 info 给 streamWriter
            streamWriter.Close();
            streamWriter.Dispose();//双关
        }
    
        /// <summary>
        /// 读取JSON文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string ReadJson(string path, string name)
        {
            StreamReader streamReader; //声明一个流写入对象
            FileInfo fileInfo = new FileInfo(path + "/" + name); //文件 写到哪里:叫什么
            streamReader = fileInfo.OpenText(); //打开文件往里写文本
            string info= streamReader.ReadToEnd(); //读信息 info 给 streamReader
            streamReader.Close();
            streamReader.Dispose();//双关
            return info;
        }
    }
    
    

    2

    Toast —— - - 安卓中提示


    这是一个固定格式,直接复制粘贴即可

    using UnityEngine; —— 引用命名空间

    ShowToast(“你好”) —— 传入字符串类型数据,即可在安卓中提示
    举个栗子黑白88

    using System.Text.RegularExpressions;
    
    
    /// <summary>
    /// 处理数据类(囊括所有自定义静态方法)—— 可用于简化代码
    /// </summary>
    public class ProcessData
    {
    
    #if UNITY_ANDROID
        /// <summary>
        /// 提示信息
        /// </summary>
        /// <param name="text">Text.</param>
        /// <param name="activity">Activity.</param>
        public static void ShowToast(string text, AndroidJavaObject activity = null)
        {
            Debug.Log(text);
            if (activity == null)
            {
                AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                activity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            }
            AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast");
            AndroidJavaObject context = activity.Call<AndroidJavaObject>("getApplicationContext");
            activity.Call("runOnUiThread", new AndroidJavaRunnable(() => {
                    AndroidJavaObject javaString = new AndroidJavaObject("java.lang.String", text);
                    Toast.CallStatic<AndroidJavaObject>("makeText", context, javaString, Toast.GetStatic<int>("LENGTH_SHORT")).Call("show");
                }
            ));
        }
    
        public static AndroidJavaObject ToJavaString(string CSharpString)
        {
            return new AndroidJavaObject("java.lang.String", CSharpString);
        }
    #endif
    }
    
    

    3

    Regular Expression —— - - 正则表达式 - - Unicode 转中文


    这是一个固定格式,直接复制粘贴即可

    using System.Text.RegularExpressions; —— 引用命名空间

    UnicodeToString(string unicode) —— 传入字符串类型数据,即可在直接转为中文

    正则表达式,会帮你完成所有匹配

    返回类型为 String
    举个栗子黑白88

    using System.Text.RegularExpressions;
    
    
    /// <summary>
    /// 处理数据类(囊括所有自定义静态方法)—— 可用于简化代码
    /// </summary>
    public class ProcessData
    {
    
        /// <summary>
        /// 正则表达式:Unicode转换中文
        /// </summary>
        /// <param name="unicode"></param>
        /// <returns></returns>
        public static string UnicodeToString(string unicode)
        {
            Regex regex=new Regex(@"(?i)\[uU]([0-9a-f]{4})");
            return regex.Replace(unicode,delegate(Match m) { return ((char) Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
        }
    }
    
    

    逐步完善中……


    支持

    May Be —— 搞开发,总有一天要做的事!


    拥有自己的服务器,无需再找攻略!

    Chinar 提供一站式教程,闭眼式创建!

    为新手节省宝贵时间,避免采坑!


    先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


    1 —— 云服务器超全购买流程 (新手必备!)

    2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

    3—— Windows 服务器配置、运行、建站一条龙 !

    4 —— Linux 服务器配置、运行、建站一条龙 !





    技术交流群:806091680 ! Chinar 欢迎你的加入


    END

    本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

    对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

    对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 相关阅读:
    c++ 动态生成string类型的数组
    c++ string类型的定义及方法
    c++数字和字符串的转换
    c++ 怎么输出保留2位小数的浮点数
    c++中结构体sort()排序
    O(N)时间的排序
    复杂链表的复制
    反转链表
    判断是否为平衡二叉树
    学习笔记_过滤器详细_2(过滤器JavaWeb三大组件之一)
  • 原文地址:https://www.cnblogs.com/chinarbolg/p/9601456.html
Copyright © 2011-2022 走看看