自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (6)
  • 收藏
  • 关注

原创 VMware导入vmdk文件(亲测有效)

8、根据机器的内存选择虚拟机分配的内存,建议20GB及以上,如果机器内存不够32G,那么虚拟机就分配机器内存的60%3、硬件兼容性:默认选择最新的行,因为和本地安装的vmware版本有关,这里演示的版本是:VMware。7、根据cpu的数量和每个cpu的内核数选择,建议cpu的数量为机器cpu数量的50%13、新建虚拟机向导,点击浏览按钮,选择后缀为vmdk的文件,然后点击下一步。11、磁盘类型默认选择SCST(S),点击下一步。6、修改虚拟机的名称,不修改的点击下一步。19、点击开启次虚拟机,流程完毕。

2023-03-15 14:22:09 24738

原创 (亲测有效)VMware ubuntu虚拟机扩容

5、点击开启此虚拟机-》登录-》桌面右键-》打开终端-》输入这个命令安装磁盘管理工具。20、选中文件系统为linux-swap的位置,点击右键-》启用交换空间。7、选中文件系统为linux-swap的位置,点击右键-》禁用交换空间。21、选中文件系统为linux-swap的位置,点击右键-》点击信息。25、打开文件管理器-》计算器-》空白的地方-》鼠标右键-》属性。8、选中文件系统为linux-swap的位置,点击右键-》删除。13、选中文件系统为未分配的位置,点击右键-》新建。

2023-03-10 17:58:21 6589 6

原创 oracle vm virtualbox 磁盘扩容(亲自测试有效)

oracle vm virtualbox 磁盘扩容

2022-05-10 10:31:25 4445

原创 okdownload介绍

OkDownload是一个android下载框架,FileDownloader的升级版本,也称FileDownloader2;是一个支持多线程,多任务,断点续传,可靠,灵活,高性能以及强大的下载引擎,由于版本之间有代码差异,我们基于1.0.2版本做介绍。1. 对比FileDownloader的优势单元测试覆盖率很高,从而保证框架的可靠性。 简单...

2018-05-16 10:06:42 25398 9

原创 Gson转unicode编码和数字采用科学计数法的解决方式

/不转unicode编码+数字类型不采用科学计数方式显示。

2024-04-10 19:48:58 98

原创 openhomeny鸿蒙arkts笔记

7、ArrayList类没有get方法的问题,直接用List类代替ArrayList,他们是独立的2个类,没有实现关系了。6、class Test前面不要加public,默认就是public。4、int,float,double等用number代替。2、Exception用Error代替。5、要给其他类应用需要export出去。1、final用readonly代替。3、String用string代替。

2024-04-09 14:45:02 147 1

原创 openhomeny鸿蒙调用so示例(亲测有效)

oh-package.json5:提供so名称和jni文件的配置。2.9、运行到模拟器之后的效果,点击我调用so api。2.7、如何引用so的api,打开Index.ets。2.5、选择entry,鼠标右键,创建libs目录。CMakeLists.txt:提供编译so的配置。1.2、选择Native C++,点击Next。2、在新项目如何引用so并调用对应的api。index.d.ts:提供jni接口的定义。2.1、如何引用编译成功的so。

2024-04-09 10:24:27 460

原创 Android release 混淆编译 private、protected自动变public问题解决

用assembleRelease编译aar的时候,成员变量private、protected自动变public;用assembleDebug编译aar,则正常,于是对比了build.gradle,发现debug没启用混淆,4、把编译后的aar拖到studio,一切正常。3、重新执行assembleRelease编译。release版本启动了混淆。

2024-03-26 21:03:04 227

原创 Android Studio 导出JavaDoc文档

命令行参数增加:-J-Duser.language=en -J-Duser.country=US -encoding UTF-8 -charset UTF-8。

2024-03-13 17:24:37 265

原创 svg渲染右上角缺少一个角或者下方被裁切

MathJax渲染一个文本或者公式,然后输出svg,再把svg按照一个的缩放比例转换成bitmap,发现放大后的bitmap显示不全,3、原因就是第2步,svg的viewBox属性不够导致,通过js动态扩展修改宽和高来增加可视区域,这个时候缩放就正常了。document.body.appendChild(svg.outerHTML) //svg原图。1、在android里面定义一个webview,加载一个html页面,在页面里面加载。2、定义方法。

