android|android studio学习知识点
1.android:onClick=“XXX” 【android|android studio学习知识点】一般监听OnClickListener事件,我们都是通过Button button = (Button)findViewById(…);
button.setOClickLisener…这样的方式来实现。
其实可以在xml中定义好方法名称,在Activity中实现该方法就可以了
那么在java文件中必须实现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");
最后 这里也有不少有用的知识点
推荐阅读
- android第三方框架(五)ButterKnife
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期