Unity3D/安卓封装SDK常用方法


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

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

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



1

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

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

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

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

二者返回类型都是 Json

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(“你好”) —— 传入字符串类型数据,即可在安卓中提示

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

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 服务器配置、运行、建站一条龙 !




" role="presentation">

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


END

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


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


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

Unity3D安卓程序中提示窗与常用静态方法封装的更多相关文章

  1. 解析观察者模式在安卓程序中的应用——如何实现跨界面Handler通讯

    这里特使用了github中的一个项目作为例子进行解析,地址为:https://github.com/LiqiNew/HandlerFrame/tree/master/handlerFrame/src/ ...

  2. 安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数

    安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数

  3. 微信小程序中悬浮窗功能的实现(主要探讨和解决在原生组件上的拖动)

    问题场景 所谓悬浮窗就是图中微信图标的按钮,采用fixed定位,可拖动和点击. 这算是一个比较常见的实现场景了. 为什么要用cover-view做悬浮窗?原生组件出来背锅了~ 最初我做悬浮窗用的不是c ...

  4. vue中form 表单常用校验封装(async-validator)

    新建一个js校验文件validate.js export const regular = { // 验证自然数 naturalNumber: /^(([0-9]*[1-9][0-9]*)|(0+))$ ...

  5. 【三支火把】---一份程序看懂C程序printf()的几种常用用法

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...

  6. 使用CefSharp在.Net程序中嵌入Chrome浏览器(十)——独立文件夹部署

    CefSharp本身携带了一大堆文件,这些文件默认直接释放在exe文件底下,这种方式本身没有什么问题,但多了一大堆文件后不是很好看.本文这里就介绍一个方法,使得可以将CEF相关的文件部署到独立的文件夹 ...

  7. Delphi XE7的安卓程序如何调用JAVA的JAR,使用JAVA的类?

    本文使用工具和全部源码下载: http://download.csdn.net/detail/sunylat/8190765 为什么我们要在Delphi XE7的安卓程序调用JAVA的JAR,使用JA ...

  8. 【C_Language】---一份程序看懂C程序printf()的几种常用用法

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...

  9. 【C#】无损转换Image为Icon 【C#】组件发布:MessageTip,轻快型消息提示窗 【C#】给无窗口的进程发送消息 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方 【C#】DataRowState演变备忘

    [C#]无损转换Image为Icon 如题,市面上常见的方法是: var handle = bmp.GetHicon(); //得到图标句柄 return Icon.FromHandle(handle ...

随机推荐

  1. Xcode集成POD教程

    http://www.cocoachina.com/ios/20150410/11526.html COCOAPODS的网站上有很多非常好用的资源,这里来说一下如何把POD集成到我们的Xcode项目中 ...

  2. 怒学Java8系列一:Lambda表达式

    PDF文档已上传Github  Github:https://github.com/zwjlpeng/Angrily_Learn_Java_8 第一章 Lambda 1.1 引言 课本上说编程有两种模 ...

  3. Codeforces 388A - Fox and Box Accumulation

    388A - Fox and Box Accumulation 思路: 从小到大贪心模拟. 代码: #include<bits/stdc++.h> using namespace std; ...

  4. jsonp跨域远离

    http://blog.csdn.net/sky_beyond/article/details/54096275 function ajax( obj ){ // 默认参数 由于 jsonp 原理是 ...

  5. 丑数问题 Ugly Number

    2018-07-28 15:30:21 一.判断是否为丑数 问题描述: 问题求解: 所谓丑数,首先得是正数,然后其质数因子只包含了2,3,4,因此我们只需要对当前的数分别除2,3,4直到不能除为止. ...

  6. Isotig & cDNA & gene structure & alternative splicing & gene loci & 表达谱

    参考:高通量测序相关名词 Isotig 指在转录组de novo测序时,用454平台测序完成后组装出的结果,一个isotig可视为一个转录本. Isogroup 指转录组de novo测序中,用454 ...

  7. wpf里窗体嵌入winform控件被覆盖问题

      问题1:嵌套Winform控件(ZedGraph)在WPF的ScrollViewer控件上,出现滚动条,无论如何设置该Winform控件都在顶层,滚动滚动条会覆盖其他WPF控件. 解决办法:在Sc ...

  8. CAS操作原理分析

      一.CAS简单介绍     CAS:Compare and Swap, 翻译成比较并交换.     java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁 ...

  9. android之视频播放系统VideoView和自定义VideoView控件的应用

    Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频. 1:自定义VideoView控件 2:布局代码 3:Activi ...

  10. Confluence 6 使用 LDAP 授权连接一个内部目录 - Schema 设置

    基本 DN(Base DN) 根专有名称(DN),这个名称在你对目录服务器上进行查询的时候使用.例如: o=example,c=com cn=users,dc=ad,dc=example,dc=com ...