2024-03-07 10:29:56 340

原创 android解析ttf文件,获取文件的所有字符

自定义解析ttf文件,得到头部和文件的左右字符信息,可用于windows+java+android等平台。

2024-02-02 15:07:05 316

原创 (亲测有效)VMware Windows虚拟机扩容

4、等待成功后,这个时候只是分配160GB的扩展空间,但是虚拟机里面的磁盘空间还没增加,如要做如下操作。VMware安装了一个windows系统,现在windows系统剩余空间不足,需要扩容。5、点击开启此虚拟机-》登录-》我的电脑-》右键-》管理-》磁盘管理。7、打开我的电脑查看,C盘已经扩容完毕。3、输入最大磁盘大小-》点击扩展。2、点击编辑虚拟机设置-》扩展。6、一直点击到完成即可。

2023-11-20 14:32:16 2514 2

原创 android MediaStore.ACTION_IMAGE_CAPTURE 调用照相机返回图片太小问题解决方法

LogUtil.e(">>>>>>>>>>>>", "获取图片旋转的角度报错:" + e.message)调用上面的方法,照相成功之后返回的图片只有300多像素,是被压缩过的,我们需要获取原始图片。4、依赖的xml文件,创建file_paths.xml到res的xml目录。//根据业务逻辑来处理这个photoRotationBitmap。3、定义ImageFileProvider。//得到旋转后的图片。5、UI那边实现这个方法。

2023-11-13 10:57:23 658

原创 android隐藏输入法的一些尝试,最后一个可行

结论:看了实现逻辑,是通过判断那些区域的view可以展示,其他区域则隐藏,依然用到getCurrentFocus()和KeyboardUtils.hideSoftInput(this),符合自己开发的页面,不符合当前是输入法的情况使用。结论:没有效果,CustIMS.getWindow().getOwnerActivity().getCurrentFocus() 空指针。结论:可以关闭,但是关闭后,再次点击焦点无法在此调起,只有切换焦点才可以。结论:view就是点击的view对象,没有效果。

2023-11-03 10:27:39 445

原创 Android Google登录并获取token(亲测有效)

背景:Android 需要用到Google的登录授权,用去token给到服务器,服务器再通过token去获取用户信息,实现第三方登录。我们通过登录之后的email来获取token,不需要server_clientId;如果用server_clientId还需要在google的控制台配置测试的账号,否则登录的时候会返回错误码10.实现步骤:1、 手机或者Pad连接可以访问google的网络2、最外层的build.gradle增加依赖app下的build.gradle增加依赖。

2023-11-01 16:57:34 1436

原创 android 点9记录

记录一个9点的4个边作用,左上表示拉伸的区域,需要2边都有黑点,如果只有一边,运行起来会有奇怪的投影,右边和下边默认拉满即可。

2023-09-18 16:39:56 94

原创 Android 官方屏幕适配之ScreenMatch

2.2 screenMatch.properties,base_dp=414 为手机的设计稿为准,平板的宽度在蓝湖上要转换成414,和手机保持一致;1.2 screenMatch.properties,base_dp=414 (414为设计稿的宽度)2.3 然后就可以根据各自的设计稿设计,程序运行时候动态判断要加载那个layout文件。最好的适配效果是第2种,但是都需要开发2套UI,工作量大,要求不高的按照第1套来就行,2.4 生成的dimens.xml按照默认的生产,尽量全,不要删除。

2023-09-12 19:50:57 463

原创 android 输入法demo(支持输入图片)

对于丰富的内容(例如图像),应用程序必须构建无法在其他应用程序中使用的特定于应用程序的 API,或者使用解决方法,例如通过轻松共享操作或剪贴板发送图像。此示例演示如何编写一个应用程序,该应用程序接受使用 Commit Content API 从键盘发送的丰富内容(例如图像)。需要手动去输入法里面激活输入法+切换输入法,然后要找个可以支持粘贴图片的控件才可以用,比如app版本的word等。通过此 API,您可以构建从任何键盘接受丰富内容的消息应用程序,以及可以向任何应用程序发送丰富内容的键盘。

