加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android实用代码

发布时间:2020-05-24 15:40:39 所属栏目:Java 来源:互联网
导读:Android实用代码

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

一、获取应用程序下所有Activity

public static ArrayList getActivities(Context ctx) {
ArrayList result = new ArrayList();
Intent intent = new Intent(Intent.ACTION_MAIN,null);
intent.setPackage(ctx.getPackageName());
for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent,0)) {
result.add(info.activityInfo.name);
}
return result;
}


二、检测字符串中是否包含汉字
public static boolean checkChinese(String sequence) {
final String format = "[u4E00-u9FA5uF900-uFA2D]";
boolean result = false;
Pattern pattern = Pattern.compile(format);
Matcher matcher = pattern.matcher(sequence);
result = matcher.find();
return result;
}

三、检测字符串中只能包含:中文、数字、下划线(_)、横线(-)

publicstaticbooleancheckNickname(Stringsequence){
finalStringformat="[^u4E00-u9FA5uF900-uFA2Dw-_]";
Patternpattern=Pattern.compile(format);
Matchermatcher=pattern.matcher(sequence);
return!matcher.find();
}

四、使用TransitionDrawable实现渐变效果
private void setImageBitmap(ImageView imageView,Bitmap bitmap) {
// Use TransitionDrawable to fade in.
final TransitionDrawable td = new TransitionDrawable(new Drawable[] { new ColorDrawable(android.R.color.transparent),new BitmapDrawable(mContext.getResources(),bitmap) });
//noinspection deprecation
imageView.setBackgroundDrawable(imageView.getDrawable());
imageView.setImageDrawable(td);
td.startTransition(200);
}

比使用AlphaAnimation效果要好,可避免出现闪烁问题。

五、扫描指定的文件

sendBroadcast(newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,uri)); publicstaticintdipToPX(finalContextctx,floatdip){
return(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dip,ctx.getResources().getDisplayMetrics());
}
用途:难免在Activity代码中设置位置、大小等,本方法就很有用了!

七、发送不重复的通知(Notification)
publicstaticvoidsendNotification(Contextcontext,Stringtitle,
Stringmessage,Bundleextras){
IntentmIntent=newIntent(context,FragmentTabsActivity.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mIntent.putExtras(extras);

intrequestCode=(int)System.currentTimeMillis();

PendingIntentmContentIntent=PendingIntent.getActivity(context,
requestCode,mIntent,0);

NotificationmNotification=newNotificationCompat.Builder(context)
.setContentTitle(title).setSmallIcon(R.drawable.app_icon)
.setContentIntent(mContentIntent).setContentText(message)
.build();
mNotification.flags|=Notification.FLAG_AUTO_CANCEL;
mNotification.defaults=Notification.DEFAULT_ALL;

NotificationManagermNotificationManager=(NotificationManager)context
.getSystemService(Context.NOTIFICATION_SERVICE);

mNotificationManager.notify(requestCode,mNotification);
} 代码说明:关键点在这个requestCode,这里使用的是当前系统时间,巧妙的保证了每次都是一个新的Notification产生。
publicstaticStringipToHex(Stringips){
StringBufferresult=newStringBuffer();
if(ips!=null){
StringTokenizerst=newStringTokenizer(ips,".");
while(st.hasMoreTokens()){
Stringtoken=Integer.toHexString(Integer.parseInt(st.nextToken()));
if(token.length()==1)
token="0"+token;
result.append(token);
}
}
returnresult.toString();
}


publicstaticStringtexToIp(Stringips){
try{
StringBufferresult=newStringBuffer();
if(ips!=null&&ips.length()==8){
for(inti=0;i<8;i+=2){
if(i!=0)
result.append('.');
result.append(Integer.parseInt(ips.substring(i,i+2),16));
}
}
returnresult.toString();
}catch(NumberFormatExceptionex){
Logger.e(ex);
}
return"";
} mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
if(DeviceUtils.hasHoneycomb())
mWebView.getSettings().setDisplayZoomControls(false); publicstaticStringgetNetworkTypeName(Contextcontext){
if(context!=null){
ConnectivityManagerconnectMgr=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectMgr!=null){
NetworkInfoinfo=connectMgr.getActiveNetworkInfo();
if(info!=null){
switch(info.getType()){
caseConnectivityManager.TYPE_WIFI:
return"WIFI";
caseConnectivityManager.TYPE_MOBILE:
returngetNetworkTypeName(info.getSubtype());
}
}
}
}
returngetNetworkTypeName(TelephonyManager.NETWORK_TYPE_UNKNOWN);
}

