一、自定义ActionBar
public class ActionBarTool { public static void setActionBarLayout(Activity act,Context context,int layoutId){//前两个参数一般情况下都可以填this,第三个参数为自定义View的Id ActionBar actionBar = act.getActionBar(); if( null != actionBar ){ actionBar.setDisplayShowHomeEnabled(false);//是否显示左上角的应用图标 actionBar.setDisplayShowCustomEnabled(true);//是否使用自定义标题栏 LayoutInflater inflator = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflator.inflate(layoutId, null);//填充自定义布局 ActionBar.LayoutParams layout = new ActionBar.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); actionBar.setCustomView(v,layout);//把自定义View设置成ActionBar } } }
二、系统信息工具类
public class SystemInfoUtils { public static int getRunningAppProcesses(Context context) {// 得到当前系统内运行的app进程数量 ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> appInfos = am.getRunningAppProcesses(); return appInfos.size(); } public static List<HashMap<String, Object>> getAppInfo(Context context) {// 得到非系统应用的app信息 List<HashMap<String, Object>> appInfos = new ArrayList<HashMap<String, Object>>(); HashMap<String, Object> map = null; List<PackageInfo> packages = context.getPackageManager() .getInstalledPackages(0);// 参数传入0表示过滤权限,因为可能有的手机不让你获取应用信息 for (PackageInfo temp : packages) { if ((temp.applicationInfo.flags & temp.applicationInfo.FLAG_SYSTEM) == 0) { // 非系统应用 // 得到应用的名称 String appName = temp.applicationInfo.loadLabel( context.getPackageManager()).toString(); // 得到应用图标 Drawable appIcon = temp.applicationInfo.loadIcon(context .getPackageManager()); // 得到应用最后一次更新的时间 long lastUpdateTime = temp.lastUpdateTime; // 得到应用的包名 String packageName = temp.packageName; // 得到应用的版本信息 String versionName = temp.versionName; map = new HashMap<String, Object>(); map.put("appName", appName); map.put("appIcon", appIcon); map.put("lastUpdateTime", lastUpdateTime); map.put("packageName", packageName); map.put("versionName", versionName); appInfos.add(map);// 把应用信息加入集合中返回 map = null; } else { // 系统应用 } } return appInfos; } // 获取sd卡容量 public static String getSdSize(Context context) { String totalStr = null, availStr = null; if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) {// 判断是否检测到sd卡 File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSizeLong(); long availableBlocks = stat.getAvailableBlocksLong(); long totalBlocks = stat.getBlockCountLong(); long totalSize = blockSize * totalBlocks; long availSize = blockSize * availableBlocks; totalStr = Formatter.formatFileSize(context, totalSize); availStr = Formatter.formatFileSize(context, availSize); } else Toast.makeText(context, "没有检测到SD卡,请检查是否正确插入", Toast.LENGTH_SHORT) .show(); return "SD卡总容量为:" + totalStr + "可用为:" + availStr; } // 获取手机内存 public static String getRomSave(Context context) { String totalStr = null, availStr = null; File path = Environment.getDataDirectory(); StatFs stat = new StatFs(path.getPath());// 得到手机内存的路径 long blockSize = stat.getBlockSizeLong(); long availableBlocks = stat.getAvailableBlocksLong(); long totalBlocks = stat.getBlockCountLong(); long totalSize = blockSize * totalBlocks; long availSize = blockSize * availableBlocks; totalStr = Formatter.formatFileSize(context, totalSize); availStr = Formatter.formatFileSize(context, availSize); return "手机内存总大小为:" + totalStr + "可用空间为:" + availStr; } }
三、网络相关工具类
public class NetworkUtils { // 判断当前网络是否可用 public static boolean networkIsConnect(Context context) { ConnectivityManager conn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = conn.getActiveNetworkInfo(); if (info != null && info.isConnected()) { return true; } else { return false; } } // 判断当前连接的网络是否是wifi,并得到连接当前Wifi的信息 public static boolean networkIsWifi(Context context) { ConnectivityManager conn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = conn.getActiveNetworkInfo(); if (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI) { WifiManager wifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); Toast.makeText(context, "连接的wifi网络的id为:"+wifiInfo.getNetworkId(), Toast.LENGTH_SHORT).show(); return true; } else { return false; } } // 是否打开Wifi public static void setWifiEnabled(Context context, boolean enabled) { WifiManager wifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); if (enabled) { wifiManager.setWifiEnabled(true); } else { wifiManager.setWifiEnabled(false); } } }
四、Px与Dp转化工具类
public class DensityUtils { public static int Dp2Px(Context context, float dp) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dp * scale + 0.5f); } public static int Px2Dp(Context context, float px) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (px / scale + 0.5f); } }
五、震动工具类
public class VibratorUtil { /** * long milliseconds :震动的时长,单位是毫秒 * long[] pattern :自定义震动模式 。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒 * boolean isRepeat : 是否反复震动,如果是true,反复震动,如果是false,只震动一次 */ public static void Vibrate(final Context context) { long milliseconds = 100; Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(milliseconds); } public static void Vibrate(final Context context, long milliseconds) { Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(milliseconds); } public static void Vibrate(final Context context, long[] pattern,boolean isRepeat) { Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(pattern, isRepeat ? 1 : -1);//-1为反复震动 } }
——持续更新......
Android中常用开发工具类—持续更新...的更多相关文章
-
[Tool] 常用开发工具注册码(持续更新)
OS win10 激活 命令行 打开命令提示符( 管理员 ) 输入 slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 回车 再输入 slmgr /skms kms.xs ...
-
Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源,BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 各种后台管理系统
Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 家庭理财系统 各种后 ...
-
Android 中替代 sharedpreferences 工具类的实现
Android 中替代 sharedpreferences 工具类的实现 背景 想必大家一定用过 sharedpreferences 吧!就我个人而言,特别讨厌每次 put 完数据还要 commit. ...
-
java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
-
Android开发中常用的库总结(持续更新)
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...
-
android 编译环境 &; 开发教程 【持续更新】
一. 优秀博文推荐 1.ubuntu 搭建 android源码编译环境 ubuntu14.04LTS android 源码编译环境的搭建 2.开源网站 2.android 开源 网站 2015最流行的 ...
-
java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
-
java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
-
JS中常用的工具类
一.日期工具类 /** * 日期时间工具类 * @type {{dateFormat}} */ var DateTime = function () { var patterns = { PATTER ...
随机推荐
-
Auto generating Entity classes with xsd.exe for XML Serialization and De-Serialization
More info here: http://blogs.msdn.com/b/yojoshi/archive/2011/05/14/xml-serialization-and-deserializa ...
-
Dijkstra 算法、Kruskal 算法、Prim算法、floyd算法
1.dijkstra算法 算最短路径的,算法解决的是有向图中单个源点到其他顶点的最短路径问题. 初始化n*n的数组. 2.kruskal算法 算最小生成树的,按权值加入 3.Prim算法 类似dijk ...
-
Java中string拼接,StringBuilder,StringBuffer和+
Java中string拼接,StringBuilder,StringBuffer和+,到底哪个更合适? StringBuilder线程不安全,效率较线程安全的StringBuffer高.jdk1.5之 ...
-
linux内存管理--伙伴系统和内存分配器
3.1页框的管理 所有的页框描述符都存放在mem_map数组中. 3.1.1page数据结构 struct page { page_flags_t flags; //标志 atomic_t _coun ...
-
C++的精髓——虚函数
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数! 纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数! 虚函数 引入原 ...
-
一道关于call和this的JS面试题
一个有情怀的程序员...... 2017年始,希望成为一个更好的自己,想自己所想,爱自己所爱 ----------------------------------------------------- ...
-
PHP的爬虫框架
Beanbun PHPSpider PHPQuery QueryList PHPCrawer Snoopy
-
Redis重大版本
Redis借鉴了Linux操作系统对于版本号的命名规则: 版本号第二位如果是奇数,则为非稳定版本(例如2.7.2.9.3.1),如果是偶数,则为稳定版本(例如2.6.2.8.3.0.3.2), 当前奇 ...
-
ubuntu下修改网卡名称
Ubuntu下把网卡eth0修改为eth1的步骤: 1.打开配置文件 /etc/udev/rules.d/70-persistent-net.rules,文件内容如下: # This file was ...
-
Java数值类型之间转换
Java之间的数值转换如图所示,实心箭头代表无数据丢失,虚线箭头代表可能丢失 例如:123456789是一个大的整数,包含的位数比float类型能够表达的位数多,但这个数转换为float类型时,将会得 ...