常用代码

来源:互联网 发布:防御阵型中文版mac 编辑:程序博客网 时间:2024/06/06 08:50

发短信

//1,拿到短信管理器SmsManager sm = SmsManager.getDefault();//2.切割短信ArrayList<String> smss = sm.divideMessage(content);//3,循环发送短信内容for (String string : smss) {    sm.sendTextMessage(phone, null, string, null, null);}

打电话

//创建意图对象Intent intent = new Intent();//把动作封装到意图对象中intent.setAction(Intent.ACTION_CALL);//设置打给谁intent.setData(Uri.parse("tel:"+phone));//把动作告诉系统startActivity(intent);

SharedPreference

  • 存储
//使用SharedPreferenceSharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);//拿到sp的编辑器Editor ed = sp.edit();ed.putString("name", name);ed.putString("pass", pass);//提交ed.commit();
  • 取出
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);String name = sp.getString("name", "");String pass = sp.getString("pass", "");

获取sd卡存储空间

File path = Environment.getExternalStorageDirectory();StatFs stat = new StatFs(path.getPath());long blockSize;long totalBlocks;long availableBlocks;//获取当前系统版本的等级if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN_MR2){    //4.3以上    blockSize = stat.getBlockSizeLong();    totalBlocks = stat.getBlockCountLong();    availableBlocks = stat.getAvailableBlocksLong();}else{    blockSize = stat.getBlockSize();    totalBlocks = stat.getBlockCount();    availableBlocks = stat.getAvailableBlocks();}TextView tv  = (TextView) findViewById(R.id.tv);tv.setText(formatSize(totalBlocks*blockSize));

读写存储卡

//外部存储路径if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//是否挂载    File file = new File(Environment.getExternalStorageDirectory(),"info.txt");    if(file.exists()){//内部存储路径File file = new File(getFilesDir(),"info.txt");//获取输出流,带权限FileOutputStream out = openFileOutput("info.txt", MODE_PRIVATE);

对话框

//确定取消对话框public void click(View v){    AlertDialog.Builder builder = new Builder(this);    builder.setIcon(android.R.drawable.alert_dark_frame);    builder.setTitle("欲练此功,必先自宫");    builder.setMessage("你确定要练?");    //确定按钮    builder.setPositiveButton("确定", new OnClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) {            Toast.makeText(MainActivity.this, "狠人啊",0).show();        }    });    //取消按钮    builder.setNegativeButton("取消", new OnClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) {            Toast.makeText(MainActivity.this, "迷途知返",0).show();        }    });    //生成对话框对象    AlertDialog  ad = builder.create();    ad.show();}

单选框

//单选框public void click2(View v){    AlertDialog.Builder builder = new Builder(this);    builder.setTitle("请选择性别");    final String [] items = new String[]{            "男",            "女"    };    builder.setSingleChoiceItems(items, -1, new OnClickListener() {        //dialog触发这个方法的对话框        @Override        public void onClick(DialogInterface dialog, int which) {            Toast.makeText(MainActivity.this, "您选择的是:"+items[which], 0).show();            //关闭对话框            dialog.dismiss();        }    });    builder.show();}

多选框

//多选框public void click3(View v){    AlertDialog.Builder builder = new Builder(this);    builder.setTitle("请选择偶像");    final String [] items = new String[]{            "达芬奇",            "令狐冲",            "东方不败"    };    final boolean [] checkedItems = new boolean[]{            true,            false,            false    };    builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {    @Override    public void onClick(DialogInterface dialog, int which, boolean isChecked) {        checkedItems[which] = isChecked;    }    });    //设置确定按钮    builder.setPositiveButton("确定",new OnClickListener() {    @Override    public void onClick(DialogInterface dialog, int which) {        dialog.dismiss();        String text = "";        for(int i=0;i<items.length;i++){            text+=checkedItems[i]?items[i]+",":"";        }        Toast.makeText(MainActivity.this, text, 0).show();    }    });    builder.show();}

获取联系人信息

