- 博客(20)
- 收藏
- 关注

原创 【开源项目】ChinaAddressCrawler 中国行政区划数据(1980-2023年)采集及转换(Java版),含SQL格式及JSON格式
中国行政区划数据(1980-2023年)采集及转换(Java版),含SQL格式及JSON格式,数据来源于中华人民共和国民政部,包括省、市、县三级数据。
2024-11-27 14:44:08
539
1

原创 【AndroidPicker】停更两年,安卓选择器类库(WheelPicker、DatePicker、AddressPicker、ColorPicker、FilePicker)3.x全新版本重构来袭
[AndroidPicker安卓选择器类库,包括日期及时间选择器(可用于出生日期、营业时间等)、单项选择器(可用于性别、民族、职业、学历、星座等)、二三级联动选择器(可用于车牌号、基金定投日期等)、城市地址选择器(分省级、地市级及区县级)、数字选择器(可用于年龄、身高、体重、温度等)、日历选日期择器(可用于酒店及机票预定日期)、颜色选择器、文件及目录选择器等……WheelPicker/DatePicker/TimePicker/OptionPicker/NumberPicker/LinkagePicker
2021-06-12 23:51:29
2341
19

原创 【Android_CN_OAID】安卓设备唯一标识解决方案,可作为移动安全联盟统一 SDK (miit_mdid_xxx.aar)的替代方案。
安卓设备唯一标识解决方案,可作为移动安全联盟统一 SDK (miit_mdid_xxx.aar)的替代方案。。本项目提供了国内各大手机厂商获取 OAID(开放匿名设备标识)及海外手机平台获取 AAID(安卓广告标识)的便携接口,另外也提供了 IMEI/MEID、AndroidID、WidevineID、PseudoID、GUID 等常见的设备标识的获取方法。
2021-05-21 16:18:53
6016
5

原创 Gradle Sync太慢?你需要使用阿里云仓库服务的代理仓库地址代替jcenter()、mavenCentral()及google()
AliyunGradleConfig在天朝使用jcenter、mavenCentral及google三个远程仓库,Gradle Sync会很慢,goole仓库甚至需要科学上网才能访问。为了加快Gradle Sync速度,一招教你优先用 阿里云仓库服务 的仓库作为下载源。Maven仓库列表 仓库名 简介 实际地址 ...
2019-12-31 09:44:27
7593
2

原创 关于对CC系列知识共享许可证【CC BY-SA 4.0】 的理解及整理
看了CC官网的中文及華語译本,好多地方直译的难以理解,我结合英文原版加上自己的理解做了整理。文章目录CC BY-SA 4.0 License适用范围内容摘要您可以自由地:依据下列条款:声明:如何使用在网站中使用在博客中使用在离线文档中使用在视频中使用附 CC 许可证完整内容CC BY-SA 4.0 License全称为 Creative Commons Attribution-ShareAl...
2019-09-16 19:47:18
19262

原创 折腾记录:WSL(Windows Subsystem for Linux,Windows上的Linux子系统)安装后的环境配置
WSL(Windows Subsystem for Linux,Windows上的Linux子系统)的安装比较简单,教程网上较多,此处略过。安装后须要进行一系列配置(如软件源配置、中文配置、图形化配置、开发环境配置)才能投入使用,以Ubuntu为例(其他Debian、Kali、OpenSUSE等Linux系统也类似)。1、配置中国科学技术大学的软件源Ubuntu自带的软件源天朝访问比较慢,...
2019-05-20 07:29:25
2009
2
原创 Android Studio: CreateProcess error=206 文件名或扩展名太长 解决方案之一
Android Studio 开发安卓项目,每次运行很容易出现 “CreateProcess error=206”的错误,控制台错误消息说是文件名或扩展名太长。这个问题我是使用OpenJDK出现的,找了很多方法没解决,在相当一段时间内只能通过重启Android Studio、或者在应用管理器里强制结束JDK进程才行,后来把Open JDK换成Oracle JDK就好了。...
2021-12-22 17:40:49
3030
2
原创 Android打包APK通用的混淆规则
apply plugin: 'com.android.application'android { //.... buildTypes { release { //.... minifyEnabled true proguardFiles 'proguard-common.pro', 'proguard-rules.pro' //.... } }
2021-05-21 16:31:44
383
原创 Android 项目借用华为、小米、VIVO、OPPO等远程真机调试
对于Android 项目,模拟器不够用怎么办?借用华为、小米、VIVO、OPPO等远程真机调试。免费 华为远程真机云调试 。免费 小米云测平台远程真机租用 。免费 VIVO 云测平台远程真机 。免费 OPPO 云测平台远程真机 。免费 三星远程开发测试平台真机调试 。新人试用 腾讯 WeTest 云真机调试、阿里 EMAS 移动测试远程真机、百度 MTC 远程真机调试、Testin 远程真机测试、AllTesting 真机测试 。...
2021-05-15 10:16:39
2344
2
原创 Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形、平行四边形及椭圆角矩形)等
EnhancedProgressBarAndroid的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形、平行四边形及椭圆角矩形),继承自android.widget.ProgressBar,因此用法和ProgressBar完全一样。接入指引allprojects { repositories { maven { url 'https://www.jitpack.io' } }}dependencies { impl
2021-04-29 11:07:33
541
原创 面向接口编程实施模块化/组件化解耦,以友盟、极光等统计分析为例
模块化/组件化通过模块化/组件化组织代码,面向接口编程,尽可能做到高内聚、低耦合、重复用。模块可分为多种类型,一般分为:基础库(日志打印、网络请求、图片加载等)、三方包(微信登录、统计分析、消息推送等)、业务组件(APP外壳、会员中心、商城等)。常见组件间通信方式:直接依赖(耦合太重,不推荐)、事件或广播(难以溯源,不推荐)、路由(如 ARouter)、面向接口(推荐)。模块化/组件化的优势:结构清晰:业务独立,每个业务作为单独的组件,代码实现分离,不会搅在一起。便于协作:每个开发人员只关
2021-04-25 17:05:55
285
原创 类似于APICloud的H5应用服务端加密客户端动态解密的增强版H5应用加固方案
核心流程客户端随机生成RSA密钥对 -> 发生RSA公钥从服务端获取加密的H5应用包 -> 客户端解压H5包到本地 -> WebView#loadUrl(index.html) -> WebViewClient#shouldInterceptRequest -> html/js/css等资源文件需要解密 -> 拦截解密返回新的WebResourceResponse。注:RSA公钥用于加密H5资源文件所需的对称加密算法密码,RSA私钥则用于解密该密码。对于Android
2020-11-27 10:56:12
643
原创 Android 10 + 适用于国内各大手机厂商的开放匿名设备标识(OAID),若不支持OAID则随机生成一个全局唯一标识(GUID)
源码见:https://github.com/gzu-liyujiang/Android_CN_OAID本项目用于获取国内各大Android手机厂商的开放匿名设备标识(OAID)、遵循谷歌官方使用Android标识符的最佳做法生成全局唯一标识(GUID),基于Get_Oaid_CNAdid作了重构,使用AIDL,增强易用性及健壮性。 DeviceID.with(this).doGet(new IGetter() { @Override .
2020-06-13 16:56:07
6881
原创 安卓 Native+Flutter 应用开发入门资料、亲身实战及踩坑记录
安卓 Native+Flutter 应用开发实战及踩坑记录,练手入门项目:FluLearn入门资料第三方共享包检索(国内)、第三方共享包检索(国外)Flutter开发环境搭建(中文版)、Flutter开发环境搭建(英文版)Flutter官方开发文档(中文版)、Flutter官方开发文档(英文版)Flutter官方API手册(国内)、Flutter官方API手册(国外)Dart与C/C...
2019-12-17 19:28:53
459
原创 关于微信授权获取昵称含Emoji表情引发的乱码问题总结
注:本文首发在微信开房社区(https://developers.weixin.qq.com/community/develop/article/doc/000c84d49d4058d35e99bbaef5b013)做过微信授权的小伙伴都可能会遇到获取用户昵称乱码问题,那是因为微信昵称中的含有SoftBank版本的Emoji表情。如我的微信昵称:微信原始昵称含三种Emoji表情:微信...
2019-12-10 15:02:12
2562
1
原创 Deepin Linux上的Android+Flutter开发环境配置
Deepin Linux上的Android+Flutter开发环境配置在Linux上安装Flutter开发环境,官方教程参见Flutter Get Started,中国用户被墙需额外注意的官方教程参见Using Flutter in China。到深度应用商店安装Android Studio及Genymotion,Android的SDK可指定到$HOME/android-sdk在Andro...
2019-08-31 15:12:24
1295
原创 Intellij IDEA及Android Studio中使用正则表达式批量替换,如版权信息
Intellij IDEA及Android Studio中使用正则表达式批量替换代码作者及创建时间的注释为标准的JavaDoc注释:Edit->Find->Replace In Path... \* Created? by (\w+) on (\d{4}/\d{1,}/\d{1,}[ \d{2}:\d{2}]?)\.? \* Created? by (\w+) on (\d...
2019-04-23 18:17:18
1847
1
原创 退出APP、清空任务栈、杀掉主进程
private static boolean finishAndRemoveAllTasks() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return false; } ActivityManager am = (Activit...
2018-11-12 13:42:51
1776
1
原创 通过反射TabLayout设置下划线宽度,字多宽线就多宽,设置选项之间分割线
/** * 通过反射{@link TabLayout}设置下划线(Indicator)宽度,字多宽线就多宽,参阅 https://blog.csdn.net/waplyj/article/details/81068127 */ public static void setTabLayoutIndicator(final TabLayout tabLayout)...
2018-07-16 17:04:14
1640
原创 已解决:升级到Android Studio 3.1.2, 报错显示mips64el-linux-android-strip找不到
升级到Android Studio 3.1.2版本后,原有的NDK由16升级到17,导致ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip 找不到, 导致编译报错。网上找到的解决办法是删掉NDK或者降级使用16版本的NDK,这其实是治标不治本的...
2018-06-07 09:59:44
4694
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人