Android中常用开发工具类—持续更新...
一、自定义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 ...
随机推荐
- ●POJ poj 2112 Optimal Milking
●题目大意: 给出K个挤奶机器(编号1~K),C头牛(编号K+1~K+C)(机器和牛各在不同的地方)和每台机器最多可M头牛挤奶: 然后以邻接矩阵告诉各点间的直接距离(不同的地方间若直接距离等于0,则表 ...
- [bzoj4908][BeiJing2017]开车
来自FallDream的博客,未经允许,请勿转载,谢谢. 你有n辆车,分别a1, a2, ..., an位置和n个加油站,分别在b1, b2, ... ,bn .每个加油站只能支持一辆车的加油,所以你 ...
- scrapy常用命令(持续) | Commonly used Scrapy command list (con't)
以下命令都是在CMD中运行,首先把路径定位到项目文件夹 ------------------------------------------------------------------------ ...
- xml 和数组的相互转化
数组转化为xml: function arrtoxml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0" ...
- A neural chatbot using sequence to sequence model with attentional decoder. This is a fully functional chatbot.
原项目链接:https://github.com/chiphuyen/stanford-tensorflow-tutorials/tree/master/assignments/chatbot 一个使 ...
- 多线程join(加入)
package cn.itcast.thread;/* join方法. 加入 */ //老妈class Mon extends Thread{ public void run() { System.o ...
- Mysql锁机制--间隙锁的危害
Mysql 系列文章主页 =============== 1 准备数据 1.1 建表 DROP TABLE IF EXISTS employee; CREATE TABLE IF NOT EXISTS ...
- string转换为guid类型 split
string str = "{"+context.Request["ID"]+"}"; KpiUser.ID = new Guid(str) ...
- 关于一些基础的Java问题的解答(二)
6. Hashcode的作用 官方对于hashCode的解释如下: Whenever it is invoked on the same object more than once during an ...
- win10安装配置vs community 2015+opencv3.1.0
下载并安装Visual Studio Community 2015.具体安装步骤自行解决.下载地址: https://www.visualstudio.com/ 下载opencv3.1.0,并解压.地 ...