Unity3D安卓程序中常用静态方法封装

简介: Unity3D/安卓封装SDK常用方法本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)...

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(); });
    }
}

逐步完善中……


END

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

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

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

相关文章
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
64 0
|
7月前
|
Android开发
Android Http 请求封装及使用
Android Http 请求封装及使用
147 0
|
19天前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
13 0
|
7月前
|
存储 传感器 定位技术
《移动互联网技术》 第四章 移动应用开发: Android Studio开发环境的使用方法:建立工程,编写源程序,编译链接,安装模拟器,通过模拟器运行和调试程序
《移动互联网技术》 第四章 移动应用开发: Android Studio开发环境的使用方法:建立工程,编写源程序,编译链接,安装模拟器,通过模拟器运行和调试程序
85 0
|
7月前
|
Java Android开发 开发者
1024程序节|Android框架之一 BRVAH【BaseRecyclerViewAdapterHelper】使用demo
BRVAH是一个强大的RecyclerAdapter框架(什么是RecyclerView?),它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。为什么会有它?请查看「Android开源框架BRVAH由来篇」该框架于2016年4月10号发布的第1个版本到现在已经一年多了,经历了800多次代码提交,140多次版本打包,修复了1000多个问题,获得了9000多star,非常感谢大家的使用以及反馈。
155 0
|
1天前
|
XML Java Android开发
Android 分享机顶盒项目的封装类《GridView》(三)(转)
Android 分享机顶盒项目的封装类《GridView》(三)(转)
11 2
|
2天前
|
Android开发
Android 分享机顶盒项目的封装类《GridView》(二)(转)
Android 分享机顶盒项目的封装类《GridView》(二)(转)
11 2
|
2天前
|
XML Java Android开发
如何美化android程序:自定义ListView背景
如何美化android程序:自定义ListView背景
|
4天前
|
Android开发
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。
Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。
11 0
|
19天前
|
Linux 测试技术 Android开发
测试程序之UART 232/485适用于Android/Linux
测试程序之UART 232/485适用于Android/Linux
21 0