文件的读写 和获取应用市场的名称
来源:互联网 发布:在线制作手机淘宝店招 编辑:程序博客网 时间:2024/06/14 18:29
package com.cardvlaue.sys.util;import android.content.ContentResolver;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageManager;import android.database.Cursor;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Environment;import android.provider.ContactsContract;import android.text.TextUtils;import android.util.Base64;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStreamWriter;import java.io.StreamCorruptedException;import java.util.List;import java.util.Map;/** * <p>写文件和读取文件<p/> * Created by Administrator on 2016/8/10. */public class ReadUtil { //文件的目录和路径 private final static String PATH = "/sdcard/digu"; private final static String FILENAME = "/notes.txt"; /** * 向sdcard写文件 * 写文件 */ @SuppressWarnings("all") public static void write(String str) { try { //1.判断是否存在sdcard if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { //目录 File path = new File(PATH); //文件 File f = new File(PATH + FILENAME); if (!path.exists()) { //2.创建目录,可以在应用启动的时候创建 path.mkdirs(); } if (!f.exists()) { //3.创建文件 f.createNewFile(); } else if (f.exists()) { f.delete(); f.createNewFile(); } OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(f)); //4.写文件,从EditView获得文本值 osw.write(str); osw.close(); } } catch (Exception e) { } } /* * 写文件 */ public static String read() { //文件 File f = new File(PATH + FILENAME); if (!f.exists()) { return null; } FileInputStream is = null; try { is = new FileInputStream(f); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] array = new byte[1024]; int len;//int len=-1; while ((len = is.read(array)) != -1) { bos.write(array, 0, len); bos.close(); is.close(); return bos.toString(); } } catch (IOException e) { e.printStackTrace(); try { is.close(); } catch (IOException e1) { e1.printStackTrace(); } return null; } return null; } /** * 获取应用市场的名称 * @param context * @param keyName * @return */ public static String readKey(Context context, String keyName) { try { ApplicationInfo app = context.getPackageManager().getApplicationInfo( context.getPackageName(), PackageManager.GET_META_DATA); Bundle bundle = app.metaData; String value = bundle.getString(keyName); return value; } catch (PackageManager.NameNotFoundException ex) { return null; } } /** * 获取Email * @param contentResolver * @param map * @param sb * @param contactId */ public static void putEmail(ContentResolver contentResolver, Map<String,Object> map, StringBuilder sb, String contactId){ //查询Email类型的数据操作 Cursor emails = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, null, null); if(emails==null) return; String moveTo=""+emails.moveToNext(); if(moveTo.equals("false")){ map.put("email",""); } while (emails.moveToNext()) { String emailAddress = emails.getString(emails.getColumnIndex( ContactsContract.CommonDataKinds.Email.DATA)); //添加Email的信息 map.put("email", emailAddress); sb.append(",Email=").append(emailAddress); } emails.close(); } /** * 获取Adress * @param contentResolver * @param map * @param sb * @param contactId */ public static void putAdress(ContentResolver contentResolver,Map<String,Object> map,StringBuilder sb,String contactId){ //查询==地址==类型的数据操作.StructuredPostal.TYPE_WORK Cursor address = contentResolver.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null, ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId, null, null); if(address==null) return; String moveToAddress=address.moveToNext()+""; if(moveToAddress.equals("false")){ map.put("address",""); } while (address.moveToNext()) { String workAddress = address.getString(address.getColumnIndex( ContactsContract.CommonDataKinds.StructuredPostal.DATA)); //添加Email的信息 sb.append(",address").append(workAddress); map.put("address", workAddress); } address.close(); } /** * 获取Company(公司) * @param contentResolver * @param map * @param sb * @param contactId * @param id */ public static void putCompany(ContentResolver contentResolver,Map<String,Object> map,StringBuilder sb,String contactId,String id) { //查询==公司名字==类型的数据操作.Organization.COMPANY ContactsContract.Data.CONTENT_URI String orgWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?"; String[] orgWhereParams = new String[]{id, ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE}; Cursor orgCur = contentResolver.query(ContactsContract.Data.CONTENT_URI, null, orgWhere, orgWhereParams, null); if(orgCur==null) return; String moveToorgCur=orgCur.moveToNext()+""; if(moveToorgCur.equals("false")){ map.put("company",""); } if (orgCur.moveToFirst()) { //组织名 (公司名字) String company = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.DATA)); //职位 String title = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.TITLE)); sb.append(",company").append(company); sb.append(",title").append(title); map.put("company", company); //map.put("title", title); } orgCur.close(); } /** * 压缩图片 * @param options * @param minSideLength * @param maxNumOfPixels * @return */ public static int computeSampleSize(BitmapFactory.Options options, int minSideLength, int maxNumOfPixels) { int initialSize = computeInitialSampleSize(options, minSideLength, maxNumOfPixels); int roundedSize; if (initialSize <= 8) { roundedSize = 1; while (roundedSize < initialSize) { roundedSize <<= 1; } } else { roundedSize = (initialSize + 7) / 8 * 8; } return roundedSize; } private static int computeInitialSampleSize(BitmapFactory.Options options, int minSideLength, int maxNumOfPixels) { double w = options.outWidth; double h = options.outHeight; int lowerBound = (maxNumOfPixels == -1) ? 1 : (int) Math.ceil(Math .sqrt(w * h / maxNumOfPixels)); int upperBound = (minSideLength == -1) ? 128 : (int) Math.min(Math .floor(w / minSideLength), Math.floor(h / minSideLength)); if (upperBound < lowerBound) { // return the larger one when there is no overlapping zone. return lowerBound; } if ((maxNumOfPixels == -1) && (minSideLength == -1)) { return 1; } else if (minSideLength == -1) { return lowerBound; } else { return upperBound; } }}
0 0
- 文件的读写 和获取应用市场的名称
- Qt 获取文件的名称和路径
- Qt 获取文件的名称和路径
- 获取文件对象的名称
- 获取当前应用的版本名称和版本号
- 获取应用版本名称和版本号的方法
- 获取当前应用的版本号/应用名称
- js获取上传文件的大小和名称
- 获取文件夹内某一类文件的数量和名称
- ADB获取手机的应用名称
- c#中读写文件查找特定名称的文件
- 嵌入式系统的应用和市场
- Android 动态修改app名称(市场和手机中显示两个不同的名称)
- android5.0之后如何获取当前运行的应用包名和应用名称
- java 获取文件的路径 名称
- jQuery获取上传文件的名称
- 获取指定文件的扩展名称
- java获取文件的后缀名称
- GIT (分布式版本控制系统)
- svn + 百度云同步盘
- NDK开发 从入门到放弃(四:JNI函数、C与C++调用函数的区别)
- mysql5.7忘记密码时,修改root密码
- 序列化——反序列化(集合)
- 文件的读写 和获取应用市场的名称
- mysql索引使用总结----mysql 索引类型以及创建
- Mysql出现Can’t connect to MySQL server on ‘localhost’ (10061)问题
- 10.2 接口关系下的多态
- 双栈实现算数表达式
- web基础知识
- POJ 3164 Command Network 最小树形图 模板题
- CListContrl得到headers的text属性
- 设计模式C++实现(18)——工厂方法模式