日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android中有哪些utils的作用,AndroidUtils

發布時間:2023/12/3 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android中有哪些utils的作用,AndroidUtils 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多年開發Android積攢下來好多常用的工具方法,保存在隨筆中,持續更新。

TimeUtil

/**

* 獲取距當前時刻的時間戳

*

* @param createTime

* @return

*/

public static String getTimestamp(long createTime) {

long currrentMillis = System.currentTimeMillis();

// if (createTime < 0 || currrentMillis < createTime) {

// return null;

// }

StringBuffer sb =new StringBuffer();

Date date =new Date(createTime);

Calendar now = Calendar.getInstance();

SimpleDateFormat sdf_hms =new SimpleDateFormat("HH:mm");

SimpleDateFormat sdf_full =new SimpleDateFormat("yyyy-MM-dd HH:mm");

long standardMillis =1000 * (now.get(Calendar.HOUR_OF_DAY) *3600 + now.get(Calendar.MINUTE) *60 + now.get(Calendar.SECOND));

long diffMillis = currrentMillis - createTime;

if (diffMillis <60 *1000) {

sb.append("剛剛");

}else if (diffMillis <3600 *1000) {

sb.append(diffMillis /60000 +"分鐘前");

}else if (diffMillis < standardMillis) {

sb.append("今天 " + sdf_hms.format(date));

}else if (diffMillis < standardMillis +MILLISECOND_OF_DAY) {

sb.append("昨天 " + sdf_hms.format(date));

}else {

sb.append(sdf_full.format(date));

}

return sb.toString();

}

//判斷選擇的日期是否是今天

public static boolean isToday(long time) {

return isThisTime(time,"yyyy-MM-dd");

}

//判斷選擇的日期是否是本月

public static boolean isThisMonth(long time) {

return isThisTime(time,"yyyy-MM");

}

private static boolean isThisTime(long time, String pattern) {

Date date =new Date(time);

SimpleDateFormat sdf =new SimpleDateFormat(pattern);

String param = sdf.format(date);//參數時間

String now = sdf.format(new Date());//當前時間

if (param.equals(now)) {

return true;

}

return false;

}

//判斷選擇的日期是否是本周

public static boolean isThisWeek(long time) {

Calendar calendar = Calendar.getInstance();

int currentWeek = calendar.get(Calendar.WEEK_OF_YEAR);

calendar.setTime(new Date(time));

int paramWeek = calendar.get(Calendar.WEEK_OF_YEAR);

if (paramWeek == currentWeek) {

return true;

}

return false;

}

/**

* 將long時間格式字符串轉換為字符串 yyyy-MM-dd HH:mm MM月dd日 yyyy-MM-dd

*

* @return

*/

public static String timeLong2String(long data) {

Date date =new Date(data);

SimpleDateFormat formatter =new SimpleDateFormat("yyyy-MM-dd HH:mm");

// SimpleDateFormat formatter = new SimpleDateFormat("MM月dd日");

// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

return formatter.format(date);

}

ScreenUtil

public static int px2sp(Context context,float pxValue) {

final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;

return (int) (pxValue / fontScale +0.5f);

}

public static int dp2px(Context context,int dp) {

DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();

return (int) ((dp * displayMetrics.density) +0.5);

}

public static int px2dp(Context context,float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale +0.5f);

}

/**

* 獲取屏幕寬度

*/

public static int getScreenWidth(Context context) {

DisplayMetrics dm = context.getResources().getDisplayMetrics();

return dm.widthPixels;

}

/**

* 獲取屏幕高度

*/

public static int getScreenHeight(Context context) {

DisplayMetrics dm = context.getResources().getDisplayMetrics();

return dm.heightPixels;

}

/**

* 獲取狀態欄高度

*/

public static int getStatusBarHeight(Context context) {

// 一般是25dp

int height =dp2px(context,20);

//獲取status_bar_height資源的ID

int resourceId = context.getResources().getIdentifier("status_bar_height","dimen","android");

if (resourceId >0) {

height = context.getResources().getDimensionPixelSize(resourceId);

LogUtil.i("real statusBar height:" + height);

}

return height;

}

/**

* 虛擬操作攔(home等)是否顯示

*/

public static boolean isNavigationBarShow(Activity activity) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {

Display display = activity.getWindowManager().getDefaultDisplay();

Point size =new Point();

Point realSize =new Point();

display.getSize(size);

display.getRealSize(realSize);

return realSize.y != size.y;

}else {

boolean menu = ViewConfiguration.get(activity).hasPermanentMenuKey();

boolean back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);

if (menu || back) {

return false;

}else {

return true;

}

}

}

/**

* 獲取虛擬操作攔(home等)高度

*/

public static int getNavigationBarHeight(Activity activity) {

if (!isNavigationBarShow(activity))

return 0;

int height =0;

Resources resources = activity.getResources();

//獲取NavigationBar的高度

int resourceId = resources.getIdentifier("navigation_bar_height","dimen","android");

if (resourceId >0)

height = resources.getDimensionPixelSize(resourceId);

return height;

}

NetWorkUtil

/**

* 沒有網絡

*/

