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

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

相关文章
|
6月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
75 1
|
4月前
|
图形学
小功能⭐️Unity静态方法拓展写法
小功能⭐️Unity静态方法拓展写法
|
4月前
|
API 开发工具 vr&ar
PicoVR Unity SDK⭐️一、SDK下载、项目设置与程序初始配置
PicoVR Unity SDK⭐️一、SDK下载、项目设置与程序初始配置
|
4月前
|
Android开发 iOS开发
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
53 0
|
4月前
|
编解码 API 开发工具
Android平台轻量级RTSP服务模块二次封装版调用说明
本文介绍了Android平台上轻量级RTSP服务模块的二次封装实践,旨在简化开发流程,让开发者能更专注于业务逻辑。通过`LibPublisherWrapper`类提供的API,可在应用中轻松初始化RTSP服务、配置视频参数(如分辨率、编码类型)、启动与停止RTSP服务及流发布,并获取RTSP会话数量。此外,还展示了如何处理音频和视频数据的采集与推送。最后,文章提供了从启动服务到销毁资源的完整示例,帮助开发者快速集成实时流媒体功能。
|
4月前
|
图形学
小功能⭐️Unity中一些简便程序写法
小功能⭐️Unity中一些简便程序写法
|
5月前
|
Oracle Java 关系型数据库
Android studio 安装以及第一个程序
Android studio 安装以及第一个程序
143 0
|
6月前
|
图形学
【unity小技巧】手戳代码程序化绘制地形Terrain树和预制体物品、动物
【unity小技巧】手戳代码程序化绘制地形Terrain树和预制体物品、动物
72 0
|
6月前
|
图形学
【用unity实现100个游戏之16】Unity中程序化生成的2D地牢4(附项目源码)
【用unity实现100个游戏之16】Unity中程序化生成的2D地牢4(附项目源码)
51 0
|
6月前
|
算法 图形学
【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏3(附项目源码)
【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏3(附项目源码)
116 0