当前位置: 首页 > news >正文

一键生成表白网站人教版优化设计电子书

一键生成表白网站,人教版优化设计电子书,网站建设的销售好做吗,大型网站只做要多少钱在Android原生态开发过程中,往往会设计到用户头像的设置问题,一般来讲设置头像需要用到拍照、获取照片、存储照片、裁剪照片、显示照片等问题,本文将一步一步的进行说明讲解。 首先需要强调几点我在开发过程中遇到的问题。 权限问题&#xf…

     在Android原生态开发过程中,往往会设计到用户头像的设置问题,一般来讲设置头像需要用到拍照、获取照片、存储照片、裁剪照片、显示照片等问题,本文将一步一步的进行说明讲解。

首先需要强调几点我在开发过程中遇到的问题。

  1. 权限问题,在Android6.0以后,Android的权限获取不再是通过AndroidManifest.xml文件中声明获取,为了安全行,APP获取Android的高位权限需要动态获取。系统权限默认是禁止的,需要申请。动态申请权限的说明见该文章
  2. 调用顺序问题,在开发过程中一定要注意代码的执行顺序,一定要在用户获取指定权限之后再调用相关功能,注意权限的调用和授权是异步于主线程的,也就是说,如果你在调用权限后紧跟着调用相机的操作的还,系统会导致闪退,因为调用权限后主线程并没有等待授权完成而继续执行,这就导致在调用相机时没有权限。
  3. Uri和Bitmap的区别以及使用,在使用裁剪功能时,我们通常使用Uri对象来指明资源,Bitmap占用内存而且效率低下,但是使用Uri的过程中需要注意,如果我们在调用裁剪功能前就指明了Uri参数,那么返回的Intent对象中的getData方法将返回为null。
  4. Android系统路径及存储空间问题,Android分为内部存储和外部存储,而且在Android开发过程中设计到大量路径问题,Android内外部存储及路径问题见该文章

下面进行具体的功能实现。

1.权限设置

     在该功能的开发过程中需要使用到相机权限、存储空间读写权限。

     权限获取可以大致分为两部:在manifest文件中声明权限,在activity中动态获取权限。

  1. manifest文件的设置
	<!-- 读写权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 相机权限 --><uses-permission android:name="android.permission.CAMERA"/>
  1. 在Java代码中动态申请权限
    动态申请权限代码一般放在程序运行的首界面,在首界面运行时就向用户申请需要的各种权限,而在动态申请的过程中,又需要实现两步:申请权限和处理用户授权信息。
    申请权限的代码
	//一下代码可以直接在首页面中的onCreate方法中调用requestPermission()//申请权限返回码private final int REQUEST_PERMISSION_CODE = 0x01;//可以使用Manifest.permission.***表示private final String[] permissions = new String[]{"android.permission.WRITE_EXTERNAL_STORAGE","android.permission.READ_EXTERNAL_STORAGE","android.permission.CAMERA"};/*** 动态申请权限*/private void requestPermission() {List<String> requestPermissions = new ArrayList<>();for (String permission:permissions) {//判断用户是否已经授权if (ContextCompat.checkSelfPermission(this,permission) != PackageManager.PERMISSION_GRANTED){//如果用户没有授权requestPermissions.add(permission);}}/*** 用户动态授权* 执行该代码后,将进入授权界面,此时主线程继续执行* 用户授权结果将被onRequestPermissionsResult方法接受,如果需要处理则重写该方法*/if(requestPermissions.size() != 0){String[] strs = requestPermissions.toArray(new String[requestPermissions.size()]);ActivityCompat.requestPermissions(this, strs, REQUEST_PERMISSION_CODE);}}

处理授权结果

    /*** @param requestCode The request code passed in {@link #requestPermissions(String[], int)}.* @param permissions The requested permissions. Never null.* @param grantResults The grant results for the corresponding permissions*/@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);//授权结果的处理逻辑}

     上述过程完成了权限申请过程,如果用户授权允许调用相机,则后续可以直接调用相机进行相关操作。

http://www.hrbkazy.com/news/43474.html

相关文章:

  • 体育投注网站开发广州关键词优化外包
  • 首页网站怎么做的营销策略怎么写
  • 免费网站空间免费主机体验营销策略有哪些
  • 惠州市seo网站设计如何给公司做网络推广
  • 凡客诚品app下载关键词优化公司哪家推广
  • 做网站用百度浏览器seo网站介绍
  • 四川网站建设设计公司seo推广一个月见效
  • 做网站赚钱嘛企业品牌推广营销方案
  • 衢州站电话输入关键词就能写文章的软件
  • 用什么软件做网站好小程序开发公司哪里强
  • 网站关键字 优帮云百度指数1000搜索量有多少
  • 做医疗的网站网络营销策略实施的步骤
  • 设计网站会员网络推广推广
  • 网络网站开发今日广州新闻最新消息
  • 专业做酒的网站有哪些宽带业务如何推广
  • 做爰片的网站网络优化工程师证书
  • 做新媒体和网站香港百度广告
  • python 做网站怎样山东大学经济研究院
  • 做电子签章登录那个网站怎样在百度上发布广告
  • 做网站大连seo营销技巧
  • 网站建设中山百度收录教程
  • 企业网站建设比较调查怎么写百度工具
  • 网站建设 邦百度自动点击器下载
  • 长春网站建设产品展示免费私人网站建设
  • 市政府网站建设标准河南it渠道网
  • 网站做的比较好的抖音排名优化
  • 做ppt好的网站有哪些什么网站都能进的浏览器
  • 软件测试员工资一般多少合肥网站推广优化公司
  • wordpress花园主题深圳网站关键词优化公司
  • 河南建设网站公司简介今日热搜头条