年度归档: 2022 年

39 篇文章

Android-仿QQ图片识别
一、实现的效果 预览 二、实现 2.1 首先需要拍照或从相册选取图片进行OCR识别 2.1.1 这里使用的是阿里云OCR识别 替换为你申请的AppID即可 // 将图册或拍照获取的图片 转为Base64 (注意图片压缩处理) override suspend fun ocrImage(imgBase64: String): Flow<ApiResult<OcrBean>> { return flow { try{ val ocrBean = RetrofitClient.…
Android-适配文件存储
一、迁移 // 简述步骤 // 对sdcard目录下的文件以及文件夹 批量移动到 当前应用的私有目录下,如:files以及cache目录 二、适配操作 AndroidQ及以上使用 MediaStore操作媒体等文件,并且应用自己文件归类保存在 沙盒目录内 其中注意 Data字段的变化以及操作修改其他应用的权限申请以及捕获SecurityException异常进行用户授权处理 AndroidQ一下就正常文件操作 val appFilePath = getExternalFilesDir(null)…
Android-热修复之Thinker
一、开始配置 项目build.gradle配置 dependencies { // 暂时不能超过4.0.0版本 classpath "com.android.tools.build:gradle:3.5.3" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.tencent.tinker:tinker-patch-gradle-plugin:1.9.14" } App下的bui…
Android-通知栏监听
一、判断应用是否包含监听权限 private fun isEnabled(): Boolean { val pkgName = packageName val flat: String = Settings.Secure.getString(contentResolver, "enabled_notification_listeners") if (!TextUtils.isEmpty(flat)) { val names = flat.split(":".toRegex()).toTypedA…
Python-Beanutiful Soup
(一) 安装 pip install beautifulsoup4 pip install lxml 或 pip install html5lib (二) Tag from bs4 import BeautifulSoup # 直接 .标签 bs4.p # name和attrs两个属性 bs4.p["href"] bs4.p.get("href") # 获取标签内容 bs4.p.string (三) 遍历文档树 直接子节点 .contents .children 属性 # 输出方式为列表 pri…
Python-Selenium使用记录
(一) 启动浏览器 1. 普通启动方式 #!/usr/bin/python3 # encoding:utf-8 from selenium import webdriver #启动Firefox浏览器 #browser = webdriver.Firefox() #启动IE浏览器 #browser = webdriver.Ie() #启动Chrome浏览器 #指定驱动方式启动:webdriver.Chrome(executable_path="D://chromedriver.exe") bro…
Flutter-基类封装
1. 页面基类 支持网络断开后重试、仿Android生命周期 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_basic/flutter_biz_widgets.dart'; import 'package:flutter_basic/flutter_http_dio.dart'; import …