public class ContactInfoUtils {    /**     * 获取系统里面全部的联系人信息     * 获取联系人就要操作联系人数据库,而这个数据库是私有的,就需要内容提供者.        为了能获取到内容提供者的解析器,需要传递进来一个参数:上下文     * @param context     *            上下文     * @return     */    public static List<ContactInfo> getAllContacts(Context context) {//获取系统中所有联系人信息的方法,返回值为List        List<ContactInfo> contanctInfos = new ArrayList<ContactInfo>();        // 1. 查询raw_contacts 把 联系人的 id获取出来        ContentResolver resolver = context.getContentResolver();//拿到一个内容提供者的解析器        // 获取raw_contacts表的uri        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");//最重要的第一个参数是Uri,所有的内容提供者前缀都是content://        // 获取data表的uri        Uri datauri = Uri.parse("content://com.android.contacts/data");        Cursor cursor = resolver.query(uri, null, null, null, null);//查询的操作,返回值为cursor的结果集        //关心的是contact_id        while (cursor.moveToNext()) {            String id = cursor.getString(cursor.getColumnIndex("contact_id"));            System.out.println("联系人的id:" + id);            if (id != null) {                ContactInfo contactInfo = new ContactInfo();                // 2.根据id查询data表 获取联系人的数据。                Cursor datacursor = resolver.query(datauri, null,                        "raw_contact_id=?", new String[] { id }, null);//第1个参数是Uri                while (datacursor.moveToNext()) {                    String data1 = datacursor.getString(datacursor                            .getColumnIndex("data1"));                    String mimetype = datacursor.getString(datacursor                            .getColumnIndex("mimetype"));                    if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {                        contactInfo.setPhone(data1);                    } else if ("vnd.android.cursor.item/email_v2"                            .equals(mimetype)) {                        contactInfo.setEmail(data1);                    } else if ("vnd.android.cursor.item/name".equals(mimetype)) {                        contactInfo.setName(data1);                    }                }                datacursor.close();                contanctInfos.add(contactInfo);            }        }        cursor.close();        return contanctInfos;    }}

BitMap、Drawable、inputStream及byte[] 互转

//BitMap  to   inputStream    ByteArrayOutputStream baos = new ByteArrayOutputStream();    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);    InputStream isBm = new ByteArrayInputStream(baos .toByteArray()); //BitMap  to   byte[]  Bitmap defaultIcon = BitmapFactory.decodeStream(in);  ByteArrayOutputStream stream = new ByteArrayOutputStream();  defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);  byte[] bitmapdata = stream.toByteArray(); //Drawable  to   byte[]  Drawable d; // the drawable (Captain Obvious, to the rescue!!!)  Bitmap bitmap = ((BitmapDrawable)d).getBitmap();  ByteArrayOutputStream stream = new ByteArrayOutputStream();  defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, bitmap);  byte[] bitmapdata = stream.toByteArray();  //byte[]  to  Bitmap   Bitmap bitmap =BitmapFactory.decodeByteArray(byte[], 0,byte[].length);

uri相关

  • 资源路径 android.resource://com.packagename/raw/xxxx
  • 根据uri获取路径
Uri uri = data.getData();String[] proj = { MediaStore.Images.Media.DATA };Cursor actualimagecursor = managedQuery(uri,proj,null,null,null);int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);actualimagecursor.moveToFirst();String img_path = actualimagecursor.getString(actual_image_column_index);File file = new File(img_path);
  • android 根据uri获取真实路径
    public static String getRealFilePath( final Context context, final Uri uri ) {        if ( null == uri ) return null;        final String scheme = uri.getScheme();        String data = null;        if ( scheme == null )            data = uri.getPath();        else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) {            data = uri.getPath();        } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) {            Cursor cursor = context.getContentResolver().query( uri, new String[] { ImageColumns.DATA }, null, null, null );            if ( null != cursor ) {                if ( cursor.moveToFirst() ) {                    int index = cursor.getColumnIndex( ImageColumns.DATA );                    if ( index > -1 ) {                        data = cursor.getString( index );                    }                }                cursor.close();            }        }        return data;    }

图片文件的路径地址
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0821/1660.html

0 0