Android中常用的工具类02

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;//1M
    public static boolean isExistSDCard() {
        if (android.os.Environment.getExternalStorageState().equals(
                android.os.Environment.MEDIA_MOUNTED)
                && getAvailableStore(Environment.getExternalStorageDirectory().getPath()) > imageSize) {
            return true;
        } else
            return 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的SIZE
        long blocSize = statFs.getBlockSize();
        // 获取BLOCK数量
        long totalBlocks = statFs.getBlockCount();
        // 可使用的Block的数量
        long availaBlock = statFs.getAvailableBlocks();
        long total = totalBlocks * blocSize;//总的存储空间
        long availableSpare = availaBlock * blocSize;//当前可用存储空间
        return availableSpare;

    }

}

Android中常用的工具类02

时间: 2024-10-13 09:14:44

Android中常用的工具类02的相关文章

Android中常用的工具类01

1.图片和视频缩略图工具类 import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.ThumbnailUtils; /** * 缩略图生成工具类 * @author * */ public class ThumbnailGenerateUtils { private ThumbnailGenerateUtils(){}; /** * 根据指定的图像路径和大小来获取缩略图

java中常用的工具类(二)

下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

java中常用的工具类(三)

继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

java中常用的工具类(一)

我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工具类 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5

java并发编程中常用的工具类 Executor

/***************************************************  * TODO: description .  * @author: gao_chun  * @since:  2015-4-17  * @version: 1.0.0  * @remark: 转载请注明出处  **************************************************/ java.util.concurrent.Executor 使用 Execut

Android中的管理工具类log可以这么些.....

做Android开发的一个重要的工具就是locat,这是代码调试,出错排除定位等必不可少的工具,也是习以为常的, 首先我就来先说一下log吧. 它属于android.util.log类.常用的打印日志的方法有5个如下 : Log.v(tag,message) :   //verbose模式,打印最详细的信息 Log.d(tag,message) :   //debug模式,打印调试的信息 Log.i(tag,message) :    //info Log.w(tag,message) :   

java中常用的工具类

一.String工具类 package com.itjh.javaUtil; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * @author 宋立君 * @date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NOT_FOUND = -1; private static final St

Android开发中常用的工具类整理

来源 http://wujingchao.net/2015/03/16/android_common_utility_class.html 日志 package net.wujingchao.android.utility import android.util.Log; public final class L { private final static int LEVEL = 5; private final static String DEFAULT_TAG = "L"; pr

Android中2D绘图工具类(Canvas,Paint和Color)简介

通常的Android应用开发中都要图片,找美工设计些图片,放到项目中就可以了,不过除了使用现有的图片外,我们也可以用2D绘图,就是在View画一些图案或文字.其中通常要用到的类有Canvas(画布),Paint(画笔)及Color(用来设置画笔颜色)类,当然还可能用到其它很多类,都是根据自己项目中的需要来定的. Canvas:画布,用来直接在View上绘制诸如矩形,圆形,文字,位图等图形.官方api网址:http://developer.android.com/reference/android