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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android 常用方法集合

發(fā)布時(shí)間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 常用方法集合 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

private?static?Contextcontext;

privatestatic?Displaydisplay;

private?static?String?TAG?=?"MyTools";


public?MyTools(Context context) {

MyTools.context?= context;

}


publicstaticint?getScreenHeight()// 獲取屏幕高度

{

if?(context?==null) {

Log.e("hck",TAG?+"? getScreenHeight: "?+"context 不能為空");

return?0;

}

display?= ((Activity)context).getWindowManager().getDefaultDisplay();

return?display.getHeight();

}


publicstaticint?getScreenWidth()// 獲取屏幕寬度

{

if?(context?==null) {

Log.e("hck",TAG?+"? getScreenHeight: "?+"context 不能為空");

return?0;

}

display?= ((Activity)context).getWindowManager().getDefaultDisplay();

return?display.getWidth();

}


public?static?String getSDK() {

return?android.os.Build.VERSION.SDK;// SDK號(hào)


}


publicstatic?String getModel()// 手機(jī)型號(hào)

{

return?android.os.Build.MODEL;

}


publicstatic?String getRelease()// android系統(tǒng)版本號(hào)

{

return?android.os.Build.VERSION.RELEASE;

}


publicstatic?String getImei(Context context)// 獲取手機(jī)身份證imei

{

TelephonyManager telephonyManager = (TelephonyManager) context

.getSystemService(Context.TELEPHONY_SERVICE);

return?telephonyManager.getDeviceId();

}


publicstatic?String getVerName(Context context) {// 獲取版本名字

try?{

String pkName = context.getPackageName();

String versionName = context.getPackageManager().getPackageInfo(

pkName, 0).versionName;


return?versionName;

}?catch?(Exception e) {

}

returnnull;

}


publicstaticint?getVerCode(Context context) {// 獲取版本號(hào)

String pkName = context.getPackageName();

try?{

int?versionCode = context.getPackageManager().getPackageInfo(

pkName, 0).versionCode;

return?versionCode;

}?catch?(NameNotFoundException e) {

e.printStackTrace();

}

return?0;

}


publicstaticboolean?isNetworkAvailable(Context context) {// 判斷網(wǎng)絡(luò)連接是否可用

// 獲取手機(jī)所有連接管理對(duì)象(包括對(duì)wi-fi,net等連接的管理)

ConnectivityManager connectivity = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

if?(connectivity ==null)

returnfalse;

// 獲取網(wǎng)絡(luò)連接管理的對(duì)象

NetworkInfo info = connectivity.getActiveNetworkInfo();

if?(info ==null?|| !info.isConnected())

returnfalse;

// 判斷當(dāng)前網(wǎng)絡(luò)是否已經(jīng)連接

return?(info.getState() == NetworkInfo.State.CONNECTED);

}


publicstatic?String trim(String str,int?limit) {// 字符串超出給定文字則截取

String mStr = str.trim();

return?mStr.length() > limit ? mStr.substring(0, limit) : mStr;

}


publicstatic?String getTel(Context context) {// 獲取手機(jī)號(hào)碼,很多手機(jī)獲取不到

TelephonyManager telManager = (TelephonyManager) context

.getSystemService(Context.TELEPHONY_SERVICE);

return?telManager.getLine1Number();

}


publicstatic?String getMac(Context context) {// 獲取時(shí)機(jī)mac地址

final?WifiManager wifi = (WifiManager) context

.getSystemService(Context.WIFI_SERVICE);

if?(wifi !=null) {

WifiInfo info = wifi.getConnectionInfo();

if?(info.getMacAddress() !=null) {

return?info.getMacAddress().toLowerCase(Locale.ENGLISH)

.replace(":","");

}

return"";

}

return"";

}


/**

* 將 像素 轉(zhuǎn)換成dp

*?

* @param pxValue

*? ? ? ? ? ? 像素

* @returndp

*/

public?static?int?px2dip(int?pxValue) {

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

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

}


/**

* 將 畫(huà)素 轉(zhuǎn)換成sp

*?

* @param pixel

* @returnsp

*/

publicstaticint?px2sp(int?px) {

float?scaledDensity =context.getResources().getDisplayMetrics().scaledDensity;

return?(int) (px / scaledDensity);

}


/**

* 將 dip 轉(zhuǎn)換成畫(huà)素px

*?

* @param dipValue

*? ? ? ? ? ? dip 像素的值

* @return 畫(huà)素px

*/

public?static?int?dip2px(float?dipValue) {

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

return?(int) (dipValue * scale + 0.5f);

}