2023-08-29 14:13:20 603

原创 Android ClipboardManager 复制图片到剪贴板+从剪贴板粘贴图片的实现(亲测有效)

场景:如标题所述,需要把图片复制到剪贴板,在另外一个程序里面(如word),通过剪贴板粘贴的方式来获取图片。4、把uri放到剪贴板里面,这个uri哪里来的,请看第5步的android:authorities节点的值。1、获取ClipboardManager对象。2、图片使用自己存在的替换。3、保存图片到文件地址。

2023-08-25 11:48:48 847

原创 admob设置app-ads.txt(亲测有效)

admob的网站-》应用菜单-》查看所有应用,app-ads.txt,看到最下面的列表提示,点击最后面的下拉箭头,点击验证按钮,效果如下:(注意:需要先把app上架到google play并审核通过,在play商店可以正常下载,具体看11步骤), 到此流程结束。9、登录google play,点击应用 -> 查看应用 -> 商店发布 -> 商店设置 -> 商品详情中的详细联系信息, 点击后面的修改按钮,输入第7步骤的地址,注意:不要携带app-ads.txt。登录后,创建一个应用demo。

2023-08-03 18:09:44 1066

原创 google play 内购和订阅

业务需要对接google play的内购(一次性商品的购买)或者订阅(按月或者按年续费,到期之后可以选择是否自动续费)根据业务场景,首先确认app是否有自己的服务器,如果有服务看这里,没有服务的请直接看第2点。2.2、googleplay内购+订阅+kotlin语法+单机版本(无服务器)2、如果你的app是单机版应用,没有自己的服务器,请参考如下。+服务器管理订单(需要服务器支持),demo代码请参考这里。1.1、googleplay内购+订阅+1.2、googleplay内购+订阅+

2023-07-13 10:57:17 1156 1

原创 google play更改签名秘钥报错解决(Cannot find any provider supporting RSANE/OAEPWithSHA1AndMGF1Padding)《亲测有效》

5、运行mian方法,成功之后会生成output.zip在当前项目目录下。ExportEncryptedPrivateKeyTool,查找。6、把output.zip上传到google play。2、源码导入IDEA后,搜索文件。

2023-07-11 10:08:51 2213 21

原创 google play应用使用自己的签名(appSigning)

app上传到https://play.google.com/console之后,默认需要使用google推荐的签名,可能会导致应用的一些功能失效;

2023-07-11 09:56:56 1323 1

原创 flutter项目pubspec.yaml和pubspec.lock之间的关系

flutter项目pubspec.yaml和pubspec.lock之间的关系

2023-06-15 15:43:17 436

原创 flutter TextField 不居中问题,亲自测试有效

flutter TextField 不居中问题

2023-06-09 09:21:06 591

原创 aosp12源码编译+刷机

第一次可能会弹出一个界面,让你来解锁设备,然后等手机界面显示之后,按音量键,选择unlock,按下开机键。2、pixel5 的oem已经解锁(O版本可以解锁,M版不可以,具体问卖家,找他帮你解锁,不能解锁的不要)解锁fastboot,注意这里2个解锁的概念(一个是oem锁,一个fastboot锁)命令输入,检查手机连接状态,手机连接到电脑,如果是虚拟机,要保证手机和虚拟机建立连接,然后命令输入。8、等待设备启动,打开设置-》关于界面,效果如下,流程结束。,其他手机请选择对应的手机代号选择对应的数字。

2023-03-21 10:22:53 754 1

原创 aosp源码12.0.0_r1+编译+ 刷机pixel5(亲测有效)

第一次可能会弹出一个界面,让你来解锁设备,然后等手机界面显示之后,按音量键,选择unlock,按下开机键。ixel5 的oem已经解锁(O版本可以解锁,M版不可以,具体问卖家,找他帮你解锁,不能解锁的不要)解锁fastboot,注意这里2个解锁的概念(一个是oem锁,一个fastboot锁)命令输入,检查手机连接状态,手机连接到电脑,如果是虚拟机,要保证手机和虚拟机建立连接,然后命令输入。按照官方的说法,以下这些手机也是支持的,具体没验证过,我们只验证pixel5。12、等待设备启动,效果如下,流程结束。

