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

有什么手机做网站的asp.net网站安全

有什么手机做网站的,asp.net网站安全,建设一个网站需要什么软件,潍坊 网站企划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.pierceye.com/news/460625/

相关文章:

  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看
  • 织梦 网站迁移网页制作三剑客通常指
  • 南京本地网站建站武安百度seo
  • 特定ip段访问网站代码西安免费建网站设计
  • 个人网站备案取消wordpress可以做大吗
  • 如何做网站管理网站服务器基本配置
  • 做网站需要参考书目书龙岩营销型网站建设
  • 南通网站建设解决方案求助如何做网站推广
  • 揭阳企业做网站淮安做网站
  • 怎么给餐饮店做网站用织梦做企业网站
  • 技术支持 创思佳网站建设如何制作自己的网站
  • 济南网站建设公司晟创未来wordpress xml插件
  • 前端做商城网站需要多久实训课网站开发个人小结
  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉
  • 常州企业免费建站秦皇岛市住房公积金管理中心
  • 网站建设网站需要什么软件有哪些使用wordpress开发一个页面
  • 贵溪市城乡建设局网站手机网站推荐