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

网站核验单怎么下载建设一个旅游网站毕业设计

网站核验单怎么下载,建设一个旅游网站毕业设计,庞各庄网站建设公司,合肥今天的最新消息目录 需求 需求分析 一、截图控件生成图片 二、将图片保存至本地 2.1 权限 2.2 保存图片 2.3 调用 三、分享 四、通过测试机型 需求 截图当前页面某个控件的内容#xff0c;并且保存在本地#xff0c;可分享。 需求分析 1.截图控件生成图片 2.保存至本地(需考虑版…目录 需求 需求分析 一、截图控件生成图片 二、将图片保存至本地 2.1 权限 2.2 保存图片 2.3 调用 三、分享 四、通过测试机型 需求 截图当前页面某个控件的内容并且保存在本地可分享。 需求分析 1.截图控件生成图片 2.保存至本地(需考虑版本兼容以及权限问题) 3.分享(a.调用系统分享b.自己集成三方SDK) 分析完事咱们根据分析来一步步实现 一、截图控件生成图片 private Runnable toastRunnable  new Runnable() {public void run() {Bitmap bm  Bitmap.createBitmap(ll_dialog.getWidth(), ll_dialog.getHeight(),Bitmap.Config.ARGB_8888);//创建画布Canvas canvas  new Canvas(bm);//View渲染到的画布。ll_dialog.draw(canvas);MLog.e(保存图片);}};1.图片要在页面中加载出来需要获取该控件的宽高。 2.根据空寂那的宽高设置Bitmap的 3.View渲染到的画布,这个时候bm就生成成功了。 二、将图片保存至本地 保存图片的方式根据「版本和权限」分为两种 Android Q(Android 10) 以上 1、保存到应用的内部存储空间 内部存储 2、保存到 Android 系统设置的共享存储空间外部储存 Android Q(Android 10) 以下 获取外部存储目录(本文用的是这个) 函数使用getExternalStorageDirectory() 获取外部存储公共目录 函数使用getExternalStoragePublicDirectory() 图片包括照片和屏幕截图存储在 DCIM/ 或 Pictures/ 目录。 2.1 权限 「Android Q不再需要申请文件读写权限」默认可以读写自己沙盒文件和公共媒体文件。所以Q以上不需要再动态申请文件读写权限。 所以我们只需要兼容10以下的权限申请即可。 public class PerUtils {public static int REQUEST_CODE_WRITE  1001;//校验权限public static boolean checkPerWRITE(Activity activity) {if (Build.VERSION.SDK_INT  Build.VERSION_CODES.R) {return true;} else {String[] permissions  {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};for (String str : permissions) {if (activity.checkSelfPermission(str) ! PackageManager.PERMISSION_GRANTED) {activity.requestPermissions(permissions, REQUEST_CODE_WRITE);return false;}}}return true;}/*** 检测请求结果码判定是否授权** param grantResults* return*/public static boolean checkPermissionResult(int[] grantResults) {if (grantResults ! null) {for (int result : grantResults) {if (result ! PackageManager.PERMISSION_GRANTED) {return false;}}}return true;} } Activity.class调用 if (PerUtils.checkPerWRITE(Activity.this)){saveBitmap();}Overridepublic void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);try {if (requestCode  PerUtils.REQUEST_CODE_WRITE) {if (PerUtils.checkPermissionResult(grantResults)) {//授权成功saveBitmap();}else{//授权失败}}} catch (Exception e) {}} 2.2 保存图片 import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; import android.os.Build; import android.os.Environment; import android.provider.MediaStore; import android.util.Log;import androidx.annotation.RequiresApi;import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream;public class ShareImageUtils {// Android Q 以上RequiresApi(api  Build.VERSION_CODES.Q)public static String saveQUp(Bitmap image, Context context, String fileName, int quality) {// 文件夹路径String imageSaveFilePath  Environment.DIRECTORY_DCIM  File.separator;MLog.e(TAG, 文件夹目录    imageSaveFilePath);File filePath  new File(imageSaveFilePath);if (!filePath.exists()) {filePath.mkdirs();}// 文件名字MLog.e(TAG, 文件名字    fileName);ContentValues contentValues  new ContentValues();contentValues.put(MediaStore.MediaColumns.TITLE, fileName);contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, fileName);contentValues.put(MediaStore.MediaColumns.MIME_TYPE, image/jpeg);contentValues.put(MediaStore.MediaColumns.DATE_TAKEN, fileName);//该媒体项在存储设备中的相对路径该媒体项将在其中保留contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, imageSaveFilePath);Uri uri  null;OutputStream outputStream  null;ContentResolver localContentResolver  context.getContentResolver();try {uri  localContentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);outputStream  localContentResolver.openOutputStream(uri);// Bitmap图片保存image.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);outputStream.flush();outputStream.close();return getRealPathFromURI(uri);} catch (Exception e) {e.printStackTrace();if (uri ! null) {localContentResolver.delete(uri, null, null);}return ;} finally {image.recycle();try {if (outputStream ! null) {outputStream.close();}} catch (IOException e) {e.printStackTrace();}}}//根据Uri获取路径private static String getRealPathFromURI(Uri contentURI) {String result;Cursor cursor  MyApp.getAppContext().getContentResolver().query(contentURI, null, null, null, null);if (cursor  null) { // Source is Dropbox or other similar local file pathresult  contentURI.getPath();} else {cursor.moveToFirst();int idx  cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);result  cursor.getString(idx);cursor.close();}return result;}// Android Q 以下public static String saveQNext(Bitmap image, Context context, String fileName, int quality) {String path  Environment.getExternalStorageDirectory().getAbsolutePath()  File.separator;Log.i(TAG, saveQNext:    path);File filePath  new File(path);if (!filePath.exists()) {filePath.mkdirs();}// 文件名称Log.i(TAG, saveQNext:   fileName);File file  new File(path, fileName);try {FileOutputStream fos  new FileOutputStream(file);// 通过io流的方式来压缩保存图片image.compress(Bitmap.CompressFormat.JPEG, quality, fos);fos.flush();fos.close();// 保存图片后发送广播通知更新数据库不更新数据库不会立即显示Uri uri  Uri.fromFile(file);context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));return getRealPathFromURI(uri);} catch (IOException e) {e.printStackTrace();return ;}} }            如此便将生成的Bitmap保存在本地了。 2.3 调用 String fileName  System.currentTimeMillis()  .jpg;String path  ;//根据版本使用不同的方法if (Build.VERSION.SDK_INT  Build.VERSION_CODES.Q) {path  ShareImageUtils.saveQUp(bm, mContext, fileName, 100);} else {path  ShareImageUtils.saveQNext(bm, mContext, fileName, 100);}if (!MStringUtils.isNullOrEmpty(path)) {//保存成功} else {//保存失败}三、分享 调用系统图片进行分享 //由文件得到uriUri imageUri  Uri.fromFile(new File(path));MLog.e(share, uri:  path);Intent shareIntent  new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);shareIntent.setType(image/*);mContext.startActivity(Intent.createChooser(shareIntent, Share));四、通过测试机型 1.Android 13 三星 2.Android 12 小米 K40 3.Android 7.1 模拟器 4.鸿蒙2.0系统 华为Play
http://wiki.neutronadmin.com/news/117088/

