
开发技术积累
文章平均质量分 55
张海龙_China
路漫漫其修远兮,吾将上下而求索!Study every day and grow up happily。
GitHub: https://github.com/JasonZhangHG
Google Expert:https://developers.google.com/profile/u/jasonzhang
展开
-
Google Play Console 添加测试账号
Google Play Console 添加测试账号原创 2023-04-20 07:39:51 · 3924 阅读 · 0 评论 -
Android 获取手机语言环境 区分简体和繁体,香港,澳门,台湾繁体
安卓获取系统语言,简体和繁体返回都是zh原创 2023-02-27 13:11:01 · 3142 阅读 · 0 评论 -
解决Build failed:Could not resolve com.android.tools.build:gradle:XXX
Build failed:Could not resolve com.android.tools.build:gradle:原创 2023-02-24 14:56:42 · 22291 阅读 · 5 评论 -
Android马甲包的那些事儿
Android马甲包的那些事儿原创 2023-02-02 16:31:08 · 3776 阅读 · 3 评论 -
Android TextView 加载MarkDown 格式的数据,支持富文本格式
Android TextView 加载MarkDown 格式的数据,支持富文本格式原创 2023-02-02 16:17:29 · 7085 阅读 · 2 评论 -
安卓配置多渠道包error:All flavors must now belong to a named flavor dimension
com.android.builder.errors.EvalIssueException: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html原创 2023-01-29 15:15:53 · 2435 阅读 · 0 评论 -
快速找出Google 商家ID
快速找出Google 商家ID原创 2023-01-17 13:59:38 · 1048 阅读 · 0 评论 -
全面兼容各端的动画库PAG,对标Lottie
全面兼容各端的动画库PAG,对标Lottie动画原创 2023-01-06 21:59:15 · 2916 阅读 · 0 评论 -
移动端 设计师设计APP UI常用软件总结
移动端 设计师设计APP UI常用软件总结原创 2022-12-30 17:24:09 · 1931 阅读 · 2 评论 -
Android APP WebView 为 H5动态授权 H5获取APP权限
Android APP WebView 为 H5动态授权 H5获取APP权限原创 2022-12-30 17:11:04 · 3574 阅读 · 0 评论 -
Android .obb 详解
Android .obb 详解原创 2022-12-23 18:50:55 · 8560 阅读 · 0 评论 -
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specifie
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specifie原创 2022-11-20 15:48:03 · 8013 阅读 · 1 评论 -
Android FaceBook登录 分享获取HashKey(密钥散列)的简单方法
代码执行获取密钥散列:try { int i = 0; PackageInfo info = getPackageManager().getPackageInfo( getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : ...原创 2020-04-07 19:51:26 · 1827 阅读 · 0 评论 -
Room+ViewModel+AsyncListDiffer【android JetPack】
Room+ViewModel+AsyncListDiffer【android JetPack】原创 2022-09-29 17:58:41 · 940 阅读 · 0 评论 -
Room DB Error: AppDatabase_Impl does not exist
Room 报错: AppDatabase_Impl does not exist原创 2022-09-28 14:40:53 · 3110 阅读 · 0 评论 -
马甲包准备材料
马甲包准备材料原创 2022-09-27 10:10:25 · 942 阅读 · 0 评论 -
马甲包分包流程
马甲包分包流程原创 2022-09-27 10:06:06 · 350 阅读 · 0 评论 -
安卓集成Google Play支付(谷歌支付)最新版本
安卓集成Google Play支付最新版本原创 2022-09-21 21:12:08 · 8272 阅读 · 4 评论 -
安卓快速实现流式布局(RecyclerView+ FlexboxLayout)
安卓快速实现流式布局(RecyclerView+ FlexboxLayout)原创 2022-09-16 19:59:37 · 1324 阅读 · 0 评论 -
总结安卓中常用的TextView的样式(SuperTextView)
总结安卓中常用的TextView的样式(SuperTextView)原创 2022-09-09 18:27:19 · 1577 阅读 · 0 评论 -
Android 卸载 App后,再次安装上后SharedPreferences的数据还存在
Android 卸载 App后,再次安装上后SharedPreferences的数据还存在原创 2022-09-09 10:53:50 · 3234 阅读 · 0 评论 -
WebView加载时解决Loading闪烁问题
WebView加载时解决Loading闪烁问题原创 2022-08-12 11:42:00 · 1989 阅读 · 0 评论 -
Naver 三方登录
Naver 三方登录原创 2022-07-26 19:21:55 · 1720 阅读 · 0 评论 -
APP接入Kakaotalk三方登录
APP接入Kakaotalk三方登录原创 2022-07-26 19:19:14 · 2608 阅读 · 0 评论 -
android 播放rtsp流的三种方式
android 播放rtsp流的三种方式原创 2022-07-26 18:52:34 · 5645 阅读 · 3 评论 -
海外 Android 三方应用市场
海外 Android 三方应用市场原创 2022-07-25 12:09:17 · 5720 阅读 · 0 评论 -
Google Play APK 上传其他国际应用商店
Google Play APK 上传其他国际应用商店原创 2022-07-25 12:02:20 · 1323 阅读 · 0 评论 -
RecycleView实现item重叠水平滑动
RecycleView实现item重叠水平滑动原创 2022-07-20 20:02:47 · 779 阅读 · 0 评论 -
GooglePlay二次签名,造成Facebook ,Google 登录失败
原因:因为App上传到Google Play后,Google Play 有个签名的选择,默认是选择Google Play 的二次签名(Play App Signing),所以在开发过程中使用本地的签名文件生成的MD5值和在Key Hashes值就无效了。基于这种情况,一般两种解决方案,Google Play 也给了很明确的说明:一. 将本地的签名更改成Google Play 提供的签名,好处是本地和Google play 线上的统一,方便以后管理,缺点是:之前默认Google 签名的老项目不太好更改了原创 2022-04-27 11:00:49 · 5054 阅读 · 12 评论 -
使用Android 原生 API获取经纬度并且根据经纬度解析出当前具体位置信息
Google developer url:https://developer.android.com/training/location/permissionsDemo GitHbub:https://github.com/JasonZhangHG/LocationUtils.git1.动态获取经纬度权限2.获取经纬度:根据LocationManagerNETWORK_PROVIDER,GPS_PROVIDER,PASSIVE_PROVIDER 去获取 public stat...原创 2022-04-21 17:37:39 · 4547 阅读 · 0 评论 -
安卓:唯一标识符最佳做法
Google developer:https://developer.android.com/training/articles/user-data-ids一般做法:第一种方案也是最官方的:获取安卓唯一deviceId 但是需要一个权限:android.permission.READ_PHONE_STATE第二种方案:新安装上获取 androidId 这个不是绝对唯一的 卸掉重新安装可能会变 (优点:不要任何权限)第三种方案:新安装后生成一个随机的唯一数值,存放在手机SD卡中,当卸掉...原创 2022-04-21 14:06:56 · 2664 阅读 · 0 评论 -
安卓报错:ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version
报错log: ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1ANTLR Tool version 4.5.3 used for code generati原创 2022-04-21 13:42:36 · 2096 阅读 · 1 评论 -
Android Jetpack 之ViewModel
ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。Android 框架可以管理界面控制器(如 Activity 和 Fragment)的生命周期。Android 框架可能会决定销毁或重新创建界面控制器,以响应完全不受您控制的某些用户操作或设备事件。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个 Activity 中包含用户列表。为配置更改重新创建 Acti..原创 2022-03-20 22:11:12 · 281 阅读 · 1 评论 -
Recyclerview 批量更新View:notifyItemRangeInserted、notifyItemRangeRemoved、notifyItemRangeChanged
如果recyclerview绑定了数据,假设数据有变化,我们通常是:notifyDataSetChanged 或者:notifyItemChanged(int position)但如果数据过多notifyDataSetChanged 肯定会消耗一些性能,如果是一次更新多个notifyItemChanged()不行,这个时候用到recyclerview 有一个批量更新的方法notifyItemRangeChanged();Recyclerview的局部刷新功能:从指定位置开始刷新指定个ite.原创 2022-03-14 19:58:45 · 1719 阅读 · 0 评论 -
Android S 12 行为变更:所有应用
Android 12 平台包含一些行为变更,这些变更可能会影响您的应用。以下行为变更将影响在 Android 12 上运行的所有应用,无论采用哪种targetSdkVersion都不例外。您应该测试您的应用,然后根据需要进行修改,以适当地支持这些变更。此外,请务必查看仅影响以 Android 12 为目标平台的应用的行为变更列表。用户体验拉伸滚动效果在搭载 Android 12 及更高版本的设备上,滚动事件的视觉行为发生了变化。在 Android 11 及更低版本中,滚动事件会使视觉..原创 2022-01-28 15:28:29 · 3075 阅读 · 0 评论 -
获取Android签名文件keystore的MD5,SHA1,SHA256
1.第一种方法:使用keytoolkeytool -list -v -keystore + 签名文件比如:keytool -list -v -keystore /Users/jason/Downloads/keystore/test.keystore然后输入密码Password 确认 即可获取到MD5,SHA1,SHA2562.Android Studio Gradle 获取点击Android studio 右上角的Gradle ----->找到项目Run Co...原创 2022-01-28 14:46:53 · 6046 阅读 · 0 评论 -
Mac电脑 Android Studio 4.2+ 出现git 中文出现乱码
Mac 电脑 将Android Studio 版本升级到最新版本:2020.3.1 Patch 。这个时候点击Android Studio的git ---->Log Main 查看git 历史,发现其中一些中文的commit和git user_name 为中文的出现了乱码:看到这种情况很快想到是Android Studio编码方式.,应该是utf-8的编码现在显示正GBK的了,带着问题各种Google,在Stack Overflow上找到了一个简单的解决办法:点击Android...原创 2021-12-16 15:35:55 · 1901 阅读 · 0 评论 -
ViewPager2实现画廊效果执行notifyDataSetChanged后PageTransformer显示异常 界面变形问题
项目中要用到画廊滑动效果,选择了用ViewPager2的CompositePageTransformer去实现, val compositePageTransformer = CompositePageTransformer() compositePageTransformer.addTransformer(MarginPageTransformer(dip2px(20f))) compositePageTransfor...原创 2021-12-09 10:37:38 · 1811 阅读 · 0 评论 -
Android TextView 跑马灯效果和 EditText 冲突解决办法
TextView 跑马灯效果和 EditText 冲突 是由于获取焦点的地方冲突了现象:TextView 跑马灯效果时要获取焦点,EditeText点击获取弹起键盘也会获取焦点,这个时候跑马灯就会停止了????解决办法:将跑马灯TextView 的焦点去掉:android:focusable="false"同时在Java代码中加一行代码:mTextView.setSelected(true);完美解决...原创 2021-12-09 10:13:20 · 2250 阅读 · 1 评论 -
ffmpeg常用命令
1.fmpeg之音频视频合成:ffmpeg -i 音频文件 视频源文件 输出目标MP4文件:例如:ffmpeg -i /Users/jason/Downloads/NewGift/voice.wav -i /Users/jason/Downloads/NewGift/video.mp4 /Users/jason/Downloads/NewGift/last.mp4...原创 2021-11-18 17:33:29 · 2190 阅读 · 0 评论