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

什么网站可以做软件有哪些内容吗网站开发侵权

什么网站可以做软件有哪些内容吗,网站开发侵权,论坛网站模,品牌网站建设报价表Android CameraX 是一个 Jetpack 支持库#xff0c;旨在简化相机应用的开发工作。它提供了一致且易用的API接口#xff0c;适用于大多数Android设备#xff0c;并可向后兼容至Android 5.0#xff08;API级别21#xff09;。 CameraX解决了在多种设备上实现相机功能时所遇…Android CameraX 是一个 Jetpack 支持库旨在简化相机应用的开发工作。它提供了一致且易用的API接口适用于大多数Android设备并可向后兼容至Android 5.0API级别21。 CameraX解决了在多种设备上实现相机功能时所遇到的兼容性问题大大减少了需要编写的设备专属代码量。同时它还通过提供一种基于用例的、具有生命周期感知能力的方式简化了相机功能的开发。 导入需要的包 implementation(androidx.camera:camera-core:1.3.4)implementation(androidx.camera:camera-camera2:1.3.4)implementation(androidx.camera:camera-lifecycle:1.3.4)implementation(androidx.camera:camera-video:1.3.4)implementation(androidx.camera:camera-view:1.3.4)配置简单layout和PhotoActivity 新建一个activity_photo.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:xheadhttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:background#005dd7android:orientationverticalLinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:gravitycenterandroid:layout_margin20dpandroid:backgrounddrawable/shape_common_dialog_bgandroid:orientationverticalandroidx.camera.view.PreviewViewandroid:layout_width640dpandroid:layout_height600dpandroid:idid/viewFinder /Buttonandroid:layout_marginTop10dpandroid:backgrounddrawable/shape_login_buttonandroid:idid/image_capture_buttonandroid:layout_width300dpandroid:layout_heightwrap_contentandroid:elevation2dpandroid:text拍照 / /LinearLayoutpublic class PhotoActivity implements View.OnClickListener {//图片捕获private ImageCapture imageCapture;//private ProcessCameraProvider cameraProvider;Overrideprotected void onCreate(Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_photo);}请求必要的权限 应用需要获得用户授权才能打开相机。 首先在AndroidManifest.xml中声明 uses-permission android:nameandroid.permission.CAMERA / 所以在onCreate(Nullable Bundle savedInstanceState)方法中增加 protected void onCreate(Nullable Bundle savedInstanceState){String[] permissions {Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE};if (allPermissionsGranted(permissions, this)) {startCamera();} else {ActivityCompat.requestPermissions(this, permissions, REQUEST_CAMERA_PERMISSION);} }public boolean allPermissionsGranted(String[] permissions, Context context) {for (String permission : permissions) {int checkSelfPermission ContextCompat.checkSelfPermission(context, permission);if (checkSelfPermission ! PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, permissions, REQUEST_CAMERA_PERMISSION);}}return true;}当然用户存在不同意的情况此时可以重写 onRequestPermissionsResult 方法以处理权限请求结果 Overridepublic void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode REQUEST_CAMERA_PERMISSION) {if (grantResults.length 0 grantResults[0] PackageManager.PERMISSION_GRANTED) {// 权限已被授予可以执行相机相关操作startCamera();} else {// 权限被拒绝提示用户需要授权Toast.makeText(this, 需要相机权限才能使用此功能, Toast.LENGTH_SHORT).show();}}}实现 Preview 用例开始拍照 我们打开前置摄像头 private void startCamera() {ListenableFutureProcessCameraProvider cameraProviderFuture ProcessCameraProvider.getInstance(this);cameraProviderFuture.addListener(() - {try {cameraProvider cameraProviderFuture.get();//前置摄像头CameraSelector cameraSelector CameraSelector.DEFAULT_FRONT_CAMERA;Preview preview new Preview.Builder().build();// 构建预览用例preview.setSurfaceProvider(bd.viewFinder.getSurfaceProvider());// 构建图片捕获用例imageCapture new ImageCapture.Builder().build();// 将用例绑定到相机cameraProvider.bindToLifecycle(PersonPhotoActivity.this,cameraSelector,preview,imageCapture);} catch (ExecutionException | InterruptedException e) {throw new RuntimeException(e);}}, ContextCompat.getMainExecutor(this));}ListenableFuture cameraProviderFuture ProcessCameraProvider.getInstance(this); 这行代码的作用是获取一个ProcessCameraProvider的实例这个实例可以与宿主的生命周期绑定从而无需手动管理相机的打开和关闭。cameraProviderFuture注册了一个监听器当cameraProviderFuture完成时会执行注册的Runnable。在这个Runnable中首先通过cameraProviderFuture.get()获取到cameraProvider实例。然后创建一个用于预览的Preview对象并将其Surface设置到对应的预览界面上。同时还创建了一个ImageCapture对象用于图片捕获。使用cameraProvider.bindToLifecycle()方法将相机与当前Activity的生命周期绑定并指定使用的摄像头、预览、以及图片捕获的配置。这样相机就会在Activity的生命周期内自动进行资源的申请和释放 在avd虚拟机中显示 配置avd的前置摄像头为虚拟模式 启动项目查看页面 拍照 当拍照按钮被点击时调用takePhoto 方法这里我们建立了一个file对象临时保存当前照片之后我们就可以自由使用该照片 Overridepublic void onClick(View view) {if (view.getId() R.id.image_capture_button) {takePhoto(view);}}private void takePhoto(View view) {File file new File(getContext().getExternalCacheDir() File.separator System.currentTimeMillis() .png);//创建包文件的数据比如创建文件ImageCapture.OutputFileOptions outputFileOptions new ImageCapture.OutputFileOptions.Builder(file).build();//开始拍照imageCapture.takePicture(outputFileOptions, ContextCompat.getMainExecutor(this),new ImageCapture.OnImageSavedCallback() {Overridepublic void onImageSaved(NonNull ImageCapture.OutputFileResults outputFileResults) {// 关闭相机并释放资源cameraProvider.unbindAll();// file.getPath()//做业务//。。。。}Overridepublic void onError(NonNull ImageCaptureException exception) {Log.d(TAG, Objects.requireNonNull(exception.toString()));Toast.makeText(PersonPhotoActivity.this, 照片保存失败, Toast.LENGTH_SHORT).show();}});}代码分析 创建一个ImageCapture.OutputFileOptions对象用于指定照片的输出选项这里将照片保存到刚刚创建的File对象中。调用imageCapture的takePicture方法开始拍照。传入outputFileOptions作为参数以及一个回调函数OnImageSavedCallback。在OnImageSavedCallback的onImageSaved方法中当照片成功保存后关闭相机并释放资源。然后可以进行其他业务操作如显示照片等。
http://www.dnsts.com.cn/news/141709.html