public?static?int[][] getViewsPosition(List<View> views) {

int[][] location =newint[views.size()][2];

for?(int?index = 0; index < views.size(); index++) {

views.get(index).getLocationOnScreen(location[index]);

}

return?location;

}


/**

* 傳入一個(gè)view,返回一個(gè)int數(shù)組來(lái)存放 view在手機(jī)屏幕上左上角的絕對(duì)坐標(biāo)

*?

* @param views

*? ? ? ? ? ? 傳入的view

* @return 返回int型數(shù)組,location[0]表示x,location[1]表示y

*/

public?static?int[] getViewPosition(View view) {

int[] location =newint[2];

view.getLocationOnScreen(location);

return?location;

}


/**

* onTouch界面時(shí)指尖在views中的哪個(gè)view當(dāng)中

*?

* @param event

*? ? ? ? ? ?ontouch事件

* @param views

*? ? ? ? ? ? view list

* @return view

*/

public?static?View getOnTouchedView(MotionEvent event, List<View> views) {

int[][] location = getViewsPosition(views);

for?(int?index = 0; index < views.size(); index++) {

if?(event.getRawX() > location[index][0]

&& event.getRawX() < location[index][0]

+ views.get(index).getWidth()

&& event.getRawY() > location[index][1]

&& event.getRawY() < location[index][1]

+ views.get(index).getHeight()) {

return?views.get(index);

}

}

returnnull;

}


/**

* 將傳進(jìn)的圖片存儲(chǔ)在手機(jī)上,并返回存儲(chǔ)路徑

*?

* @param photo

*? ? ? ? ? ? Bitmap 類(lèi)型,傳進(jìn)的圖片

* @return String 返回存儲(chǔ)路徑

*/

public?static?String savePic(Bitmap photo, String name, String path) {

ByteArrayOutputStream baos =?new?ByteArrayOutputStream();?// 創(chuàng)建一個(gè)

//?outputstream

// 來(lái)讀取文件流

photo.compress(Bitmap.CompressFormat.PNG, 100, baos);// 把 bitmap 的圖片轉(zhuǎn)換成

//?jpge

// 的格式放入輸出流中

byte[] byteArray = baos.toByteArray();

String saveDir = Environment.getExternalStorageDirectory()

.getAbsolutePath();

File dir =?new?File(saveDir +"/"?+ path);// 定義一個(gè)路徑

if?(!dir.exists()) {// 如果路徑不存在,創(chuàng)建路徑

dir.mkdir();

}

File file =?new?File(saveDir, name +".png");// 定義一個(gè)文件

if?(file.exists())

file.delete();?// 刪除原來(lái)有此名字文件,刪除

try?{

file.createNewFile();

FileOutputStream fos;

fos =?new?FileOutputStream(file);// 通過(guò) FileOutputStream 關(guān)聯(lián)文件

BufferedOutputStream bos =?new?BufferedOutputStream(fos);?// 通過(guò)?bos

// 往文件里寫(xiě)東西

bos.write(byteArray);

bos.close();

}?catch?(FileNotFoundException e) {

e.printStackTrace();

}?catch?(IOException e) {

e.printStackTrace();

}

return?file.getPath();

}


/**

* 回收 bitmap 減小系統(tǒng)占用的資源消耗

*/

public?static?void?destoryBimap(Bitmap photo) {

if?(photo !=null?&& !photo.isRecycled()) {

photo.recycle();

photo =?null;

}

}


/**

* 將輸入字串做 md5 編碼

*?

* @param s

*? ? ? ? ? ? : 欲編碼的字串

* @return 編碼後的字串, 如失敗, 返回 ""

*/

public?static?String md5(String s) {

try?{

// Create MD5 Hash

MessageDigest digest = java.security.MessageDigest

.getInstance("MD5");

digest.update(s.getBytes("UTF-8"));

byte?messageDigest[] = digest.digest();


// Create Hex String

StringBuffer hexString =?new?StringBuffer();

for?(byte?b : messageDigest) {

if?((b & 0xFF) < 0x10)

hexString.append("0");

hexString.append(Integer.toHexString(b & 0xFF));

}

return?hexString.toString();

}?catch?(NoSuchAlgorithmException e) {

return"";

}?catch?(UnsupportedEncodingException e) {

return"";

}

}


publicstaticboolean?isNumber(char?c) {// 是否是數(shù)字

boolean?isNumer =false;

if?(c >=?'0'?&& c <=?'9') {

isNumer =?true;

}

return?isNumer;

}


