1.android:onClick=“XXX”
一般监听OnClickListener事件,我们都是通过Button button = (Button)findViewById(…);
button.setOClickLisener…这样的方式来实现。
其实可以在xml中定义好方法名称,在Activity中实现该方法就可以了
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onFlags"/>
2.通过数据线连接自己的手机调试运行项目
右上角点开绿三角会显示当前已经识别连接了的设备和虚拟机
点击troubleshoot device connections可以查看相关问题解决办法
- 连接手机后需要在开发者选项里面打开USB调试
- USB调试下面有USB安装,需要允许
- 然后AS会自动识别
3.调用系统相册进行图像处理等
public void select(View view){
Log.d("grabCut","选择图片");
if(ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE
},1);
}
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, IMAGE_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//在相册里面选择好相片之后调回到现在的这个activity中
switch (requestCode) {
case IMAGE_REQUEST_CODE: //IMAGE_REQUEST_CODE 需要>-1,此处在前面声明为1
if (resultCode == RESULT_OK) {//resultcode是setResult里面设置的code值
try {
Uri selectedImage = data.getData(); //获取系统返回的照片的Uri
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);//从系统表中查询指定Uri对应的照片
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
path = cursor.getString(columnIndex); //获取照片路径
cursor.close();
bitmap = BitmapFactory.decodeFile(path);
imageView.setImageBitmap(bitmap);
todo(); //封装了的处理函数
} catch (Exception e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
}else{
Log.i("MainActivity","operation error");
}
super.onActivityResult(requestCode, resultCode, data);
}
}
3. getExternalStorageDirectory() is deprecated
Context.getExternalFilesDir代替,Android Q以后Environment.getExternalStorageDirectory()返回的路径可能无法直接访问,所以改成了Context.getExternalFilesDir
File appDir = new File(context.getExternalFilesDir(null),"xyz");
最后
这里也有不少有用的知识点