对话框
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);-----创建对话框管理者
builder.setView(view);------设置布局
AlertDialog dialog=builder1.create();-----创建对话框
dialog.show();-----展示对话框
Menu菜单
系统
onCreateOptionsMenu----activity中重写,加载xml文件-----调用getMenuInflater().inflate(R.menu.menu,menu) 方法 参数为: xml文件和menu
onOptionsItemSelected----activity中重写,内容点击监听
上下文
registerForContextMenu(textView);-------绑定控件
onCreateContextMenu----activity中重写,加载xml文件
onContextItemSelected----activity中重写,内容点击监听
弹出菜单
PopupMenu popupMenu=new PopupMenu(MainActivity.this,text);—参数: 上下文, 指定的控件
inflate-----设置布局
setOnMenuItemClickListener-----设置监听
调用show 方法
PoupWindow
PopupWindow popupWindow = new PopupWindow(Main2Activity.this);
setContentView-----设置布局
setHeight----设置高度
setWidth----设置宽度
setOutsideTouchable----设置点击外部取消
showAsDropDown-----相对控件
showAtLocation----相对父布局
通知
NotificationManager manager= (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this);
builder .setSamllIcon-----设置小图标该属性必须设置
notify(1,builder.build());----刷新通知
存储
SP
SharedPreferences preferences = getSharedPreferences(“songdingxing”, MODE_PRIVATE)
SharedPreferences.Editor editor = preferences.edit();
editor.putString(“loc”,“456”);
editor.commit();
SD
读写权限:android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
尺寸压缩
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds=true;//设置只采边框
BitmapFactory.decodeByteArray(data,0,data.length,options);//采样
int outWidth = options.outWidth;//获得原图的宽
int outHeight = options.outHeight;//获得原图的高
//计算缩放比例
int size=1;
while(outWidth/size>100||outHeight/size>100){
size*=2;
}
//TODO 2:第二次采样:按照比例才像素
options.inJustDecodeBounds=false;//设置只采边框为fasle
options.inSampleSize=size;//设置缩放比例
Bitmap bitmap=BitmapFactory.decodeByteArray(data,0,data.length,options);//采样
质量压缩
Bitmap.compress(CompressFormat format, int quality, OutputStream stream)
参数一:Bitmap被压缩成的图片格式
参数二:压缩的质量控制,范围0~100
参数三:输出流
内容提供者
获取短信等等
ContentResolver resolver = getContentResolver();
Uri uri= ContactsContract.CommonDataKinds.Phone.CONTENT_URI;------查询的字段
Cursor cursor=resolver.query(uri,strs,null,null,null);-----查询获取
cursor.moveToNext()----遍历
cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));-----遍历获取数据
权限
联系人
android.permission.READ_CONTACTS-----权限
ContactsContract.CommonDataKinds.Phone.CONTENT_URI -----uri
字段:
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME------姓名
ContactsContract.CommonDataKinds.Phone.NUMBER-------电话
手机短信
android.permission.READ_SMS-----权限
Telephony.Sms.CONTENT_URI-----uri
字段:
Telephony.Sms.ADDRESS ------地址
Telephony.Sms.BODY -------内容
图库
MediaStore.Images.Media.EXTERNAL_CONTENT_URI -----uri
字段:
MediaStore.Images.Media.TITLE ------图片名称
MediaStore.Images.Media.SIZ -------大小
视频
MediaStore.Video.Media.EXTERNAL_CONTENT_URI -----uri
字段:
MediaStore.Video.Media.TITLE -----名称
MediaStore.Video.Media.DATAE -------地址
MediaStore.Video.Media.DURATION----时长
音频
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI-----uri
字段:
MediaStore.Audio.Media.TITLE-----名称
MediaStore.Audio.Media.ARTIST -------歌手
,MediaStore.Audio.Media.DURATION -----总时长