常用的代码片段,不断更新

为防止更新不及时,github地址如下:https://github.com/SolveBugs/NormalCode

1.给当前界面添加一个透明度

/** 
* 给界面添加透明度 
*
 * @param activity
 * @param bgAlpha 
*/
public static void backgroundAlpha(Activity activity, float bgAlpha) { 
      activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
      WindowManager.LayoutParams lp = activity.getWindow().getAttributes();   
      lp.alpha = bgAlpha; //0.0-1.0    
      activity.getWindow().setAttributes(lp);
}

2.一键添加qq群 http://qun.qq.com/join.html 选择需要添加的群,然后选择手机平台,即可生成相应的代码。

3.得到当前版本号

public static int getVersionCode(Context context) {   
      int code = 0;    
      if (context == null) {        
      return code;   
      } try {        
      PackageInfo info =context.getPackageManager().getPackageInfo(context.getPackageName(), 0);          code = info.versionCode;   
            } catch (PackageManager.NameNotFoundException e) {
                    }   
      return code;
}

4.判断当前网络是否可用

public static boolean isNetworkConnected(Context context) {    
if (context != null) {       
       ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        
       NetworkInfo mNetworkInfo = mConnectivityManager                .getActiveNetworkInfo();        
       if (mNetworkInfo != null) {            
             return mNetworkInfo.isAvailable() 
                         && mNetworkInfo.isConnectedOrConnecting();    
                                 } 
                     }    
       return false;
}

5.当前是否是移动网络

public static boolean isMobileConnected(Context context) {    
        if (context != null) {        
        ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);       
        NetworkInfo mMobileNetworkInfo = mConnectivityManager                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);        
        if (mMobileNetworkInfo != null) {            
               return  mMobileNetworkInfo.isAvailable() 
                       && mMobileNetworkInfo.isConnectedOrConnecting();        
                                        }    
                              }    
        return false;
}

6.当前是否是wifi

public static boolean isWifi(Context context) {    
        if (context != null) {       
        ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);        
        NetworkInfo mNetworkInfo = mConnectivityManager                .getActiveNetworkInfo();       
        if (mNetworkInfo != null) {            
                return mNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI;       
                                 }    
                              }   
        return false;
}

7.ListView根据item计算出实际的高度

public static void setListViewHeightBasedOnChildren(ListView listView) {    
// 获取ListView对应的Adapter   
ListAdapter listAdapter = listView.getAdapter();    
if (listAdapter == null) { 
       return;   
}    
int totalHeight = 0;    
for (int i = 0; i < listAdapter.getCount(); i++) {        
View listItem = listAdapter.getView(i, null, listView);        
listItem.measure(0, 0); // 计算子项View 的宽高       
 totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度   
}    
ViewGroup.LayoutParams params = listView.getLayoutParams();    
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));     
listView.setLayoutParams(params);
}

8.拨打电话(记得在清单文件添加权限)

/** 
* 给界面添加透明度 
*  @param phoneNum 
*/
public void call(String phoneNum){
    Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ phoneNum));
    startActivity(intent);
}
  1. 字符串是否包含汉字
public static boolean checkChinese(String sequence) {   
 final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]";    
boolean result = false;    
Pattern pattern = Pattern.compile(format);    
Matcher matcher = pattern.matcher(sequence);    
result = matcher.find();   
 return result;
}

10.从assets 文件夹中读取图片

public static Drawable loadImageFromAsserts(final Context ctx, String fileName) {    try {        
   InputStream is = ctx.getResources().getAssets().open(fileName);       
   return Drawable.createFromStream(is, null);    
} catch (IOException e) {       
   if (e != null) {            
   e.printStackTrace();      
   }    
} catch (OutOfMemoryError e) {        i
   if (e != null) {            
   e.printStackTrace();       
 }    
} catch (Exception e) {      
  if (e != null) {           
  e.printStackTrace();   
  }  
  }   
 return null;
}

11.判断字符串是否为空

public static boolean isNull(String string) {    
  if (string != null) {        
  string = string.trim();        
  if (string.length() != 0) {            
  return false;        
  }    
  }    
  return true;
}    

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏酷玩时刻

Retrofit2+Rxjava+MVP 实践

此博文根据前面两篇文章 Android MVP 架构初试 Android MVP 架构封装 再结合主流框架Retrofit2+Rxjava来个实践(实现聚合网...

3614
来自专栏向治洪

仿淘宝收货地址,本地数据库

谁说咱们攻城狮不能写出既幽默又能懂的博客呢,本人想推出一系列博文,可以给刚接触Android开发的做一个参考,也可以与接触Android已久的各路大神比较一下,...

1.3K7
来自专栏Android小菜鸡

自定义广告图片轮播View——CarouselView

  因为一个广告机的需求,需要做一个广告轮播的效果,不需要什么特别的动画,正常的轮播就可以了。笔者看了网上很多文章,要么不好用,要么就是效果太多,太复杂,用不上...

1792
来自专栏Android知识点总结

3-VII-RecyclerView的item操作

1357
来自专栏Android开发指南

8.搜索

2245
来自专栏分享达人秀

完善RecyclerView,添加首尾视图

在之前学习ListView的时候,有学习过如何给ListView添加列表头和列表尾。但是通过近几期的学习,发现RecyclerView是一个比ListV...

2438
来自专栏ascii0x03的安全笔记

Python写的嗅探器——Pyside,Scapy

使用Python的Pyside和Scapy写的嗅探器原型,拥有基本框架,但是功能并不十分完善,供参考。 ? 1 import sys 2 import ...

8418
来自专栏向治洪

listview动态获取数据

1.主Activity 1 public class MainActivity extends Activity { 2 3 private ...

2309
来自专栏Android 开发学习

ListView的一个典型crash cannot be cast to android.widget.AbsListView$LayoutParams1. 背景2. 为什么会出现crash3.

3093
来自专栏mukekeheart的iOS之旅

Andriod基础——Adapter类

Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View,因为layout五花八门,很多数据都不能直接绑定上...

3605

扫码关注云+社区

领取腾讯云代金券