publicstaticboolean?isEmail(String strEmail) {// 是否是正確的郵箱地址

String checkemail ="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";


Pattern pattern = Pattern.compile(checkemail);


Matcher matcher = pattern.matcher(strEmail);


return?matcher.matches();

}


publicstaticboolean?isNull(String string)// 字符串是否為空

{

if?(null?== string ||"".equals(string)) {

returnfalse;

}

returntrue;

}


publicstaticboolean?isLenghtOk(String string,int?max,int?min)// 字符串長(zhǎng)度檢測(cè)

{

if?(null?!= string) {

if?(string.length() > max || string.length() < min) {

returnfalse;

}

}

returntrue;

}


publicstaticboolean?isLenghtOk(String string,int?max)// 字符串長(zhǎng)度是否

{

if?(null?!= string) {

if?(string.length() > max) {

returnfalse;

}

}

returntrue;

}


//用一種外部格式的字體,字體文件放在assets下面的fonts下面,名字叫whsn.ttf

獲取字體樣式:Typeface?tencentTypeface=Typeface.createFromAsset(this.getAssets(), "fonts/whsn.ttf")

使用

textView.setTypeface(tencentTypeface);








/**

*activity管理類(lèi),保證應(yīng)用退出后,銷(xiāo)毀所有創(chuàng)建的activity

**/


/**

?* 應(yīng)用程序Activity管理類(lèi):用于Activity管理和應(yīng)用程序退出

?*?@author?liux?(http://my.oschina.net/liux)

?*?@version?1.0

?*?@created?2012-3-21

?*/

public?class?AppManager {

private?static?Stack<Activity>?activityStack;

private?static?AppManager?instance;

private?AppManager(){}

/**

* 單一實(shí)例

*/

public?static?AppManager getAppManager(){

if(instance==null){

instance=new?AppManager();

}

returninstance;

}

/**

* 添加Activity到堆棧

*/

public?void?addActivity(Activity activity){

if(activityStack==null){

activityStack=new?Stack<Activity>();

}

activityStack.add(activity);

}

/**

* 獲取當(dāng)前Activity(堆棧中最后一個(gè)壓入的)

*/

public?Activity currentActivity(){

Activity activity=activityStack.lastElement();

return?activity;

}

/**

* 結(jié)束當(dāng)前Activity(堆棧中最后一個(gè)壓入的)

*/

public?void?finishActivity(){

Activity activity=activityStack.lastElement();

finishActivity(activity);

}

/**

* 結(jié)束指定的Activity

*/

public?void?finishActivity(Activity activity){

if(activity!=null){

activityStack.remove(activity);

activity.finish();

activity=null;

}

}

/**

* 結(jié)束指定類(lèi)名的Activity

*/

public?void?finishActivity(Class<?> cls){

for?(Activity activity :activityStack) {

if(activity.getClass().equals(cls) ){

finishActivity(activity);

}

}

}

/**

* 結(jié)束所有Activity

*/

public?void?finishAllActivity(){

for?(int?i = 0, size =activityStack.size(); i < size; i++){

? ? ? ? ? ??if?(null?!=activityStack.get(i)){

? ? ? ? ? ??activityStack.get(i).finish();

? ? ? ? ? ? }

? ? }

activityStack.clear();

}

/**

* 退出應(yīng)用程序

*/

public?void?AppExit(Context context) {

try?{

finishAllActivity();

ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

activityMgr.restartPackage(context.getPackageName());

System.exit(0);

}?catch?(Exception e) {}

}

}



//字符串相關(guān)工具類(lèi)

private?finalstatic?ThreadLocal<SimpleDateFormat>dateFormater?=new?ThreadLocal<SimpleDateFormat>() {

@Override

protected?SimpleDateFormat initialValue() {

return?new?SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

}

};


private?final?static?ThreadLocal<SimpleDateFormat>dateFormater2?=new?ThreadLocal<SimpleDateFormat>() {

@Override

protected?SimpleDateFormat initialValue() {

return?new?SimpleDateFormat("yyyy-MM-dd");

}

};

/**

* 將字符串轉(zhuǎn)位日期類(lèi)型

*?@param?sdate

*?@return

*/

public?static?Date toDate(String sdate) {

try?{

return?dateFormater.get().parse(sdate);

}?catch?(ParseException e) {

returnnull;

}

}

/**

* 以友好的方式顯示時(shí)間

*?@param?sdate

*?@return

*/

public?static?String friendly_time(String sdate) {

Date time = toDate(sdate);

if(time ==null) {

return"Unknown";

}

String ftime =?"";

Calendar cal = Calendar.getInstance();

//判斷是否是同一天

String curDate =?dateFormater2.get().format(cal.getTime());

String paramDate =?dateFormater2.get().format(time);

if(curDate.equals(paramDate)){

int?hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);

if(hour == 0)

ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分鐘前";

else?

ftime = hour+"小時(shí)前";

return?ftime;

}