相关文章:

  • 上海网站建设服务宁德北京官方seo搜索引擎优化推荐
  • 域名解析后网站怎么建设旅游网站开发背景论文
  • 哪些网站可以做淘宝推广有没人做阿里巴巴网站维护的
  • 音乐网站设计外国河南省做网站的企业
  • 自己网站怎么做百度优化网络推广公司服务内容
  • 网站自响应苍南规划建设局网站
  • 查询网站空间的服务商wordpress英文企业模板
  • 深圳品牌网站制作自己设计小程序
  • ppt免费下载雷锋网站wordpress 如何发布文章
  • 公司网页网站建设 ppt直通车推广技巧
  • 上传网站根目录潍坊建设gc局网站
  • 新手如何做服装网站晋中网络推广
  • 化妆品可做的团购网站有哪些重庆做网站的网络公司
  • 陕icp网站建设临沂小程序开发公司哪家好
  • 企业网站招聘可以怎么做做网页
  • 大型网站开发语言排名北京做网站比较有名的公司有哪些
  • 广州设计网站培训班国际新闻最新战争消息
  • 重庆网站建设熊掌号小红书搜索优化
  • google网站推广网站后台如何添加附件
  • 石家庄做网站公司汉狮价格sem推广软件哪家好
  • 搜狗搜索排名优化重庆官网优化乐育公司
  • 手机网页设计制作网站图片设计软件免费版
  • 深圳app外包公司排行榜广州网站制作十年乐云seo
  • 网站后台管理系统开发中山网站只设计
  • 做网站的网络公司网站商城具有哪些功能模块
  • 医疗设备网站建设怎么做湖南省建设厅官网查询证书
  • 棋牌游戏网站建设简约大气风格网站模板
  • 石柱网站建设网站怎么做图片动态图片不显示不出来
  • 佛山行业网站设计小学网站建设方案书
  • 商城网站平台访问网站 流程图