相关文章:

  • 网站开发完整的解决方案哈尔滨建设工程招聘信息网站
  • 做饮食网站怎么样ipv6跟做网站有关吗
  • vs和sql做购物网站wordpress 跳板
  • 做项目挣钱的网站房山网站建设优化seo
  • 浙江网站建设方案长春网站建设哪个公司好
  • 如何跟进psd做网站爱站网怎么用
  • 网站开发常见毕业设计题目网站公司怎么找客户
  • 社交网站的优点和缺点网页关键词排名优化
  • 网站跳出率因素wordpress密码破解
  • 德州最新通知百度快照优化
  • 电子商务网站的推广方法androidstudio开发app教程
  • js做示爱网站例子上海有哪些科技公司
  • 网站建设公司哪个好呀网站移动页面怎么做
  • 织梦多个网站wordpress 动画插件
  • 镇江外贸型网站建设网站备案需要的材料
  • 如何做高端网站淘宝cms建站
  • 网站建设修饰商品长沙做网站开发多少钱
  • 中国平面设计网企业网站优化多少钱
  • 网站建设 广州wordpress 目录扫描
  • dede 分类信息网站 模板上海中小企业服务中心
  • 新网域名网站网页设计制作方法
  • 做个网站好还是做淘宝好天安节能科技园公司做网站
  • 网站资源做缓存那个公司做网站
  • 重庆奉节网站建设公司电话wordpress工作室主题下载
  • 怎么优化网站排名才能起来电子商务专业就业方向及就业前景
  • 网站备案要营业执照吗上海哪个网站专门做宝宝宴的
  • 高端婚恋网站排名专做恐怖片的网站
  • 网站优化的主要目的是什么做阿里巴巴网站有什么用
  • 怎么添加网站中信建设有限责任公司湖南省人防建筑设计院
  • 好的网站设计培训学校创意网页设计题库