long?lt = time.getTime()/86400000;

long?ct = cal.getTimeInMillis()/86400000;

int?days = (int)(ct - lt);

if(days == 0){

int?hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);

if(hour == 0)

ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分鐘前";

else?

ftime = hour+"小時(shí)前";

}

else?if(days == 1){

ftime =?"昨天";

}

else?if(days == 2){

ftime =?"前天";

}

else?if(days > 2 && days <= 10){?

ftime = days+"天前";

}

else?if(days > 10){

ftime =?dateFormater2.get().format(time);

}

return?ftime;

}

/**

* 判斷給定字符串時(shí)間是否為今日

*?@param?sdate

*?@return?boolean

*/

public?static?boolean?isToday(String sdate){

boolean?b =false;

Date time = toDate(sdate);

Date today =?new?Date();

if(time !=null){

String nowDate =?dateFormater2.get().format(today);

String timeDate =?dateFormater2.get().format(time);

if(nowDate.equals(timeDate)){

b =?true;

}

}

return?b;

}

/**

* 判斷給定字符串是否空白串。

* 空白串是指由空格、制表符、回車(chē)符、換行符組成的字符串

* 若輸入字符串為null或空字符串,返回true

*?@param?input

*?@return?boolean

*/

public?static?boolean?isEmpty( String input )?

{

if?( input ==null?||"".equals( input ) )

returntrue;

for?(?int?i = 0; i < input.length(); i++ )?

{

char?c = input.charAt( i );

if?( c !=' '?&& c !='\t'?&& c !='\r'?&& c !='\n'?)

{

returnfalse;

}

}

returntrue;

}


/**

* 判斷是不是一個(gè)合法的電子郵件地址

*?@param?email

*?@return

*/

public?static?boolean?isEmail(String email){

if(email ==null?|| email.trim().length()==0)?

returnfalse;

? ??returnemailer.matcher(email).matches();

}

/**

* 字符串轉(zhuǎn)整數(shù)

*?@param?str

*?@param?defValue

*?@return

*/

public?static?int?toInt(String str,?int?defValue) {

try{

return?Integer.parseInt(str);

}catch(Exception e){}

return?defValue;

}

/**

* 對(duì)象轉(zhuǎn)整數(shù)

*?@param?obj

*?@return?轉(zhuǎn)換異常返回 0

*/

public?static?int?toInt(Object obj) {

if(obj==null)return?0;

return?toInt(obj.toString(),0);

}

/**

* 對(duì)象轉(zhuǎn)整數(shù)

*?@param?obj

*?@return?轉(zhuǎn)換異常返回 0

*/

public?static?long?toLong(String obj) {

try{

return?Long.parseLong(obj);

}catch(Exception e){}

return?0;

}

/**

* 字符串轉(zhuǎn)布爾值

*?@param?b

*?@return?轉(zhuǎn)換異常返回 false

*/

public?static?boolean?toBool(String b) {

try{

return?Boolean.parseBoolean(b);

}catch(Exception e){}

returnfalse;

}




/**

* 獲取當(dāng)前網(wǎng)絡(luò)類(lèi)型

* @return 0:沒(méi)有網(wǎng)絡(luò) ? 1:WIFI網(wǎng)絡(luò) ? 2:WAP網(wǎng)絡(luò)? ? 3:NET網(wǎng)絡(luò)

*/

public?int?getNetworkType() {

int?netType = 0;

ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();

if?(networkInfo ==null) {

return?netType;

}

int?nType = networkInfo.getType();

if?(nType == ConnectivityManager.TYPE_MOBILE) {

String extraInfo = networkInfo.getExtraInfo();

if(!StringUtils.isEmpty(extraInfo)){

if?(extraInfo.toLowerCase().equals("cmnet")) {

netType =?NETTYPE_CMNET;

}?else?{

netType =?NETTYPE_CMWAP;

}

}

}?else?if?(nType == ConnectivityManager.TYPE_WIFI) {

netType =?NETTYPE_WIFI;

}

return?netType;

}



//啟動(dòng)一個(gè)已安裝應(yīng)用(知道包名和入口activity)

ComponentName componentName=new?ComponentName("應(yīng)用的包名","應(yīng)用入口activity");?

//ComponentName componentName=new?ComponentName("com.hck.test",?"com.hck.test.MainActivity");

?? ? ? ? Intent intent=new?Intent();

