- 博客(104)
- 资源 (8)
- 收藏
- 关注
原创 Flutter中使用SVG格式图片的简单教程
导入依赖后,引入SVG文件,使用SvgPicture.asset或SvgPicture.network函数加载SVG。Flutter中可以使用SVG(Scalable Vector Graphics)矢量图形,使得图标和图形的显示更清晰、更流畅,同时也能够减小应用的体积。在Flutter中,可以使用SvgPicture widget 来加载SVG图像。下面是如何在Flutter中使用SVG的简单教程。以上就是使用Flutter中使用SVG的教程。
2023-12-14 21:06:33
1956
原创 一篇文章了解Flutter Json系列化和反序列化
方案二需要添加或者修改字段,添加相关注解,并重新使用命令行生成JSON序列化和反序列化的代码;要在Flutter中解析JSON数据,您可以使用Flutter的内置库。假设您有以下JSON数据(包含JSON数组和数据模型嵌套)方案一需要添加或者修改字段并且手动修改。这个命令会为你的数据模型类生成。默认会生成在模型类的同级目录。
2023-12-14 20:53:14
904
原创 Flutter桌面应用开发之配置Window特性
混入WindowListener->监听Window事件->配置Window关闭按钮可拦截->重写Window的close事件;隐藏原有标题栏->自定义标题栏->调用Window API实现相关API。DragToMoveArea 包裹的区域是支持拖动的。
2023-12-05 23:25:57
732
原创 Flutter桌面应用程序定义系统托盘Tray
它是一个水平的狭长区域,用于显示各种图标和通知,以提供快速访问和操作特定应用程序或系统功能。系统托盘通常包含操作系统或第三方应用程序的图标,这些图标可以显示有关应用程序状态、提醒和通知等信息。系统托盘的设计旨在提供一种方便的方式来管理和访问常用的应用程序和系统功能,以提高用户的工作效率。作为现代操作系统中常见的一个组件,系统托盘能够让用户方便地访问常用的应用程序或者系统功能。Windows平台系统托盘图标需要是以.ico后缀的图片,菜单项图标需要是.bmp后缀的图片,否则图片无法显示;
2023-12-05 23:14:21
1099
原创 Flutter 桌面应用开发之读写Windows注册表
Windows原生开发获取版本号的方法为Flutter提供了指导,只要可以找到读写windows注册表,就可以实现版本号的查询。目前,flutter 已经提供了读写windows注册表的依赖库,很方便我们实现相关功能.打开注册表编辑器,输入"计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion",就可以查看版本号信息。书接上回,毛玻璃效果配置选项依据Windows的版本号而有所不同,那么如何获取Windows的版本号了?
2023-11-27 23:32:02
578
1
原创 Flutter桌面应用开发之毛玻璃效果
毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同时减少细节的清晰度。
2023-11-26 11:15:03
1294
原创 Android Studio:java.lang.ClassNotFoundException: java.lang.reflect.InaccessibleObjectException(已解决)
Android Studio升级到Android Studio Arctic Fox之后,项目报出java.lang.reflect.InaccessibleObjectException。解决方案:将JDK 升级为Android Studio Arctic Fox只带的JDK 11
2021-11-09 22:31:06
3316
原创 Using insecure protocols with repositories(已解决)
1. 异常日志A problem occurred configuring root project 'AIEnglish'.> Could not resolve all dependencies for configuration ':classpath'. > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'm
2021-11-07 12:28:05
3682
原创 获取系统签名APK的签名文件SHA1值
一. 从平板中拉取已安装的apk(1) adb shell pm +包名 获取apk的路径 adb shell pm +包名(2) adb pull apk的路径 PC上apk将要存放的位置 adb pull apk的路径 PC上apk将要存放的位置二. 获取系统签名APK的签名文件SHA1值修改apk后缀为.zip解压文件找到META-INF下面的CERT.RSA文件找出电脑中keytool.exe文件 路径为:Android Studio中AS3.6\jre
2020-08-11 20:26:42
1028
原创 Android 中实现差异化打包权威指南
Android 中实现差异化打包权威指南一.差异化打包的使用场景思考:一个项目为多个不同的渠道商开发,渠道商都要求显示自己的Logo,怎么设计项目结构 ------某个图片资源不同(或者其他的资源不同)如果某一个渠道商表示去掉某一个功能,怎么处理 ------ 某个逻辑判断不同如果某一个渠道商需要添加一个自己的宣传页,怎么处理 ------入口不同如果渠道商的部分页面不同,怎么组织项目 -------存在逻辑和页面不同项目要上线到不同的应用市场,需要统计在不
2020-08-11 20:06:51
1549
原创 Android中隐式调用Service
由于一个程序使用了分包,导致其他应用调用该程序的Service的时候无法直接通过包名来调用这个程序的服务,可以通过以下代码来隐式调用服务1.定义Service<service android:name="com.xxx.service.DownLoadService" android:exported="true"> <intent-filter> <action a.
2020-06-29 21:23:34
1102
原创 在AndroidStudio中使用Git的标记功能Tag必看
在AndroidStudio中使用Git的标记功能Tag必看使用Git进行代码管理的时候,可以借助Tag进行版本管理,便于对特定版本进行处理一. 添加Tag标记方法一:选中项目,右键选择Git->Repository->tag,进入创建Tag页面Current Branch:Tag位于哪个分支Tag Name:Tag名称,关于版本的Tag,统一以V开头,如V1.0.20200624.5Commit:Commit记录号,输入记录号可以验证一下,确保这个提交记录是正确的。如过C
2020-06-29 21:03:55
6074
2
原创 org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V'
org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V’解决方案:The version of gradle in gradle-wrapper.propertiesdoesn`t match the build.gradleof project.You can change onl...
2019-09-03 14:57:56
9226
原创 java.util.ConcurrentModificationException异常处理
异常原因在集合遍历的时候删除元素,造成异常异常代码if (deletedBookId != -1) { val bookList = viewModel.bookList.value if (!bookList.isNullOrEmpty()) { bookList...
2019-08-30 11:00:47
494
原创 java.lang.IllegalArgumentException: navigation destination xxx is unknown to this NavController
java.lang.IllegalArgumentException: navigation destination xxx is unknown to this NavController直接复制我在stackflow中的答案了It occurs to me when I press back button for two times。At frist,I intercept KeyLi...
2019-08-29 17:13:18
3340
原创 Android P访问接口出现异常:CLEARTEXT communication ** not permitted by network security policy
异常信息java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy一.错误原因由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当...
2019-06-25 10:20:40
1464
1
转载 excludeFromRecents须知
android:excludeFromRecents=“true”许多人有个习惯,就是长按android的home键,然后清除刚才看的应用,android:excludeFromRecents="true"这个属性的作用恰恰就是让你在长按home键的时候在弹出的应用列表中隐藏你的应用,达到隐藏应用程序进行的目的。只要在清单文件中需要隐藏的activity处注册即可。在 Android 系统...
2019-06-14 14:32:39
1959
1
原创 Gradle sync failed: Already disposed: Module: 'xxx' (6 s 502 ms)
问题:编译时出现:Gradle sync failed: Already disposed: Module: ‘xxxlibrary’ (6 s 502 ms)解决方案:升级Android Studio版本到最新。本人升级到AS3.5,问题解决。出现这个问题,通过命令行 gradlew build可以编译通过,但是layout的design无法显示...
2019-06-05 10:35:47
1860
原创 Android Studio编译jar架包必看
Android Studio编译jar架包必看公司Unity项目和Android项目交互需要Android端打包一个Jar架包,之前是Eclipse工程的,可以直接导出Jar包 。但是现在Android Studio已经成为Android主流开发工具,所以也有必要把Library项目迁移到AS中。AS中的确没有Jar导出功能,但是通过编译过后的library项目的build中是有jar包的。...
2019-05-25 18:06:11
1621
原创 Android开发异常和处理方案总结
日志简述1. BroadcastReceiver作为内部类时,如要通过静态注册的方式在清单文件中注册,必须要声明为public static,否则会报错:1. BroadcastReceiver作为内部类时,如要通过静态注册的方式在清单文件中注册,必须要声明为public static,否则会报错:Caused by: java.lang.RuntimeException: Unable to...
2019-05-08 17:31:57
2430
原创 Python学习常见错误
1. TypeError: not enough arguments for format stringTypeError: not enough arguments for format string或者TypeError: %d format: a number is required, not str错误代码:def personInfor(name, age, sex=1):...
2019-03-24 17:36:51
703
1
转载 解决Gradle下载架包失败和编译慢的问题
时间就是金钱,所有浪费时间的事情就是遏制你赚钱引言:我们在Android Studio开发过程中,Gradle编译显得尤其重要。特别是我们在下载依赖架包的时候,由于国内“闭关锁国”比较严重,导致下载速度很慢,甚至提示架包找不到,如下面的日志。既然国外的不可靠,国人还是有很多具有当担的人,一如阿里。替换成阿里镜像,就可以完美解决问题。亲测有效Execution failed for tas...
2019-03-22 12:09:53
1639
原创 (Android面试必备 01)计算机中的原码 反码 补码
计算机中的原码 反码 补码一.原码 一个整数的原码就是这个数对应的二进制形式,最高位是符号位,0代表正数,1代表负数二进制算法:短除法,除2取余,其中余数要倒置以10和-10举例【假设计算机字长为8位】:10的原码:0000 1010-10的原码:1000 1010二.反码正数的反码和原码相同;负数的反码,符号位不变,其他每一位进行取反;以10和-10...
2019-02-20 23:44:33
609
转载 安卓ImageView和ImageButton中contentDescription属性的作用详解
在使用ImageView和ImageButton的时候,AS会提醒我们添加contentDescription属性,否则就会有一团黄色的警告。对于一个有强迫症的人来说,这是我所不能允许的,所以就想了解contentDescription的用法和意义。contentDescription主要是为视力有障碍的人增加对控件的解释,如果不想添加该属性,也不想有警告提示,只要添加tools:ignore=...
2018-10-18 14:22:44
5834
原创 ## Android启动第三方APK
1.通过包名启动APP var intent = BaseApplication.mContext.packageManager.getLaunchIntentForPackage(packageName) if (intent != null) { intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK BaseAppli...
2018-09-25 15:43:52
674
原创 Kotlin和Java代码互相转换
Java文件可以直接转换为Kotlin文件,但是Kotlin不能直接转换为Java,需要先转换为Bytecode,然后再将Bytecode转换为Java文件。当然转化后的Java文件会比较冗余,要能够跳过不必要的代码,看到本质问题。通过将Kotlin代码转换为Java,便于我们通过Java的思维去了解Kotlin的实现方式,以及方便我们理解Java在调用Kotlin代码写法的依据以下基...
2018-09-14 23:16:46
3829
原创 Dialog伪装者——ActivityDialog
首先讲一下我实现ActivityDialog的原因:大家知道,只有Activity的Context可以启动Dialog,对于我们在其他无法便捷拿到Activity Context的场景,想使用Dialog是无法实现的.但是人人往往看到的是一个表象,只要可以实现一个Dialog相似的效果,他们都不会怀疑你的,所以我们就来实现一个ActivityDialog 提供一下只有Activ...
2018-08-29 23:32:36
434
原创 浅谈Dagger2 --@Inject @Conponent @Module @Provides
背景技术:在Kotlin中使用Dagger2,虽然Dagger2用法不变,但是代码自动生成插件有所不同一.Dagger2是什么 Dagger2是Dagger的升级版,是一个依赖注入框架,第一代由大名鼎鼎的Square公司共享出来,第二代则是由谷歌接手后推出的,现在由Google接手维护.Dagger2和Dagger1没有严格的继承关系1.依赖注入是什么?依赖注入框...
2018-08-23 20:50:27
2456
1
原创 浮窗中addView()不显示 分析思路
看得到的真相往往可能是骗人的,但是代码不会. 如果程序中出现了”灵异”事件,一定是问题没有分析到位,亦或是分析问题的方向出错 最近在项目中,我需要在一个独立进程的不死服务中打开一个浮窗,但是浮窗不显示.但是在Activity中可以打开浮窗.这是问题的表现,其中不同点是创建WindowManager的Context不同,使用Activity的Context可以,使用Service和A...
2018-08-23 20:07:35
5010
原创 Android Studio升级3.2以后 Androidx 异常总结
一.Android resource linking failed错误日志1Android resource linking failedOutput: error: resource style/Theme.AppCompat.Light.DarkActionBar (aka com.hp.sortfilebysize:style/Theme.AppCompat.Light.Da...
2018-07-19 17:09:20
55618
3
原创 使用CC组件化报错"Could not determine the dependencies of task ':xxxx:compileReleaseJavaWithJavac'."解决方案
错误详情: What went wrong:Could not determine the dependencies of task ':baseres:compileReleaseJavaWithJavac'.> Could not resolve all task dependencies for configuration ':baseres:releaseCompileCla...
2018-07-18 09:09:11
21496
原创 Kotlin 嵌套类和内部类
一.嵌套类嵌套类是什么 嵌套类就是一个类嵌套在另一个类里面 嵌套类的写法 class QianTaoOuter { var className: String = "QianTaoOuter" var classNameLength: Int = 4 class QianTaoInner { var classN...
2018-05-23 00:05:25
1976
转载 Android Studio Java代码报红(所有第三方库引入失败),但可正常运行解决方法(4种方式)
解决各种情况导致的Java代码报红(所有第三方库引入失败),但是可以Build成功,甚至编译APK成功. 解决这个问题我尝试了多种方法,我会优先给出我成功的放案,其他的方案大家也可以尽量尝试,因为导致这个问题的环节可能有多种一.从Android Studio层面解决问题: 删除user目录下.AndroidStudio中的文件关闭AndroidStudio,进入C:\Us...
2018-05-19 17:09:40
10283
3
原创 Kotlin多彩的类——数据类
关键字: data必须有一个构造方法;主构造方法中的属性必须由var/val修饰数据类不能是抽象类、open类、封闭(sealed)类或内部类;不可以继承任何类,但是可以实现接口数据类类似我们Java中Bean类在主构造函数里所声明的所有属性,编译器都会根据这些属性自动生成以下方法:toString,hashCode,equals,其中equals不是比较两个对象的地址,而是比较两个...
2018-05-13 22:43:33
658
原创 Kotlin类的进阶——继承&抽象&重写&重载&接口&扩展
一、继承表示符号 :父类需要用open修饰,默认是用final修饰,不可继承如果需要重写父类的方法和属性,父类的方法和属性也必须使用open修饰;重写关键字override重写属性。子类重写父类属性,只能扩充外部功能,不能减少外部功能。如果父类属性存在getter和setter方法,子类覆盖他的属性也必须有getter和setter方法。即父类属性用var修饰,子类覆盖他的属性不得用...
2018-05-13 22:38:53
2160
原创 Kotlin系列——构造函数精讲
1.关键字:constructor关键字可以省略,但是如果构造函数有注解或可见性修饰符,则关键字不可省,如设置构造函数为私有class Person private constructor(){ lateinit var name: String var age: Int = 0 var parent: Person? = null construc...
2018-05-10 23:31:00
4032
原创 Android&Html5混合开发WebView调试必备神器DevTools
Android开发和Html5开发,对于其对应的专业程序开发人员来说都不是太难.但是对于两者结合的混合开发来说,很多人都望而却步.混合开发其本身并不难,真正让大家不安的是WebView加载H5的异常定位.调试困难症在我们团队出现过,我在面试的过程中也刻意去了解大家对Android中js调试的掌握程度,但现实是:大家都是浅尝辄止,使用最原生的js调用Android方法打印调试信息.这样的调试,...
2018-04-09 19:40:52
22907
33
原创 设置Nexus【Maven】服务器开机自启动
一、设置Nexus【Maven】服务器开机自启动启动Nexus上一篇文档 搭建局域网Maven私服并结合Android Studio实现代码复用 讲述了Maven服务器的搭建,同时讲述了我们必须可以通过nexus.exe /run命令启动Nexus服务器,之后才可以使用Maven服务器。但是接下来我们来思考两个问题:如果我们将Nenus搭建在服务器上,难道每次重启服务器都要通过命令行执行...
2018-04-06 16:34:34
2436
原创 搭建局域网Maven私服并结合Android Studio实现代码复用
每一种技术,每一个框架都不是凭空产生,都是为了解决特定需求.因此使用什么技术取决于我们的需求,作为一个研发人员,我们不仅仅要懂得编码,更要有洞察真实需求的能力. 首先介绍一下我们公司的现状:我们公司有很多APP,每年会优化或者开发5个以上的APP,而这些APP有很多共同的部分,比如一些工具类,自定义UI,视频播放功能等甚至是框架.为了提高整体团队的开发效率,带领大家走出重复造车轮的困局...
2018-04-06 15:29:41
3195
16
原创 微信小程序布局篇课程构思----Position+Flex
简单的回顾屏幕适配 整体观思考布局问题一 Flex布局http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?^%$1.Flex 布局是什么?Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局,行内元素也可以...
2018-03-26 10:40:53
4354
jetifier-standalone.zip
2019-05-10
dagger-androidx.aar
2019-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人