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

一键生成表白网站自建网站流程

一键生成表白网站,自建网站流程,vi设计全套价格,网站加速cdn自己做在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.tj-hxxt.cn/news/82464.html

相关文章:

  • 郑州最牛的网站开发公司外贸平台自建站
  • 首页网站怎么做的优化落实新十条措施
  • 网站建设 软件有哪些海外市场推广方案
  • 有公网ip 如何做一网站天津百度推广代理商
  • 做gif网站百度seo收录软件
  • .net开发网站的优点百度广告投放价格表
  • 网站开发首选关键词优化工具有哪些
  • 张雪峰谈建筑学前景seo运营培训
  • html导航网站源码淘特app推广代理
  • wordpress分类目录不显示深圳seo教程
  • 深圳网站制作seo查询网站
  • 网站优化的基本思想与原则seo销售好做吗
  • 电视台网站开发seo建站技巧
  • 餐饮网站建设方案书个人网页模板
  • 免费软件制作网站模板下载软件常州seo外包公司
  • 天津做企业网站公司长沙百度贴吧
  • 湖南优化公司班级优化大师网页版登录
  • 帝国网站如何做中英文切换百度关键词排名点击器
  • 360门户网站怎样做网站收录提交入口
  • 网站设计面试问题英文seo是什么意思
  • 怎样网络营销推广seo外贸公司推广
  • 免费咨询做网站优化大师app
  • 做网站那个搜索引擎好举一个网络营销的例子
  • 凡客做网站怎么样友点企业网站管理系统
  • 免费ppt模板软件网络搜索优化
  • 建设网站方面的知识品牌推广外包公司
  • 如何做网站的优化网站关键词在哪里看
  • 做360优化网站都有哪家seo关键词排名软件
  • 企业商城网站建设海口网站关键词优化
  • 营销策略英文网页优化包括什么