?? ? ? ? intent.setComponent(componentName);

?? ? ? ? startActivity(intent);





?// 獲取系統(tǒng)內(nèi)的所有程序信息

? Intent mainintent =?new?Intent(Intent.ACTION_MAIN,?null);

? mainintent.addCategory(Intent.CATEGORY_LAUNCHER);

? List<PackageInfo> ? packageinfo =?this.getPackageManager().getInstalledPackages(0);



//獲取meta-data 里面的值

public static String getMetaValue(Context context, String metaKey) {
??Bundle metaData = null;
??String apiKey = null;
??if (context == null || metaKey == null) {
???return null;
??}
??try {
???ApplicationInfo ai = context.getPackageManager()
?????.getApplicationInfo(context.getPackageName(),
???????PackageManager.GET_META_DATA);
???if (null != ai) {
????metaData = ai.metaData;
???}
???if (null != metaData) {
????apiKey = metaData.getString(metaKey);
???}
??} catch (NameNotFoundException e) {

??}
??
??return apiKey;
?}

?

//? 連續(xù)點(diǎn)擊2次退出程序

if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {
????long currentTime = System.currentTimeMillis();
????if((currentTime-touchTime)>=waitTime) {
?????Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
?????touchTime = currentTime;
?????return true;
????}else {
?????AppManager.getAppManager().appExit();
?????finish();
?????return false;
????}
????
???}
?? return true;



//實(shí)現(xiàn)打電話(huà)

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));??
??????? this.startActivity(intent);

總結(jié)

以上是生活随笔為你收集整理的android 常用方法集合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 福利一区在线观看 | 亚洲av无码国产精品色午夜 | 在线播放一区二区三区 | 三区在线观看 | 久久久久免费观看 | 综合激情伊人 | 操操操操操操 | 麻豆黄色一级片 | 爱上av | 日韩欧美一二三区 | 伊人亚洲 | 日韩在线视频观看免费 | 免费裸体视频网站 | 丰满少妇乱子伦精品看片 | 国产又黄又大又粗视频 | 香蕉在线影院 | 影音先锋欧美在线 | 精品久久久久久久久久久久久久 | 成人深夜福利在线观看 | 日本免费专区 | 日韩激情av | 激情综合网五月激情 | 国产真实夫妇交换视频 | 国产综合精品 | 日日夜夜免费 | 国产欧美一区二区精品忘忧草 | 波多野结衣在线视频免费观看 | 欧美日韩h | 亚州精品国产精品乱码不99按摩 | 欧美大屁股熟妇bbbbbb | 婷婷六月综合 | 五月天综合网站 | 日韩精品在线视频免费观看 | 欧美黄色一区二区三区 | 国产极品粉嫩 | 欧美裸体xxxx极品少妇 | 午夜小视频在线观看 | 成年人在线视频 | 欧美乱妇15p | 毛片哪里看 | 久久久久久久久久久av | 欧美一级欧美三级在线观看 | 欧美日韩中文字幕一区二区三区 | 中文亚洲字幕 | 黄色高清视频 | 18久久久| 黄色片网站在线 | 国内一区二区 | 久久精品一二三 | 五月婷婷色综合 | 欧美aaa级片| 香蕉视频免费在线播放 | 国产一级三级 | 99久久久久成人国产免费 | 18禁免费无码无遮挡不卡网站 | 日本成人片网站 | 激情四虎 | www.777奇米 | 久久久久久久久久久久久久久 | 污版视频在线观看 | 国产成人啪一区二区 | 国产做爰免费观看视频 | 广州毛片| 香蕉私人影院 | 国产视频入口 | 色偷偷成人 | 国产精品一级视频 | 亚洲精品久久夜色撩人男男小说 | 免费在线黄色av | 国产在线一区二区三区 | 日本在线观看网站 | 中国一级特黄视频 | 国产精品久久久久久久久久直播 | av高清不卡 | 日韩孕交 | 久久精彩免费视频 | 6080成人| 97成网| 亚洲AV永久无码国产精品国产 | 欧亚一区二区 | 青青99 | 国产精品69久久久久孕妇欧美 | 亚洲欧洲日韩综合 | av电影中文字幕 | 超碰在线免费看 | 久久久精品一区二区 | 久久六六| 日韩另类在线 | 欧美一级啪啪 | 一区二区三区国产精品视频 | 国产18禁黄网站免费观看 | 琪琪色影音先锋 | 色伊人av| 日韩av电影一区 | 日韩干 | 青青草免费在线观看视频 | 性日本xxx| 日本爽爽爽爽爽爽在线观看免 | 九色porny自拍视频 |