1、读取手机联系人信息

一般用在读取手机通讯录上传,这一块比較多。

import java.util.ArrayList;
import java.util.List;import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.text.TextUtils;import com.iss.starwish.bean.PhoneContact;
/*** 读取手机联系人信息*/
public class ReadPhoneContactUtil {/*** 通过内容观察者,或者手机联系人相关的信息**/public  static  List<PhoneContact> getPhoneContacts(Context mContext) {List<PhoneContact> phoneContacts = new ArrayList<PhoneContact>();ContentResolver resolver = mContext.getContentResolver();String[] PHONES_PROJECTION = new String[] { Phone.NUMBER,Phone.DISPLAY_NAME };// 获取手机联系人Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);if (phoneCursor != null) {while (phoneCursor.moveToNext()) {// 得到手机号码String phoneNumber = phoneCursor.getString(0);// 当手机号码为空的或者为空字段 跳过当前循环if (TextUtils.isEmpty(phoneNumber))continue;// 得到联系人名称String contactName = phoneCursor.getString(1);phoneContacts.add(new PhoneContact(contactName,phoneNumber));}}return phoneContacts;}}

2、通过资源的名称来获取资源id

这个最经常使用的是在国际化或者一键改动主题这一块。依据不同的语言环境,切换不同的字符串标识。

依据不同的文件名称,切换不同的主题

package net.tianyouwang.utils;import android.content.Context;/*** 通过字段名称来动态的获取资源的id,再来使用。此类,能够通过字段名称动态获取id。*/
public class ResourceUtil { public static int getLayoutId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "layout", context.getPackageName()); } public static int getStringId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "string", context.getPackageName()); } public static int getDrawableId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "drawable", context.getPackageName()); } public static int getStyleId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "style", context.getPackageName()); } public static int getId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "id", context.getPackageName()); } public static int getColorId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "color", context.getPackageName()); }public static int getAnimationId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "anim", context.getPackageName()); }public static int getBooleanId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "bool", context.getPackageName()); }public static int getArrayId(Context context, String paramString) { return context.getResources().getIdentifier(paramString, "array", context.getPackageName()); }
}

3、SDCARD状态和SDCARD剩余容量的操作

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;import android.os.Environment;
import android.os.StatFs;
import android.text.TextUtils;
/**** SDCard的剩余容量推断操作**/
public class SDCardAvailableUtils {private static final int imageSize = 1*1024*1024;//1Mpublic static boolean isExistSDCard() {if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)&& getAvailableStore(Environment.getExternalStorageDirectory().getPath()) > imageSize) {return true;} elsereturn false; }public static void saveDatatoLocalFile(String data, String filePath) {if (!TextUtils.isEmpty(data) && !TextUtils.isEmpty(filePath)) {File file = new File(filePath);FileOutputStream outStr = null;try {if (!file.exists()) {file.createNewFile();}outStr = new FileOutputStream(file);if (outStr != null) {outStr.write(data.getBytes());outStr.flush();}} catch (IOException e) {e.printStackTrace();} finally {if (outStr != null) {try {outStr.close();} catch (IOException e) {e.printStackTrace();} finally {outStr = null;}}}}}/*** 获取存储卡的剩余容量,单位为字节* * @param filePath* @return availableSpare*/public static long getAvailableStore(String filePath) {// 取得sdcard文件路径StatFs statFs = new StatFs(filePath);// 获取block的SIZElong blocSize = statFs.getBlockSize();// 获取BLOCK数量long totalBlocks = statFs.getBlockCount();// 可使用的Block的数量long availaBlock = statFs.getAvailableBlocks();long total = totalBlocks * blocSize;//总的存储空间long availableSpare = availaBlock * blocSize;//当前可用存储空间return availableSpare;}}

转载于:https://www.cnblogs.com/wzzkaifa/p/6815999.html

Android中经常使用的工具类02相关推荐

  1. Android中调用webservice的工具类

    最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...

  2. Android获取通讯录中的所有联系人工具类

    一个获取通讯录中所有联系人的工具类,存储在Map中,Map中key为手机号,value为联系人的姓名.还提供了一个根据手机号查询该手机号的联系人姓名的功能. 注:同一联系人可以存储多个手机号,但是同一 ...

  3. Android开发 无线Wifi+WifiUtil工具类,android开发网格布局

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. Android开发 几个常用工具类

    本文出自[张鸿洋的博客]并 做了部分修改. 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311 打开大家手上的项目,基 ...

  5. java.lang包有哪些类_Java中Lang包的工具类有哪些

    Java中Lang包的工具类有哪些 发布时间:2020-12-08 16:15:36 来源:亿速云 阅读:76 作者:Leah 今天就跟大家聊聊有关Java中Lang包的工具类有哪些,可能很多人都不太 ...

  6. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例

    本文实例讲述了Android开发之媒体播放工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.media.Media ...

  7. 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列

    要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列 ...

  8. java运行python脚本_java中执行python脚本工具类详解

    java中执行python脚本工具类,需要jython.jar import java.io.FileInputStream; import java.io.IOException; import j ...

  9. java中常用的日期工具类

    java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...

  10. 使用POI在Excel中动态生成图表工具类(支持柱状、组合、环状图、折线图、等常用图)

    使用POI在Excel中动态生成图表工具类 使用POI在Excel中动态生成图表工具类 由于公司是一个生成报表的机构,之前一直使用pageOffice,但是公司领导就是不买,你说公司那样有钱磨磨唧唧干 ...

最新文章

  1. 【软件需求工程与建模 - 小组项目】阶段性汇报-软件设计规格说明书3.0
  2. 缓存使用-4、Redis 持久化机制
  3. 使用dom4j解析XML文件
  4. java用beaninfo_java 可以使用BeanInfo实现bean实体与map之间的互相转换
  5. 如何传输文件到linux服务器?
  6. 图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化
  7. 切换数据库_如何快速切换到其他数据库实例
  8. 横向导出excel_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  9. 华锐研究:国际领先经营机构(投行)信息技术投入 | 数据发布
  10. arcgis10.2之Maplex(高级标注扩展模块)
  11. 基于二阶矩阵的优化问题(一)线搜索策略(附matlab代码)
  12. delphi写QQ消息群发(模拟按键精灵)
  13. Hulu推荐:小众又新颖的综艺
  14. 如何从官网直接下载iTunes?
  15. BZOJ1863 [ZJOI2006]trouble 皇帝的烦恼 [思维题,二分答案,动态规划]
  16. 百度JS实现文本语音朗读
  17. java 判断类型_Java变量类型识别的3种方式
  18. FINDSTR 命令使用详解
  19. Spring Cloud Feign 请求时附带请求头
  20. 使用字节流和字符流向浏览器输出数据

热门文章

  1. scala case class入门
  2. Django的rest_framework的视图之Mixin类编写视图源码解析...
  3. 分享几个比较提高工作效率的软件
  4. /etc/profile
  5. 《HTML5 开发实例大全》——1.32 在表单中使用 object 元素插入一个Flash
  6. Python获取Linux或Windows系统的基本信息
  7. NeHe OpenGL第四十四课:3D光晕
  8. 分布式业务Redis安装与集群配置
  9. YYAsyncLayer 源码剖析:异步绘制
  10. postman - github下载地址