2023-03-18 18:28:41 1106 3

原创 sqlite中英文混合排序的实现方式参考

1、如果是flutter开发的,在pubspaec.yaml增加 lpinyin: ^2.0.3。项目中有个文件名需要升序和降序排序,数据存储在android项目的sqltie数据库中,设置了。3、执行sql的order by pinyin asc 来执行按照名称升序。4、执行sql的order by pinyin desc 来执行按照名称降序。备注:如果碰到不支持的字符,可以通过增加自定义字典解决。2、如果是android原生开发:参考。

2023-02-13 11:47:14 370

原创 android studio gradle 合并多个aar或者jar为一个aar包

android studio gradle 合并多个aar或者jar为一个aar包

2023-02-09 18:27:44 1761

原创 android r8 代码混淆行数对应不上

keepattributes SourceFile,LineNumberTable,然后编译并安装。app下的proguard-rules.pro文件增加。进入文件夹,双击运行proguardgui.bat。双击头部全屏,否则可能看不到最下面2个操作按钮。按照下图操作即可看到代码的原始行数。解压proguard-7.3.1。)下载在最新的zip。

2023-02-07 18:22:39 265

原创 Could not create task ‘:path_provider_android:generateDebugUnitTestConfig

flutter项目,运行android项目的是提示 Could not create task ':path_provider_android:generateDebugUnitTestConfig。

2022-12-22 10:55:36 3526

原创 【HashMap 笔记】

hashmap

2022-06-26 21:39:54 344

原创 【Ubuntu】开机一直 clean, files, blocks 解决方法(亲自测试有效)

现象:系统是ubuntu20.04,之前一直好好的,突然有一次开机之后显示的分辨率异常,字体偏大,在设置-》显示器-》分辨率,只有 800*600 一种;解决方法:1、sudo apt-get remove nvidia-*2、sudo apt-get autoremove3、sudo nvidia-uninstall(如果失败就跳过)4、sudo apt-get update5、sudo reboot...

2022-05-14 10:34:26 10630 4

原创 记录一个android studio运行不起来问题(亲测有效)

couldn't terminate the existing process forandroid studio 4.13版本 下载地址,zip免安装,解压直接使用https://redirector.gvt1.com/edgedl/android/studio/ide-zips/4.1.3.0/android-studio-ide-201.7199119-windows.zip

2021-11-29 20:33:09 8380

原创 ubuntu下安装watchman(react-native工具)笔记

1、安装依赖(注意,一定要依赖全部安装完毕,否则后面第4步可能会失败)sudo apt-get install git curl gcc g++ make libssl-dev autoconf automake libtool python-devlibboost-all-devsudo apt-get install \ g++ \ cmake \ libboost-all-dev \ libevent-dev \ libdouble-conver...

2021-10-17 12:27:57 574

转载 Activity->Window->View的关系

Activity就像工匠,Window就像是窗户,View就像是窗花,LayoutInflater像剪刀,Xml配置像窗花图纸。Android根据他们不同的职能让他们各斯其活,同时也相互配合展示给我们灵活、精致的界面。详细介绍请见:https://www.jianshu.com/p/5297e307a688...

2018-07-09 15:55:46 122

原创 android事件传递机制,亲测,一图看清所有流程

2018-07-09 10:02:43 286 1

转载 职责链模式

含义顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。应用实例1、红楼梦中的"击鼓传花"。 2、JS 中的事件冒泡。 3、JAVA WEB 中 Apache Tomcat 对 Encoding 的处理,Struts2 的拦截器,jsp ser...

2018-04-23 14:32:56 178

原创 观察者模式

使用场景:当对象间存在一对多关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,则考虑使用观察者模式(Observer Pattern)。设计模式类型:观察者模式属于行为型模式。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。如何解决:使用面向对象技术,可以将这种依赖关系弱化;观察者和被观察者之间依赖Observer接口,不依赖具体...

2018-04-10 10:07:17 95

重新编译的pepk.jar

