android开发中常用的log creat log path关键字字有哪些

&nbsp&#8250&nbsp&nbsp&#8250&nbsp
Android开发中常用的工具类整理
日志package&net.wujingchao.android.utility
import&android.util.L
public&final&class&L&{
&&&&private&final&static&int&LEVEL&=&5;
&&&&private&final&static&String&DEFAULT_TAG&=&&L&;
&&&&private&L()&{
&&&&&&&&throw&new&UnsupportedOperationException(&L&cannot&instantiated!&);
&&&&public&static&void&v(String&tag,String&msg)&{
&&&&&&&&if(LEVEL&&=&5)Log.v(tag&==&null&?&DEFAULT_TAG:tag,msg&==&null?&&:msg);
&&&&public&static&void&d(String&tag,String&msg)&{
&&&&&&&&if(LEVEL&&=&4)Log.d(tag&==&null&?&DEFAULT_TAG:tag,msg&==&null?&&:msg);
&&&&public&static&void&i(String&tag,String&msg)&{
&&&&&&&&if(LEVEL&&=&3)Log.i(tag&==&null&?&DEFAULT_TAG:tag,msg&==&null?&&:msg);
&&&&public&static&void&w(String&tag,String&msg)&{
&&&&&&&&if(LEVEL&&=&2)Log.w(tag&==&null&?&DEFAULT_TAG:tag,msg&==&null?&&:msg);
&&&&public&static&void&e(String&tag,String&msg)&{
&&&&&&&&if(LEVEL&&=&1)Log.e(tag&==&null&?&DEFAULT_TAG:tag,msg&==&null?&&:msg);
}Toastpackage&net.wujingchao.android.utility
import&android.content.C
import&android.widget.T
public&class&T&{
&&&&private&final&static&boolean&isShow&=&
&&&&private&T(){
&&&&&&&&throw&new&UnsupportedOperationException(&T&cannot&be&instantiated&);
&&&&public&static&void&showShort(Context&context,CharSequence&text)&{
&&&&&&&&if(isShow)Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
&&&&public&static&void&showLong(Context&context,CharSequence&text)&{
&&&&&&&&if(isShow)Toast.makeText(context,text,Toast.LENGTH_LONG).show();
}网络package&net.wujingchao.android.utility
import&android.app.A
import&ponentN
import&android.content.C
import&android.content.I
import&android.net.ConnectivityM
import&android.net.NetworkI
import&javax.net.ssl.HttpsURLC
import&javax.net.ssl.SSLC
import&javax.net.ssl.TrustM
import&javax.net.ssl.X509TrustM
public&class&NetworkUtil&{
&&&&private&NetworkUtil()&{
&&&&&&&&throw&new&UnsupportedOperationException(&NetworkUtil&cannot&be&instantiated&);
&&&&&*&判断网络是否连接
&&&&public&static&boolean&isConnected(Context&context)&&{
&&&&&&&&ConnectivityManager&connectivity&=&(ConnectivityManager)&context.getSystemService(Context.CONNECTIVITY_SERVICE);
&&&&&&&&if&(null&!=&connectivity)&{
&&&&&&&&&&&&NetworkInfo&info&=&connectivity.getActiveNetworkInfo();
&&&&&&&&&&&&if&(null&!=&info&&&&info.isConnected()){
&&&&&&&&&&&&&&&&if&(info.getState()&==&NetworkInfo.State.CONNECTED)&{
&&&&&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&return&
&&&&&*&判断是否是wifi连接
&&&&public&static&boolean&isWifi(Context&context){
&&&&&&&&ConnectivityManager&connectivity&=&(ConnectivityManager)&context.getSystemService(Context.CONNECTIVITY_SERVICE);
&&&&&&&&if&(connectivity&==&null)&return&
&&&&&&&&return&connectivity.getActiveNetworkInfo().getType()&==&ConnectivityManager.TYPE_WIFI;
&&&&&*&打开网络设置界面
&&&&public&static&void&openSetting(Activity&activity)&{
&&&&&&&&Intent&intent&=&new&Intent(&/&);
&&&&&&&&ComponentName&componentName&=&new&ComponentName(&com.android.settings&,&com.android.settings.WirelessSettings&);
&&&&&&&&intent.setComponent(componentName);
&&&&&&&&intent.setAction(&android.intent.action.VIEW&);
&&&&&&&&activity.startActivityForResult(intent,&0);
&&&&&*&使用SSL不信任的证书
&&&&public&static&&void&useUntrustedCertificate()&{
&&&&&&&&//&Create&a&trust&manager&that&does&not&validate&certificate&chains
&&&&&&&&TrustManager[]&trustAllCerts&=&new&TrustManager[]{
&&&&&&&&&&&&&&&&new&X509TrustManager()&{
&&&&&&&&&&&&&&&&&&&&public&java.security.cert.X509Certificate[]&getAcceptedIssuers()&{
&&&&&&&&&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&public&void&checkClientTrusted(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&java.security.cert.X509Certificate[]&certs,&String&authType)&{
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&public&void&checkServerTrusted(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&java.security.cert.X509Certificate[]&certs,&String&authType)&{
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&}
&&&&&&&&};
&&&&&&&&//&Install&the&all-trusting&trust&manager
&&&&&&&&try&{
&&&&&&&&&&&&SSLContext&sc&=&SSLContext.getInstance(&SSL&);
&&&&&&&&&&&&sc.init(null,&trustAllCerts,&new&java.security.SecureRandom());
&&&&&&&&&&&&HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
&&&&&&&&}&catch&(Exception&e)&{
&&&&&&&&&&&e.printStackTrace();
}像素单位转换package&net.wujingchao.android.utility
import&android.content.C
import&android.util.TypedV
public&class&DensityUtil&{
&&&&private&DensityUtil()&{
&&&&&&&&throw&new&UnsupportedOperationException(&DensityUtil&cannot&be&instantiated&);
&&&&public&int&dip2px(Context&context,int&dipValue)&{
&&&&&&&&final&float&scale&=&context.getResources().getDisplayMetrics().
&&&&&&&&return&(int)(dipValue*scale&+&0.5f);
&&&&public&int&px2dip(Context&context,float&pxValue)&{
&&&&&&&&final&float&scale&=&context.getResources().getDisplayMetrics().
&&&&&&&&return&(int)(pxValue/scale&+&0.5f);
&&&&public&static&float&px2sp(Context&context,&float&pxValue){
&&&&&&&&return&(pxValue&/&context.getResources().getDisplayMetrics().scaledDensity);
&&&&public&static&int&sp2px(Context&context,&int&spValue){
&&&&&&&&return&(int)&TypedValue.PLEX_UNIT_SP,
&&&&&&&&&&&&&&&&spValue,&context.getResources().getDisplayMetrics());
}屏幕package&net.wujingchao.android.utility
import&android.app.A
import&android.content.C
import&android.graphics.B
import&android.graphics.R
import&android.util.DisplayM
import&android.view.V
import&android.view.WindowM
public&class&ScreenUtil&{
&&&&private&ScreenUtil()
&&&&&&&&throw&new&UnsupportedOperationException(&ScreenUtil&cannot&be&instantiated&);
&&&&public&static&int&getScreenWidth(Context&context)
&&&&&&&&WindowManager&wm&=&(WindowManager)&context
&&&&&&&&&&&&&&&&.getSystemService(Context.WINDOW_SERVICE);
&&&&&&&&DisplayMetrics&outMetrics&=&new&DisplayMetrics();
&&&&&&&&wm.getDefaultDisplay().getMetrics(outMetrics);
&&&&&&&&return&outMetrics.widthP
&&&&public&static&int&getScreenHeight(Context&context)&{
&&&&&&&&WindowManager&wm&=&(WindowManager)&context
&&&&&&&&&&&&&&&&.getSystemService(Context.WINDOW_SERVICE);
&&&&&&&&DisplayMetrics&outMetrics&=&new&DisplayMetrics();
&&&&&&&&wm.getDefaultDisplay().getMetrics(outMetrics);
&&&&&&&&return&outMetrics.heightP
&&&&public&static&int&getStatusHeight(Context&context)&{
&&&&&&&&int&statusHeight&=&-1;
&&&&&&&&try&{
&&&&&&&&&&&&Class&?&&clazz&=&Class.forName(&com.android.internal.R$dimen&);
&&&&&&&&&&&&Object&object&=&clazz.newInstance();
&&&&&&&&&&&&int&height&=&Integer.parseInt(clazz.getField(&status_bar_height&)
&&&&&&&&&&&&&&&&&&&&.get(object).toString());
&&&&&&&&&&&&statusHeight&=&context.getResources().getDimensionPixelSize(height);
&&&&&&&&}&catch&(Exception&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&statusH
&&&&&*&获取当前屏幕截图,包含状态栏
&&&&public&static&Bitmap&snapShotWithStatusBar(Activity&activity){
&&&&&&&&View&view&=&activity.getWindow().getDecorView();
&&&&&&&&view.setDrawingCacheEnabled(true);
&&&&&&&&view.buildDrawingCache();
&&&&&&&&Bitmap&bmp&=&view.getDrawingCache();
&&&&&&&&int&width&=&getScreenWidth(activity);
&&&&&&&&int&height&=&getScreenHeight(activity);
&&&&&&&&Bitmap&bp&=&
&&&&&&&&bp&=&Bitmap.createBitmap(bmp,&0,&0,&width,&height);
&&&&&&&&view.destroyDrawingCache();
&&&&&&&&return&
&&&&&*&获取当前屏幕截图,不包含状态栏
&&&&public&static&Bitmap&snapShotWithoutStatusBar(Activity&activity){
&&&&&&&&View&view&=&activity.getWindow().getDecorView();
&&&&&&&&view.setDrawingCacheEnabled(true);
&&&&&&&&view.buildDrawingCache();
&&&&&&&&Bitmap&bmp&=&view.getDrawingCache();
&&&&&&&&Rect&frame&=&new&Rect();
&&&&&&&&activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
&&&&&&&&int&statusBarHeight&=&frame.
&&&&&&&&int&width&=&getScreenWidth(activity);
&&&&&&&&int&height&=&getScreenHeight(activity);
&&&&&&&&Bitmap&bp&=&
&&&&&&&&bp&=&Bitmap.createBitmap(bmp,&0,&statusBarHeight,&width,&height
&&&&&&&&&&&&&&&&-&statusBarHeight);
&&&&&&&&view.destroyDrawingCache();
&&&&&&&&return&
}App相关package&net.wujingchao.android.utility
import&android.content.C
import&android.content.pm.PackageI
import&android.content.pm.PackageM
public&class&AppUtil&{
&&&&private&AppUtil()&{
&&&&&&&&throw&new&UnsupportedOperationException(&AppUtil&cannot&instantiated&);
&&&&&*&获取app版本名
&&&&public&static&String&getAppVersionName(Context&context){
&&&&&&&&PackageManager&pm&=&context.getPackageManager();
&&&&&&&&PackageInfo&
&&&&&&&&try&{
&&&&&&&&&&&&pi&=&pm.getPackageInfo(context.getPackageName(),0);
&&&&&&&&&&&&return&pi.versionN
&&&&&&&&}&catch&(PackageManager.NameNotFoundException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&&&;
&&&&&*&获取应用程序版本名称信息
&&&&public&static&String&getVersionName(Context&context)
&&&&&&&&try{
&&&&&&&&&&&&PackageManager&packageManager&=&context.getPackageManager();
&&&&&&&&&&&&PackageInfo&packageInfo&=&packageManager.getPackageInfo(
&&&&&&&&&&&&&&&&&&&&context.getPackageName(),&0);
&&&&&&&&&&&&return&packageInfo.versionN
&&&&&&&&}catch&(PackageManager.NameNotFoundException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&
&&&&&*&获取app版本号
&&&&public&static&int&getAppVersionCode(Context&context){
&&&&&&&&PackageManager&pm&=&context.getPackageManager();
&&&&&&&&PackageInfo&
&&&&&&&&try&{
&&&&&&&&&&&&pi&=&pm.getPackageInfo(context.getPackageName(),0);
&&&&&&&&&&&&return&pi.versionC
&&&&&&&&}&catch&(PackageManager.NameNotFoundException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&0;
}键盘package&net.wujingchao.android.utility
import&android.content.C
import&android.view.inputmethod.InputMethodM
import&android.widget.EditT
public&class&KeyBoardUtil{
&&&&private&KeyBoardUtil(){
&&&&&&&&throw&new&UnsupportedOperationException(&KeyBoardUtil&cannot&be&instantiated&);
&&&&&*&打卡软键盘
&&&&public&static&void&openKeybord(EditText&mEditText,&Context&mContext){
&&&&&&&&InputMethodManager&imm&=&(InputMethodManager)&mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
&&&&&&&&imm.showSoftInput(mEditText,&InputMethodManager.RESULT_SHOWN);
&&&&&&&&imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);
&&&&&*&关闭软键盘
&&&&public&static&void&closeKeybord(EditText&mEditText,&Context&mContext)&{
&&&&&&&&InputMethodManager&imm&=&(InputMethodManager)&mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
&&&&&&&&imm.hideSoftInputFromWindow(mEditText.getWindowToken(),&0);
}文件上传下载package&net.wujingchao.android.utility
import&android.content.C
import&android.os.E
import&java.io.ByteArrayOutputS
import&java.io.DataOutputS
import&java.io.F&
import&java.io.FileInputS
import&java.io.FileNotFoundE
import&java.io.IOE
import&java.io.InputS&
import&java.io.OutputS
import&java.net.HttpURLC
import&java.net.MalformedURLE
import&java.net.ProtocolE
import&java.net.URL;
import&java.util.UUID;
import&com.mixiaofan.A
public&class&DownloadUtil&{
&private&static&final&int&TIME_OUT&=&30*1000;&//超时时间
&private&static&final&String&CHARSET&=&&utf-8&;&//设置编码
&private&DownloadUtil()&{
&&&& throw&new&UnsupportedOperationException(&DownloadUtil&cannot&be&instantiated&);
&&&&&*&@param&file&&上传文件
&&&&&*&@param&RequestURL&上传文件URL
&&&&&*&@return&服务器返回的信息,如果出错则返回为null
&public&static&String&uploadFile(File&file,String&RequestURL)&{
&String&BOUNDARY&=&UUID.randomUUID().toString();&//边界标识&随机生成&String&PREFIX&=&&--&&,&LINE_END&=&&\r\n&;
&&&&&&&&&String&PREFIX&=&&--&&,&LINE_END&=&&\r\n&;
&&&&&&&&&String&CONTENT_TYPE&=&&multipart/form-data&;&//内容类型
&URL&url&=&new&URL(RequestURL);
&HttpURLConnection&conn&=&(HttpURLConnection)&url.openConnection();
&&&&&&&&&&&&&conn.setReadTimeout(TIME_OUT);
&&&&&&&&&&&&&conn.setConnectTimeout(TIME_OUT);
&&&&&&&&&&&&&conn.setDoInput(true);&//允许输入流
&conn.setDoOutput(true);&//允许输出流
&conn.setUseCaches(false);&//不允许使用缓存&
&conn.setRequestMethod(&POST&);&//请求方式&
&conn.setRequestProperty(&Charset&,&CHARSET);
&&&&&&&&&&&&&conn.setRequestProperty(&Cookie&,&&PHPSESSID=&&+&App.getSessionId());
&//设置编码&
&conn.setRequestProperty(&connection&,&&keep-alive&);&
&conn.setRequestProperty(&Content-Type&,&CONTENT_TYPE&+&&;boundary=&&+&BOUNDARY);
&if(file!=null)&{&
&&&&&&&&&&&&&&&&&&&&&/**&*&当文件不为空,把文件包装并且上传&*/
&&&&&&&&&&&&&&&&&&&&&OutputStream&outputSteam=conn.getOutputStream();
&&&&&&&&&&&&&&&&&&&&&DataOutputStream&dos&=&new&DataOutputStream(outputSteam);
&&&&&&&&&&&&&&&&&&&&&StringBuffer&sb&=&new&StringBuffer();
&&&&&&&&&&&&&&&&&&&&&sb.append(PREFIX);
&&&&&&&&&&&&&&&&&&&&&sb.append(BOUNDARY);&sb.append(LINE_END);
&&&&&&&&&&&&&&&&&&&&&/**
&&&&&&&&&&&&&&&&&&&&&*&这里重点注意:
&&&&&&&&&&&&&&&&&&&&&*&name里面的值为服务器端需要key&只有这个key&才可以得到对应的文件
&&&&&&&&&&&&&&&&&&&&&*&filename是文件的名字,包含后缀名的&比如:abc.png
&&&&&&&&&&&&&&&&&&&&&*/
&&&&&&&&&&&&&&&&&&&&&sb.append(&Content-Disposition:&form-&name=\&img\&;&filename=\&&+file.getName()+&\&&+LINE_END);
&&&&&&&&&&&&&&&&&&&&&sb.append(&Content-Type:&application/octet-&charset=&+CHARSET+LINE_END);
&&&&&&&&&&&&&&&&&&&&&sb.append(LINE_END);
&&&&&&&&&&&&&&&&&&&&&dos.write(sb.toString().getBytes());
&&&&&&&&&&&&&&&&&&&&&InputStream&is&=&new&FileInputStream(file);
&&&&&&&&&&&&&&&&&&&&&byte[]&bytes&=&new&byte[1024];
&&&&&&&&&&&&&&&&&&&&&int&
&&&&&&&&&&&&&&&&&&&&&while((len=is.read(bytes))!=-1)
&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&dos.write(bytes,&0,&len);
&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&is.close();
&&&&&&&&&&&&&&&&&&&&&dos.write(LINE_END.getBytes());
&&&&&&&&&&&&&&&&&&&&&byte[]&end_data&=&(PREFIX+BOUNDARY+PREFIX+LINE_END).getBytes();
&&&&&&&&&&&&&&&&&&&&&dos.write(end_data);
&&&&&&&&&&&&&&&&&&&&&dos.flush();
&&&&&&&&&&&&&&&&&&&&&/**
&&&&&&&&&&&&&&&&&&&&&*&获取响应码&200=成功
&&&&&&&&&&&&&&&&&&&&&*&当响应成功,获取响应的流
&&&&&&&&&&&&&&&&&&&&&*/
&&&&&&&&&&&&&&&&&&&&&ByteArrayOutputStream&bos&=&new&ByteArrayOutputStream();
&&&&&&&&&&&&&&&&&&&&&InputStream&resultStream&=&conn.getInputStream();
&&&&&&&&&&&&&&&&&&&&&len&=&-1;
&&&&&&&&&&&&&&&&&&&&&byte&[]&buffer&=&new&byte[1024*8];
&&&&&&&&&&&&&&&&&&&&&while((len&=&resultStream.read(buffer))&!=&-1)&{
&&&&&&&&&&&&&&&&&&&&&&&&&bos.write(buffer,0,len);
&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&resultStream.close();
&&&&&&&&&&&&&&&&&&&&&bos.flush();
&&&&&&&&&&&&&&&&&&&&&bos.close();
&&&&&&&&&&&&&&&&&&&&&String&info&=&new&String(bos.toByteArray());
&&&&&&&&&&&&&&&&&&&&&int&res&=&conn.getResponseCode();
&&&&&&&&&&&&&&&&&&&&&if(res==200){
&&&&&&&&&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&&&&&&&&&&}else&{
&&&&&&&&&&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&}&catch&(MalformedURLException&e)&{
&&&&&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&&&&}&catch&(ProtocolException&e)&{
&&&&&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&&&&}&catch&(FileNotFoundException&e)&{
&&&&&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&&&&}&catch&(IOException&e)&{
&&&&&&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&&&&}
&&&&&&&&&return&
&&&&&public&static&byte[]&download(String&urlStr)&{
&&&&&&&&&&&&HttpURLConnection&conn&=&
&&&&&&&&&&&&InputStream&is&=&
&&&&&&&&&&&&byte[]&result&=&
&&&&&&&&&&&&ByteArrayOutputStream&bos&=&
&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&URL&url&=&new&URL(urlStr);
&&&&&&&&&&&&&&&&conn&=&(HttpURLConnection)&url.openConnection();
&&&&&&&&&&&&&&&&conn.setRequestMethod(&GET&);
&&&&&&&&&&&&&&&&conn.setConnectTimeout(TIME_OUT);
&&&&&&&&&&&&&&&&conn.setReadTimeout(TIME_OUT);
&&&&&&&&&&&&&&&&conn.setDoInput(true);
&&&&&&&&&&&&&&&&conn.setUseCaches(false);//不使用缓存
&&&&&&&&&&&&&&&&if(conn.getResponseCode()&==&200)&{
&&&&&&&&&&&&&&&&&&&&is&=&conn.getInputStream();
&&&&&&&&&&&&&&&&&&&&byte&[]&buffer&=&new&byte[1024*8];
&&&&&&&&&&&&&&&&&&&&int&
&&&&&&&&&&&&&&&&&&&&bos&=&new&ByteArrayOutputStream();
&&&&&&&&&&&&&&&&&&&&while((len&=&is.read(buffer))&!=&-1)&{
&&&&&&&&&&&&&&&&&&&&&&&&bos.write(buffer,0,len);
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&bos.flush();
&&&&&&&&&&&&&&&&&&&&result&=&bos.toByteArray();
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}&catch&(MalformedURLException&e)&{
&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&}&catch&(IOException&e)&{
&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&}&finally&{
&&&&&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&&&&&if(bos&!=&null){
&&&&&&&&&&&&&&&&&&&&&&&&bos.close();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&if&(is&!=&null)&{
&&&&&&&&&&&&&&&&&&&&&&&&is.close();
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&if&(conn&!=&null)conn.disconnect();
&&&&&&&&&&&&&&&&}&catch&(IOException&e)&{
&&&&&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&return&
&&&&&*&获取缓存文件
&&&&&public&static&File&getDiskCacheFile(Context&context,String&filename,boolean&isExternal)&{
&&&&&&&&if(isExternal&&&&(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)))&{
&&&&&&&&&&&&return&new&File(context.getExternalCacheDir(),filename);
&&&&&&&&}else&{
&&&&&&&&&&&&return&new&File(context.getCacheDir(),filename);
&&&&&*&获取缓存文件目录
&&&&&public&static&File&getDiskCacheDirectory(Context&context)&{
&&&&&&&&if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))&{
&&&&&&&&&&&&return&context.getExternalCacheDir();
&&&&&&&&}else&{
&&&&&&&&&&&&return&context.getCacheDir();
&}加密package&net.wujingchao.android.utility
import&java.security.MessageD
import&java.security.NoSuchAlgorithmE
public&class&CipherUtil&{&
&&&&private&CipherUtil()&{
&&&&//字节数组转化为16进制字符串
&&&&public&static&String&byteArrayToHex(byte[]&byteArray)&{
&&&&&&&&char[]&hexDigits&=&{'0','1','2','3','4','5','6','7','8','9',&'A','B','C','D','E','F'&};
&&&&&&&&char[]&resultCharArray&=new&char[byteArray.length&*&2];
&&&&&&&&int&index&=&0;
&&&&&&&&for&(byte&b&:&byteArray)&{
&&&&&&&&&&&&resultCharArray[index++]&=&hexDigits[b&&&&4&&&0xf];
&&&&&&&&&&&&resultCharArray[index++]&=&hexDigits[b&&&0xf];
&&&&&&&&return&new&String(resultCharArray);
&&&&//字节数组md5算法
&&&&public&static&byte[]&md5&(byte&[]&bytes)&{
&&&&&&&&try&{
&&&&&&&&&&&&MessageDigest&messageDigest&=&MessageDigest.getInstance(&MD5&);
&&&&&&&&&&&&messageDigest.update(bytes);
&&&&&&&&&&&&return&messageDigest.digest();
&&&&&&&&}&catch&(NoSuchAlgorithmException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&
}时间package&net.wujingchao.android.utility
import&java.text.SimpleDateF
import&java.util.D
public&class&DateUtil&{
&&&&//转换中文对应的时段
&&&&public&static&String&convertNowHour2CN(Date&date)&{
&&&&&&&&SimpleDateFormat&sdf&=&new&SimpleDateFormat(&HH&);
&&&&&&&&String&hourString&=&sdf.format(date);
&&&&&&&&int&hour&=&Integer.parseInt(hourString);
&&&&&&&&if(hour&&&6)&{
&&&&&&&&&&&&return&&凌晨&;
&&&&&&&&}else&if(hour&&=&6&&&&hour&&&12)&{
&&&&&&&&&&&&return&&早上&;
&&&&&&&&}else&if(hour&==&12)&{
&&&&&&&&&&&&return&&中午&;
&&&&&&&&}else&if(hour&&&12&&&&hour&&=18)&{
&&&&&&&&&&&&return&&下午&;
&&&&&&&&}else&if(hour&&=19)&{
&&&&&&&&&&&&return&&晚上&;
&&&&&&&&return&&&;
&&&&//剩余秒数转换
&&&&public&static&String&convertSecond2Day(int&time)&{
&&&&&&&&int&day&=&time/86400;
&&&&&&&&int&hour&=&(time&-&86400*day)/3600;
&&&&&&&&int&min&=&(time&-&86400*day&-&3600*hour)/60;
&&&&&&&&int&sec&=&(time&-&86400*day&-&3600*hour&-&60*min);
&&&&&&&&StringBuilder&sb&=&new&StringBuilder();
&&&&&&&&sb.append(day);
&&&&&&&&sb.append(&天&);
&&&&&&&&sb.append(hour);
&&&&&&&&sb.append(&时&);
&&&&&&&&sb.append(min);
&&&&&&&&sb.append(&分&);
&&&&&&&&sb.append(sec);
&&&&&&&&sb.append(&秒&);
&&&&&&&&return&sb.toString();
上一篇: 6. 用eclipse实现PMService PMservice是一个通过Service服务,来实现任务管理的程序。分为客户端PMClient和服务端PMService。 PMService提供一些操作方法: 服务开始的提示方法:getVal(); 任务管理器的查询方法:getProcessID() 获取进程号,和getProcessNa
下一篇: 随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是大家有哪些好的 Android 开发习惯? - 知乎4680被浏览131821分享邀请回答/book/zh/v22.勤做总结,推荐使用印象笔记,把一些懂的经验总结起来,把还不懂的文章挂里面,有时间就慢慢消化;3.定期code review,不断迭代,你总会发现一些不合理的代码,或者需要优化的地方。4.关注一些知名的技术大V或网站,里面许多东西值得你去消化,推荐:,,,但总归来说,去Android官网或者参考一份Java API文档虽说枯燥,但熟悉之后,你会有更大的进步。5.如想更深入了解可阅读珍藏许久的文章:6.如果你公司没有强大的测试团队,发布应用前最好把应用放到测试平台去测测,比如云测之类的;7.取应用包名的时候切忌取太容易重复的,如果同款手机已经有该包名,那么会因为签名不同而导致安装不上,这也怪中国安卓市场太多,无法像Google Play那样进行包名审核。45023 条评论分享收藏感谢收起coding.net/u/levi/p/imouto-host/git
感谢这位前辈。78060 条评论分享收藏感谢收起查看更多回答3 个回答被折叠()

我要回帖

更多关于 python读取log关键字 的文章

 

随机推荐