public static final int NETWORKTYPE_INVALID =0;

/**

* wap網絡

*/

public static final int NETWORKTYPE_WAP =1;

/**

* 2G網絡

*/

public static final int NETWORKTYPE_2G =2;

/**

* 3G和3G以上網絡,或統稱為快速網絡

*/

public static final int NETWORKTYPE_3G =3;

/**

* wifi網絡

*/

public static final int NETWORKTYPE_WIFI =4;

private static boolean isFastMobileNetwork(Context context) {

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

switch (telephonyManager.getNetworkType()) {

case TelephonyManager.NETWORK_TYPE_1xRTT:

return false;// ~ 50-100 kbps

case TelephonyManager.NETWORK_TYPE_CDMA:

return false;// ~ 14-64 kbps

case TelephonyManager.NETWORK_TYPE_EDGE:

return false;// ~ 50-100 kbps

case TelephonyManager.NETWORK_TYPE_EVDO_0:

return true;// ~ 400-1000 kbps

case TelephonyManager.NETWORK_TYPE_EVDO_A:

return true;// ~ 600-1400 kbps

case TelephonyManager.NETWORK_TYPE_GPRS:

return false;// ~ 100 kbps

case TelephonyManager.NETWORK_TYPE_HSDPA:

return true;// ~ 2-14 Mbps

case TelephonyManager.NETWORK_TYPE_HSPA:

return true;// ~ 700-1700 kbps

case TelephonyManager.NETWORK_TYPE_HSUPA:

return true;// ~ 1-23 Mbps

case TelephonyManager.NETWORK_TYPE_UMTS:

return true;// ~ 400-7000 kbps

case TelephonyManager.NETWORK_TYPE_EHRPD:

return true;// ~ 1-2 Mbps

case TelephonyManager.NETWORK_TYPE_EVDO_B:

return true;// ~ 5 Mbps

case TelephonyManager.NETWORK_TYPE_HSPAP:

return true;// ~ 10-20 Mbps

case TelephonyManager.NETWORK_TYPE_IDEN:

return false;// ~25 kbps

case TelephonyManager.NETWORK_TYPE_LTE:

return true;// ~ 10+ Mbps

case TelephonyManager.NETWORK_TYPE_UNKNOWN:

return false;

default:

return false;

}

}

/**

* 獲取網絡狀態,wifi,wap,2g,3g.

*

* @param context 上下文

* @return int 網絡狀態

*/

public static int getNetWorkType(Context context) {

ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = manager.getActiveNetworkInfo();

if (networkInfo !=null && networkInfo.isConnected()) {

String type = networkInfo.getTypeName();

if (type.equalsIgnoreCase("WIFI")) {

return NETWORKTYPE_WIFI;

}else if (type.equalsIgnoreCase("MOBILE")) {

String proxyHost = android.net.Proxy.getDefaultHost();

return TextUtils.isEmpty(proxyHost)

? (isFastMobileNetwork(context) ?NETWORKTYPE_3G :NETWORKTYPE_2G)

:NETWORKTYPE_WAP;

}

}else {

return NETWORKTYPE_INVALID;

}

return NETWORKTYPE_INVALID;

}

public static boolean isNetWorkConnect(Context context) {

return getNetWorkType(context) !=0;

}

DeviceUtil

/**

* 獲取deviceid

*

* @return

*/

public static String getDeviceId() {

String deviceId =getDeviceIdLocally();

if (TextUtils.isEmpty(deviceId)) {

try {

AdvertisingIdClient.Info idInfo = AdvertisingIdClient.getAdvertisingIdInfo(CCApplication.getInstance());

if (idInfo ==null) {

String uuid =getUUId();

storeDeviceId(uuid);

return uuid;

}else {

String advertId = idInfo.getId();

if (TextUtils.isEmpty(advertId)) {

return getUUId();

}else {

storeDeviceId(advertId);

SharedPrefUtils.getInstance().putString(AppConstant.SharedPreferenceKey.KEYCHAIN_ID, MD5Util.md5Encode(advertId));

return advertId;

}

}

}catch (Exception e) {

return getUUId();

}

}else {

return deviceId;

}

}

public static String getUUId() {

String uuId = UUID.randomUUID().toString();

SharedPrefUtils.getInstance().putString(AppConstant.SharedPreferenceKey.DEVICE_ID, uuId);

SharedPrefUtils.getInstance().putString(AppConstant.SharedPreferenceKey.KEYCHAIN_ID, MD5Util.md5Encode(uuId));

return uuId;

}

