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");
最後
這裏也有不少有用的知識點