1、解决googleplay 升级签名的报错,附件是基于源码修改后重新编译的jar,基于jdk11: google play更改签名秘钥报错解决(Cannot find any provider supporting RSANE/OAEPWithSHA1AndMGF1Padding) 2、执行命令: java -jar pepk-src.jar --keystore=test.keystore --alias=test --output=output.zip --include-cert --rsa-aes-encryption --encryption-key-path=encryption_public_key.pem --keystore-pass=123456 3、如果不清楚如何使用的,请参考这个: https://blog.csdn.net/szdenny/article/details/131653858#comments_32025102

2024-04-03

pepk源码,更新google play签名

更新google play签名用到的源码,详细介绍和使用教程请见这里: https://blog.csdn.net/szdenny/article/details/131653858#comments_28381386

2023-08-29

firebase-tools-instant-win.exe

windows登录firebase网站,管理项目的客户端工具。

2023-08-03

googleplay内购+订阅+kotlin语法+单机版本(无服务器)

1、android客户端使用,介绍android如何和google paly通讯的例子。 2、google play内购+订阅,适合没有服务器的情况下,android客户端使用的场景。

2023-07-13

googleplay内购+订阅+java语法+单机版本(无服务器)

1、android客户端使用,介绍android如何和google paly通讯的例子。 2、google play内购+订阅,适合没有服务器的情况下,android客户端使用的场景。

2023-07-13

googleplay内购+订阅+kotlin语法+服务器管理订单(需要服务器支持)

1、android客户端使用,介绍android如何和google paly通讯的例子。 2、google play内购+订阅,订单数据和支付状态通过服务器来管理,适合有自己的账号体系和服务器的情况下使用。

2023-07-13

googleplay内购+订阅+java语法+服务器管理订单(需要服务器支持)

1、android客户端使用,介绍android如何和google paly通讯的例子。 2、google play内购+订阅,订单数据和支付状态通过服务器来管理,适合有自己的账号体系和服务器的情况下使用。

2023-07-13

googleplay管理服务器上的订阅和内购商品(服务器端代码)

1、服务器端代码; 2、googleplay管理服务器上的订阅和内购商品,就是支付的订单信息, 通过和google paly服务器做对接,同时开发接口给自己的app做查询,在服务器管理支付的订单信息,客户端到自己的服务器查询订单和支付结果。

2023-07-13

Android翻页动画效果完整实例代码,零成本接入

一个非常实用的小例子,主要实现了模拟书本翻页的效果,类似常用的电子书阅读软件中的翻页效果。超赞哦。。。。。 已经封装成组件,xml直接引用即可,开发接入零成本。

2023-04-26

多个aar或者jar,打包成一个aar包

多个aar或者jar,打包成一个aar包,亲测有效,不管多少个aar或者jar都可以打包成一个aar包,适合于对第三方提供sdk包的情况。

2023-03-15

Android翻页动画效果完整实例代码

一个非常实用的小例子,主要实现了模拟书本翻页的效果,类似常用的电子书阅读软件中的翻页效果。超赞哦。。。。。 已经封装成组件,xml直接引用即可,开发接入零成本

2021-03-13

解决gradle module不能引用aar问题

我们在开发中,在app下引用aar包能正常识别,但是如果是app下包含module,而module下依赖aar包,则会引用不到,这个demo解决gradle module不能引用aar问题

2018-07-18

职责链模式示例,一看就懂

参考大话设计模式,demo基于一个场景,撰写了由浅到深的代码进阶,包含4个包,逐步递进,对什么情况下该使用职责链模式进行很好的诠释。

2018-04-23

ViewPager实现Gallery

在学习Gallery控件时,IDE提示已经过期,This class is deprecated.This widget is no longer supported. Other horizontally scrolling widgets include HorizontalScrollView and ViewPager from the support library. 这个例子是用ViewPager 来实现Gallery。

2013-01-16

android 焦点图自动切换

android 焦点图自动切换,采用Gallery和ImageSwitcher实现,可以自动和手动来控制焦点图的滚动,修改一下就可以用到项目中了。

2013-01-06

android 焦点图自动切换例子

android 焦点图自动切换例子,项目中用到的例子。采用Gallery和FocusAdapter实现。

2013-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除