private static String getDeviceIdLocally() {

final String fileName ="HMSN.ini";

File file =null;

if (isSDCardAvailable()) {

file =new File(Environment.getExternalStorageDirectory(), fileName);

if (!file.exists()) {

file =null;

}

}

boolean internally =false;

if (file ==null) {

file =new File(CCApplication.getInstance().getFilesDir(), fileName);

internally =true;

}

if (file ==null || !file.exists()) {

String deviceId = SharedPrefUtils.getInstance().getString(AppConstant.SharedPreferenceKey.DEVICE_ID);

if (!TextUtils.isEmpty(deviceId)) {

storeDeviceId(deviceId);

return deviceId;

}

return null;

}

InputStream ins =null;

try {

ins =new FileInputStream(file);

Properties properties =new Properties();

properties.load(ins);

String deviceId = properties.getProperty(AppConstant.SharedPreferenceKey.DEVICE_ID);

if (!TextUtils.isEmpty(deviceId) && !internally &&isSDCardAvailable()) {

storeDeviceId(deviceId);

}

return deviceId;

}catch (Exception e) {

e.printStackTrace();

return null;

}finally {

if (ins !=null) {

try {

ins.close();

}catch (IOException e) {

e.printStackTrace();

}

}

}

}

private static void storeDeviceId(String deviceId) {

SharedPrefUtils.getInstance().putString(AppConstant.SharedPreferenceKey.DEVICE_ID, deviceId);

File file =new File(isSDCardAvailable() ? Environment.getExternalStorageDirectory() : CCApplication.getInstance().getFilesDir(),"HMSN.ini");

OutputStream outs =null;

try {

outs =new FileOutputStream(file);

Properties properties =new Properties();

properties.setProperty(AppConstant.SharedPreferenceKey.DEVICE_ID, deviceId);

properties.store(outs,null);

}catch (Exception e) {

e.printStackTrace();

}finally {

if (outs !=null) {

try {

outs.close();

}catch (IOException e) {

e.printStackTrace();

}

}

}

}

public static boolean isSDCardAvailable() {

return (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()));

}

/**

* 獲取本地語言

* @return

*/

public static String getDeviceLanguage() {

return Locale.getDefault().getLanguage();

}

public static String getSimCode() {

TelephonyManager manager = (TelephonyManager) CCApplication.getInstance().getSystemService(Context.TELEPHONY_SERVICE);

return manager.getSimCountryIso();

}

總結

以上是生活随笔為你收集整理的android中有哪些utils的作用,AndroidUtils的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷免费 | 黄色污网站在线观看 | 亚洲欧美激情在线观看 | 亚洲国产日韩一区无码精品久久久 | 欧美日韩电影一区 | 成人免费视频免费观看 | 免费的a级片 | 超碰在线播放97 | 黄色网战入口 | 91精品久久久久久久久中文字幕 | 亚洲一级电影 | 国产专区一区 | 性欧美video另类hd尤物 | 四虎影院www | 在线免费小电影 | 射久久| 欧美性xxxxx 亚洲特黄一级片 | 欧美精品一区在线观看 | 欧美巨大乳 | 国产肥白大熟妇bbbb视频 | 日韩在线播放中文字幕 | 超清纯大学生白嫩啪啪 | 殴美一级片 | 91在线无精精品一区二区 | av动漫免费观看 | 亚洲av无码久久精品狠狠爱浪潮 | 超碰碰碰| 国产精久久久久久 | 亚欧视频在线观看 | 国产欧美日韩亚洲 | 色女人网站| 99资源 | 少妇又色又紧又爽又刺激视频 | 精品国模 | 欧美一区二区三区电影 | 那个网站可以看毛片 | 中文字幕一区二区三区人妻 | 国产手机在线观看 | 一级片视频在线观看 | 午夜资源站 | 国产毛片欧美毛片久久久 | 日韩毛片网站 | 深夜视频在线播放 | 国产男女爽爽爽 | av片在线观看免费 | 夜夜夜网 | 无码人妻精品丰满熟人区 | 欧美卡一卡二卡三 | 日韩av女优在线观看 | 任我爽在线 | 国产永久免费观看 | 欧美亚洲第一页 | 日韩无马 | av视觉盛宴 | 国产一区二区av在线 | 欧美极品videos精品 | 国产第一页av | 午夜激情一区二区 | 国产ts人妖调教重口男 | 国产无遮挡又黄又爽在线观看 | 国产东北露脸精品视频 | 体内精69xxxxx | 欧美性一区 | 亚洲精品国产手机 | 黄色大片网站在线观看 | 一本色道久久综合精品婷婷 | 宅男视频在线免费观看 | 黄色三级图片 | 一级大片视频 | 成人天堂网 | 成人av电影网站 | 亚洲一区二区视频在线 | aaa黄色一级片 | 色姑娘久 | 国产精华一区二区三区 | 亚洲天堂av免费在线观看 | 免费人成 | 国产亚洲精品成人av久久ww | 国产成人av一区二区三区在线观看 | 免费视频91| 久久草av | 欧美一级大片 | 日韩精品一区二区三区视频在线观看 | 国产亚洲一区二区三区不卡 | 亚洲成av人片在线观看无码 | 中文字幕乱码亚洲精品一区 | heyzo在线播放 | 女人裸体又黄 | 开心激情五月婷婷 | 天天舔夜夜操 | 欧美日韩一区二区区 | 色综合久久精品亚洲国产 | 欧美日韩成人在线视频 | 在线免费看污网站 | 亚洲精华液一区二区 | 一区二区三区在线免费视频 | 超碰国产一区二区三区 | 日韩三区在线 | 亚洲AV成人无码精电影在线 |