using System;
using System.Text;
using Shared.SimpleControl;
using Shared.SimpleControl.Phone;
namespace Shared
{
public class Utlis
{
/////
///// 将int数值转换为占四个字节的byte数组
/////
/////
/////
//public static byte [] IntToByteArray (int i)
//{
// byte [] result = new byte [4];
// // 由高位到低位
// result [0] = (byte)((i >> 24) & 0xFF);
// result [1] = (byte)((i >> 16) & 0xFF);
// result [2] = (byte)((i >> 8) & 0xFF);
// result [3] = (byte)(i & 0xFF);
// return result;
//}
/////
///// byte[]转int
/////
/////
/////
//public static int ByteArrayToInt (byte [] bytes)
//{
// int value = 0;
// // 由高位到低位
// for (int i = 0; i < 4; i++) {
// int shift = (4 - 1 - i) * 8;
// value += (bytes [i] & 0x000000FF) << shift;// 往高位游
// }
// return value;
//}
///
/// 全局打印
///
public static void WriteLine (object mes)
{
#if DEBUG
System.Console.WriteLine (mes);
#endif
}
public static int StringToInt (string mStr) {
try {
return int.Parse (mStr);
} catch {
return 0;
}
}
public static void ShowAppLinkStatus (AppLinkStatus mStatus) {
switch (mStatus) {
case AppLinkStatus.CloudLink:
MainPage.WiFiStatus = "CrabtreeAdd/CloudLink.png";
break;
case AppLinkStatus.CloudUnlink:
MainPage.WiFiStatus = "CrabtreeAdd/CloudUnlink.png";
break;
case AppLinkStatus.CloudOffline:
MainPage.WiFiStatus = "CrabtreeAdd/CloudOffline.png";
break;
case AppLinkStatus.WiFi:
MainPage.WiFiStatus = "CrabtreeAdd/WiFi.png";
break;
case AppLinkStatus.WiFiUnlink:
MainPage.WiFiStatus = "CrabtreeAdd/WiFiUnlink.png";
break;
case AppLinkStatus.WiFiOffline:
MainPage.WiFiStatus = "CrabtreeAdd/WiFiOffline.png";
break;
default:
break;
}
Shared.Application.RunOnMainThread (() => {
UserMiddle.btnLinkStatus.UnSelectedImagePath = MainPage.WiFiStatus;
});
}
///
/// 获取请求提交的语言参数
///
public static string GetPostLanguageType ()
{
//L1APP默认英语
return LanguageTypeEnum.ENGLISH.ToString ();
//return Language.CurrentLanguage == "Chinese" ? LanguageTypeEnum.CHINESE.ToString () : LanguageTypeEnum.ENGLISH.ToString ();
}
///
/// 弹窗提示
///
///
public static void ShowAlertOnMainThread (string mes)
{
Application.RunOnMainThread (() => {
new Alert ("", mes, Language.StringByID (SimpleControl.R.MyInternationalizationString.Close)).Show ();
});
}
///
/// ShowTip
///
///
/// 关闭时间
public static void ShowTip (string mes, int closeTime = 2)
{
if (MainPage.MainFrameLayout == null) return;
var tip = new Tip () {
Text = mes,
CloseTime = closeTime,
Direction = AMPopTipDirection.None,
MaxWidth = MainPage.MainFrameLayout.Width
};
tip.Show (MainPage.MainFrameLayout);
}
///
/// 获取时间戳(ss)
///
///
///
public static DateTime UnixToDateTime (long unixTimeStamp)
{
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime (new DateTime (1970, 1, 1)); // 当地时区
return startTime.AddSeconds (unixTimeStamp);
}
///
///
///
///
public static long DateTimeToUnix (DateTime dateTime)
{
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime (new DateTime (1970, 1, 1)); // 当地时区
return (long)(dateTime - startTime).TotalSeconds; // 相差秒数
}
///
///
///
///
///
public static DateTime UnixToDateTimeMS (long unixTimeStamp)
{
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime (new DateTime (1970, 1, 1)); // 当地时区
return startTime.AddMilliseconds (unixTimeStamp);
}
///
///
///
///
///
///
public static string UnixToDateTimeWithFormatMS (long unixTimeStamp, string format = "yyyy")
{
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime (new DateTime (1970, 1, 1)); // 当地时区
return startTime.AddMilliseconds (unixTimeStamp).ToString (format);
}
///
/// 生成随机字符串
///
/// 字符串的长度
///
public static string CreateRandomString (int length)
{
// 创建一个StringBuilder对象存储密码
StringBuilder sb = new StringBuilder ();
//使用for循环把单个字符填充进StringBuilder对象里面变成14位密码字符串
for (int i = 0; i < length; i++) {
Random random = new Random (Guid.NewGuid ().GetHashCode ());
//随机选择里面其中的一种字符生成
switch (random.Next (3)) {
case 0:
//调用生成生成随机数字的方法
sb.Append (createNum ());
break;
case 1:
//调用生成生成随机小写字母的方法
sb.Append (createSmallAbc ());
break;
case 2:
//调用生成生成随机大写字母的方法
sb.Append (createBigAbc ());
break;
}
}
return sb.ToString ();
}
///
/// 生成单个随机数字
///
static int createNum ()
{
Random random = new Random (Guid.NewGuid ().GetHashCode ());
int num = random.Next (10);
return num;
}
///
/// 生成单个大写随机字母
///
static string createBigAbc ()
{
//A-Z的 ASCII值为65-90
Random random = new Random (Guid.NewGuid ().GetHashCode ());
int num = random.Next (65, 91);
string abc = Convert.ToChar (num).ToString ();
return abc;
}
///
/// 生成单个小写随机字母
///
static string createSmallAbc ()
{
//a-z的 ASCII值为97-122
Random random = new Random (Guid.NewGuid ().GetHashCode ());
int num = random.Next (97, 123);
string abc = Convert.ToChar (num).ToString ();
return abc;
}
public static string MD5Encrypt (string mPassword)
{
var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider ();
return BitConverter.ToString (md5.ComputeHash (Encoding.UTF8.GetBytes (mPassword))).Replace ("-", "");
}
///// 字符串截取并拼接
/////
/////
/////
//public static string DelMacString (string str)
//{
// string restr = "";
// if (!string.IsNullOrEmpty (str)) {
// ArrayList array = GetSeparateSubString (str, 2);
// foreach (string arr in array) {
// restr += arr + ".";
// }
// }
// return restr.TrimEnd ('.');
//}
//static ArrayList GetSeparateSubString (string txtString, int charNumber) //charNumber为要截取的每段的长度
//{
// ArrayList arrlist = new ArrayList ();
// string tempStr = txtString;
// for (int i = 0; i < tempStr.Length; i += charNumber)//首先判断字符串的长度,循环截取,进去循环后首先判断字符串是否大于每段的长度
// {
// if ((tempStr.Length - i) > charNumber)//如果是,就截取
// {
// arrlist.Add (tempStr.Substring (i, charNumber));
// } else {
// arrlist.Add (tempStr.Substring (i));//如果不是,就截取最后剩下的那部分
// }
// }
// return arrlist;
//}
}
}