Unity3D安卓程序中提示窗与常用静态方法封装
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安卓程序中提示窗与常用静态方法封装的更多相关文章
- 解析观察者模式在安卓程序中的应用——如何实现跨界面Handler通讯
这里特使用了github中的一个项目作为例子进行解析,地址为:https://github.com/LiqiNew/HandlerFrame/tree/master/handlerFrame/src/ ...
- 安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数
安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数
- 微信小程序中悬浮窗功能的实现(主要探讨和解决在原生组件上的拖动)
问题场景 所谓悬浮窗就是图中微信图标的按钮,采用fixed定位,可拖动和点击. 这算是一个比较常见的实现场景了. 为什么要用cover-view做悬浮窗?原生组件出来背锅了~ 最初我做悬浮窗用的不是c ...
- vue中form 表单常用校验封装(async-validator)
新建一个js校验文件validate.js export const regular = { // 验证自然数 naturalNumber: /^(([0-9]*[1-9][0-9]*)|(0+))$ ...
- 【三支火把】---一份程序看懂C程序printf()的几种常用用法
闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(十)——独立文件夹部署
CefSharp本身携带了一大堆文件,这些文件默认直接释放在exe文件底下,这种方式本身没有什么问题,但多了一大堆文件后不是很好看.本文这里就介绍一个方法,使得可以将CEF相关的文件部署到独立的文件夹 ...
- Delphi XE7的安卓程序如何调用JAVA的JAR,使用JAVA的类?
本文使用工具和全部源码下载: http://download.csdn.net/detail/sunylat/8190765 为什么我们要在Delphi XE7的安卓程序调用JAVA的JAR,使用JA ...
- 【C_Language】---一份程序看懂C程序printf()的几种常用用法
闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...
- 【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 ...
随机推荐
- Python爬虫Urllib库的高级用法
Python爬虫Urllib库的高级用法 设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Head ...
- ASCII 和 Unicode 编码的由来
大话数据结构上的说明: 网络博文的说明:
- Java-Java面向对象程序设计
2017-10-09 17:23:52 在面向对象技术中,将客观世界中的一个事物作为一个对象来考虑,比如有个张先生,他就是一个对象.每个对象都有自己的属性和行为.张先生的属性根据需要有姓名.性别.身高 ...
- oracle创建/删除表空间、创建/删除用户并赋予权限
创建表空间 分开执行如下sql语句 --创建临时表空间 CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP11" TEMPFILE 'E:\ap ...
- C#复制文件
string pLocalFilePath ="";//要复制的文件路径 string pSaveFilePath ="";//指定存储的路径 if (File ...
- Silverlight自定义控件系列 – TreeView (1)
原文路径:http://blog.csdn.net/wlanye/article/details/7265457 很多人都对MS自带的控件不太满意(虽然MS走的是简约风格),都会试图去修改或创建让 ...
- GetContent
Sub GetContent(ByVal URL As String, ByVal SheetName As String) Dim strText As String Dim i As Long D ...
- 20170528xlVBA凑数一例
Public Sub MakeUp() Dim Sht As Worksheet Set Sht = ThisWorkbook.Worksheets("设置") Dim Total ...
- JavaScript 和 React,React用了大量语法糖,让JS编写更方便。
https://reactjs.org/docs/higher-order-components.htmlhttps://codepen.io/gaearon/pen/WooRWa?editors=0 ...
- Java基础-IO流(13)
IO流用来处理设备之间的数据传输.可以实现文件复制,上传文件和下载文件. Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输 ...