publicstaticStringgetNetworkTypeName(inttype){
switch(type){
caseTelephonyManager.NETWORK_TYPE_GPRS:
return"GPRS";
caseTelephonyManager.NETWORK_TYPE_EDGE:
return"EDGE";
caseTelephonyManager.NETWORK_TYPE_UMTS:
return"UMTS";
caseTelephonyManager.NETWORK_TYPE_HSDPA:
return"HSDPA";
caseTelephonyManager.NETWORK_TYPE_HSUPA:
return"HSUPA";
caseTelephonyManager.NETWORK_TYPE_HSPA:
return"HSPA";
caseTelephonyManager.NETWORK_TYPE_CDMA:
return"CDMA";
caseTelephonyManager.NETWORK_TYPE_EVDO_0:
return"CDMA-EvDorev.0";
caseTelephonyManager.NETWORK_TYPE_EVDO_A:
return"CDMA-EvDorev.A";
caseTelephonyManager.NETWORK_TYPE_EVDO_B:
return"CDMA-EvDorev.B";
caseTelephonyManager.NETWORK_TYPE_1xRTT:
return"CDMA-1xRTT";
caseTelephonyManager.NETWORK_TYPE_LTE:
return"LTE";
caseTelephonyManager.NETWORK_TYPE_EHRPD:
return"CDMA-eHRPD";
caseTelephonyManager.NETWORK_TYPE_IDEN:
return"iDEN";
caseTelephonyManager.NETWORK_TYPE_HSPAP:
return"HSPA+";
default:
return"UNKNOWN";
}
}
publicstaticvoidUnZipFolder(StringzipFileString,StringoutPathString)throwsException{
java.util.zip.ZipInputStreaminZip=newjava.util.zip.ZipInputStream(newjava.io.FileInputStream(zipFileString));
java.util.zip.ZipEntryzipEntry;
StringszName="";

while((zipEntry=inZip.getNextEntry())!=null){
szName=zipEntry.getName();

if(zipEntry.isDirectory()){

//getthefoldernameofthewidget
szName=szName.substring(0,szName.length()-1);
java.io.Filefolder=newjava.io.File(outPathString+java.io.File.separator+szName);
folder.mkdirs();

}else{

java.io.Filefile=newjava.io.File(outPathString+java.io.File.separator+szName);
file.createNewFile();
//gettheoutputstreamofthefile
java.io.FileOutputStreamout=newjava.io.FileOutputStream(file);
intlen;
byte[]buffer=newbyte[1024];
//read(len)bytesintobuffer
while((len=inZip.read(buffer))!=-1){
//write(len)bytefrombufferattheposition
out.write(buffer,0,len);
out.flush();
}
out.close();
}
}//endofwhile

inZip.close();

}//endoffunc

publicstaticStringgetTextFromAssets(finalContextcontext,StringfileName){
Stringresult="";
try{
InputStreamin=context.getResources().getAssets().open(fileName);
//获取文件的字节数
intlenght=in.available();
//创建byte数组
byte[]buffer=newbyte[lenght];
//将文件中的数据读到byte数组中
in.read(buffer);
result=EncodingUtils.getString(buffer,"UTF-8");
in.close();
}catch(Exceptione){
e.printStackTrace();
}
returnresult;
}


publicstaticDrawableloadImageFromAsserts(finalContextctx,StringfileName){
try{
InputStreamis=ctx.getResources().getAssets().open(fileName);
returnDrawable.createFromStream(is,null);
}catch(IOExceptione){
if(e!=null){
e.printStackTrace();
}
}catch(OutOfMemoryErrore){
if(e!=null){
e.printStackTrace();
}
}catch(Exceptione){
if(e!=null){
e.printStackTrace();
}
}
returnnull;
}

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读