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

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

posted on 2018-02-24 00:08  Chinar  阅读(711)  评论(0编辑  收藏  举报

导航