Android开发中的点点滴滴
文章平均质量分 53
早起的年轻人
先后从事在 java EE 领域、Android开发架构领域、iOS开发领域、小程序开发领域、前端开发、产品设计领域、项目管理学领域等,并在大量的实践中积累了丰富的经验,也形成了一套完整的移动互联网开发解决方案
在各大技术社区刊登技约1000多篇术分享文章,同时录制了发布了多个Flutter从简到详系列的视频教程以及Android 、iOS、微信小程序系列视频教程
2021年出版《Flutter组件精讲与实战》清华大学出版社出版、《Flutter 实战应用开发》机械工业出版社出版
2022年出版《Flutter深度探索企业应用开发》清华大学出版社出版、《鸿蒙OS应用实战》机械工业出版社出版
展开
-
Android 备案公钥、签名 MD5获取方法
公钥和 MD5 值可以通过安卓开发工具、Keytool、Jadx-GUI 等多种工具获取,本文以 jadx-gui 为例。原创 2023-10-24 16:03:10 · 2093 阅读 · 0 评论 -
Android Live Edit 给 Android开发者带来的福音
在Windows 或者 Linux 中,设置菜单 File > Settings > Editor > Live Edit.在 macOS 中, Android Studio > Settings > Editor > Live Edit.此功能最大限度地减少了编写和构建应用程序之间的上下文切换,让开发者专注于编写代码更长时间而不会中断。Android Live Edit 是一个允许开发者实时更新模拟器和物理设备中的可组合内容的功能。微信公众号【biglead】的每日提醒 随时随记 每日积累。原创 2023-10-02 15:36:24 · 443 阅读 · 0 评论 -
android.app.RemoteServiceException: Bad notification for startForeground
解决方法是 在 Android 8.0上 创建一个 NotificationChannel,代码如下。原创 2023-04-26 17:16:15 · 2438 阅读 · 0 评论 -
Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851)
堆指针在最高有效字节 (MSB) 中有一个非零标记。错误地使用指针的应用(包括修改 MSB 的应用),现在会导致崩溃或其他问题。原创 2023-02-08 19:13:25 · 1237 阅读 · 0 评论 -
Android 悬浮窗延时5秒返回APP问题
Android中点击悬浮窗上的按键没有立即返回APP,而是需要延时一段时间才会启动。原创 2022-12-07 21:21:05 · 2229 阅读 · 0 评论 -
Android Studio gradle配置项 packagingOptions说明 Android打包so库重复问题
在安卓开发中,通常会使用到gradle来编译,在安卓项目的app目录下的build.gradle中是用来对编译进行配置的,packagingOptions 是其中的一个打包配置,常见的设置项有exclude、pickFirst、doNotStrip、merge。原创 2022-11-16 19:30:00 · 1328 阅读 · 0 评论 -
Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义
手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位。原创 2022-11-07 13:49:54 · 3001 阅读 · 0 评论 -
Serialzable和Parcelable的区别?Bunder传递对象为什么需要序列化?
Serializable和Parcelable接口可以完成对象的序列化的过程,当我们需要通过Intent和Binder传输数据时就需要使用Parcelable或者Serializable,有时候我们还需要把对象持久化到存储设备上或者通过网络传输给其他客户端,这个时候也需要使用Seriazable来完成对象的持久化.序列化后的对象可以在网络、IPC(比如启动另一个进程的Activity、Service和Reciver)之间进行传输,也可以存储到本地。原创 2022-10-26 16:36:07 · 513 阅读 · 0 评论 -
Exception in thread “main“ java.util.zip.ZipException: zip END header not found
Android 、Flutter 在打包或者运行的时候报错原创 2022-06-10 08:48:19 · 9009 阅读 · 1 评论 -
Android获取所有Activity
1 方式一 public void getAllActivity() { PackageManager packageManager = getPackageManager(); PackageInfo packageInfo = null; try { packageInfo = packageManager.getPackageInfo( getPackageName(), Packa原创 2022-02-24 15:39:12 · 3799 阅读 · 1 评论 -
Android Intent的作用是什么
android 中下列属于Intent的作用的是()A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作正确答案是 CAndroid中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Inten原创 2022-01-25 15:07:47 · 4995 阅读 · 0 评论 -
Android RecyclerView 列表加载图片宽高适配
图片的宽度为手机屏幕宽度,高度自适应adapter item布局<ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" android:adjustViewBounds="true"/>Android里ImageView的ScaleType属性,这个属性决定了一张图片如何显示在Image原创 2021-09-29 12:25:41 · 1202 阅读 · 0 评论 -
Android ContextCompat 使用详解
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。Flutter 从入门 到精通系列文章在这里系列学习教程在这里ContextCompat 可以理解为是封装了 Context 的一些便捷方法,如加.原创 2021-09-22 00:17:58 · 3500 阅读 · 0 评论 -
Android RecyclerView 滑动到指定位置 RecyclerView 滑动到顶部
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。Flutter 从入门 到精通系列文章在这里系列学习教程在这里在 Anddroid 中,RecyclerView可以用来实现 列表 、九宫格、瀑布.原创 2021-09-15 17:05:30 · 1345 阅读 · 0 评论 -
Android LayoutInflater 使用详解 View.inflate 的加载原理
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。Flutter 从入门 到精通系列文章在这里系列学习教程在这里LayoutInflater 是用来将 layout.xml 布局文件添加到指定 V.原创 2021-09-13 13:46:43 · 733 阅读 · 0 评论 -
Android 动态权限申请 BaseActivity 封装 拨打电话
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。Flutter 从入门 到精通系列文章在这里当然也必需是要有源码的 在这里了github 有点慢 不妨来看看码云的源码吧系列学习教程在这里BaseA.原创 2021-09-11 21:01:47 · 525 阅读 · 0 评论 -
Android 11 无法调起微信支付解决方案
Android 11 加强了隐私保护策略,软件包可见性 ,将会导致第三方应用通过微信OpenSDK的接口无法正常拉起微信当 targetSdkVersion=30 时会出现这个问题,解决方案第一步 Android Studio 需要升级至 3.3 及以上第二步 Android SDK Build-Tools 需要升级至 30 及以上版本第三步 com.android.tools.build:gradle 需要升级至 3.6.0 版本,建议升级至最新的 3.6.4 版本第四步 And原创 2021-07-07 16:38:24 · 3292 阅读 · 2 评论 -
Android ViewPropertyAnimator 属性动画概述
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。ViewPropertyAnimator通过View类的animate()方法来获取,是在Android 3.1系统上新增的一个方法基本使用代码如下://这里的 mImageView 就是执行动画的.原创 2021-05-29 19:06:15 · 832 阅读 · 1 评论 -
Android 透明动画实现 详细概述
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。首页是有一个 Activitypublic class AlphaAnimationActivity extends AppCompatActivity { private ImageView mIma.原创 2021-05-18 13:20:19 · 1628 阅读 · 1 评论 -
Android 帧动画 xml 方式实现
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。将一组动作相近的图片组合在一起,然后按照一定的时间来播放,就会形成一个动画,我们可以称之为帧动画。在 Android 中可通过结合 xml 的方式来轻松实现。1 创建 xml 动画文件在 Android .原创 2021-05-17 14:43:29 · 1071 阅读 · 0 评论 -
Android 手机震动提示效果 Android Vibrator 手机震动
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。如果你有兴趣可以关注一下公众号 biglead 来获取更多分享内容。1 清单文件中添加权限在清单文件 AndroidManifest.xml 中添加权限如下<uses-permission android:name="android.permission.VIBRATE".原创 2021-05-13 14:43:35 · 1535 阅读 · 0 评论 -
数据算法排序之归并排序
在你渐渐迷失在你的人生道路上的时候,千万不要因为走的太久,而忘记了我们为什么出发,做码农,也要清楚自己如何才能用有效的土地种植出 出色的产品,于是细节就需要把握一下。如果你有兴趣可以关注一下公众号 biglead 我的大前端生涯,获取每日学习资料排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序(可以进行比较,例如整数,浮点数,字符串等)(增加,非递减,递减, 增加,词典等)。有许多不同的排序算法,每个都有其自身的优点和局限性引用于 https://visual.原创 2021-05-10 14:47:34 · 1039 阅读 · 0 评论 -
时间复杂度O(1) O(n) O(logn) O(nlogn)是什么意思?
在你渐渐迷失在你的人生道路上的时候,千万不要因为走的太久,而忘记了我们为什么出发,做码农,也要清楚自己如何才能用有效的土地种植出 出色的产品,于是细节就需要把握一下。如果你有兴趣可以关注一下公众号 biglead 我的大前端生涯,获取每日学习资料在描述算法复杂度时,经常用到O(1), O(n), O(logn), O(nlogn)来表示对应复杂度程度,可以用于表示时间复杂度,也用于表示空间复杂度。类别描述O(1)耗时与输入数据量大小无关O(n)数据量增大几倍,耗时也.原创 2021-05-10 13:34:49 · 5223 阅读 · 0 评论 -
Android 雪花飘落动画效果 自定义View
本文章使用 自定义View 结合画布实现的绘画动画效果。在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹原创 2020-11-30 07:50:49 · 1122 阅读 · 0 评论 -
Java8 日期时间的操作技巧
在 Java 8 中 推出了LocalDate、LocalTime、LocalDateTime这个三个时间处理类,以此来弥补之前的日期时间类的不足,简化日期时间的操作。原创 2020-09-26 16:01:53 · 1301 阅读 · 0 评论 -
Android Activity与Fragment之间的传值概述
Activity 与 Fragment 之间进行数据传递是,在Activity中将要传递的数据封装在 Bundle中,然后在 Activity 中使用 Fragment 的实例通过 setArgument(Bundel bundel) 方法绑定传递,在要传递到的Fragment中 使用this.getArgment(),得到传递到的Bundle,从而获取到传递原创 2020-09-08 12:56:44 · 2148 阅读 · 0 评论 -
Android自定义控件系列--Path综述
Android自定义控件系列–Path综述Path中文 释义为路径 然而它在自定义控件中却有着神一样的着色,这个神,是创造神奇效果的意思1 Path 的创建Path path = new Path();2 Path绘制单纯的直线2-1 从默认开始//操作一path.lineTo(100,100);//操作二path.lineTo(200,400);canvas.drawPath(path,原创 2017-01-14 02:14:12 · 1126 阅读 · 0 评论 -
android 自定义水波纹点击效果Button
当书写button点击选择器 点击效果写的快 吐的时候,不禁来此一篇原创 2017-01-10 21:16:21 · 3347 阅读 · 0 评论 -
ios图片轮播 (基础篇——UIScrollView实现方式)
人生不发返程的车票,一旦出发了,决不能返回。 人生只有一次,无悔的人生才是成功的人生,不要期待与奢望 “下一次” 如何。 过去的人生中,我们的路程中可能充满了欢笑与忧伤,而在我们当下,却是永远的记忆。 在人生的不同的阶段,我们常常会听到许多人说着这样的话。原创 2016-11-01 01:01:59 · 3900 阅读 · 0 评论 -
IOS-—UICollectionView使用综述(二 )(基础篇--画廊展示图片,瀑布流展示图片)
1.UICollectionView实现画廊方式浏览图片2.UICollectionView 实现瀑布流方式浏览图片原创 2016-10-05 12:34:09 · 1425 阅读 · 0 评论 -
IOS-—UICollectionView使用综述(一 )(基础篇--垂直列表方式,横向相册方式)
1、storyboard与自定义cell方式实现2、storyboard与自定义xib方式实现3、代码方式创建 UICollectionView 与 自定义Cell4、UICollectionViewController方式来实现视图的横向滑动原创 2016-10-05 01:39:26 · 2894 阅读 · 0 评论 -
Android研发中对String的思考(源码分析)
String源码分析2.6 通过 unicode数组来构造String2.7 将字节数组构建为String2.8 将字节数组中的一部分数据构建为String3.3 获取字符串中指定角标字符的Unicode编码 3.11 比较字符串 到指定的CharSequence 序列是否相同3.12 感觉无力的 copyValueOf方法3.15 比较两个字符串中的内容是否相同3.16 获取String默认格式下的字节编码3.17 获取String指定编码格式下的字节数组 3.18 将String 中原创 2016-09-22 00:07:07 · 4120 阅读 · 3 评论 -
IOS开发中的弹框综述
题记——人生在世,淡定看世界。感受生活,从不说疲惫,因为卡里的存款还不够。体验生活,不说难受,因为肩上的责任不能丢。感悟生活,不说退后,因为脚下的道路还得走。1、弹框效果预览:2、IOS 中弹框的几种方式 方式一 UIAlertView方式二 UIAlertController 3、UIAlertView方式综述 3-1、 显示基原创 2016-09-14 00:42:40 · 1512 阅读 · 0 评论 -
Android多线程操作——线程池管理综述
1 前言android开发,大家最熟悉的肯定是主线程,也就是ui线程,也都知道在非ui线程更新界面会报错提示不允许在子线程更新ui。但是耗时操作还是需要使用子线程,如:new Thread(new Runnable() { @Override public void run() { // 耗时任务 }}).start();这种写法感觉简单便捷...原创 2016-07-24 04:58:44 · 3117 阅读 · 0 评论 -
Retrofit网络请求框架使用简析——Android网络请求框架(四)
4. Post请求提交参数形式为Key - Value 5.Post提交JSON数据到服务器6.上传单个文件(这里上传的是图片)7.上传多个文件:8.其他原创 2016-07-03 02:24:19 · 2740 阅读 · 0 评论 -
Volley网络请求框架简析——Android网络请求框架(三)
1.Volley的GET请求2.Volley的Post请求3.Volley的ImageRequest加载图片请求4.Volley的ImageLoader加载图片请求5.Volley的NetWorkImageView加载图片使用6.Volley提交JSON数据原创 2016-07-02 00:37:42 · 7324 阅读 · 1 评论 -
NoHttp使用简析——Android网络请求框架(二)
Nohttp 的Post请求,加载图片,下载文件,上传文件原创 2016-06-30 14:40:21 · 2145 阅读 · 1 评论 -
Okhttp使用简析——Android网络请求框架(一)
慢慢地,我们都会变老,从起点走向终点,自然而必然,成长的途中,匆匆而又忙忙,跌跌而又撞撞,奔波而双小心,劳累而又费心,一生,留下什么,又得到什么,人生的脆弱和坚强都超乎自己的想象,看淡心境,终会秀丽。原创 2016-06-28 09:21:10 · 977 阅读 · 0 评论 -
Android疯狂ListView之旅 第一季 《侧滑删除条目》
第一季:《侧滑弹框删除条目操作ListView》第二季 《分组显示数据的ListView>第三季:《自定义下拉刷新操作ListView》原创 2016-06-03 13:16:51 · 1321 阅读 · 0 评论 -
Android多种样式的进度条
1. 水平向右的进度条2.水平向左加载的进度条3.水平两端的加载进度条4.通过自定义View的方式来使用5.绘制基础使用6.绘制动态的时钟---- The mark of the immature man is that he wants to die nobly for a causer while the mark of the mature man is that he wants to live humbly for one 1-1 定义显示进度指示的图形 draw原创 2016-04-26 16:46:35 · 16880 阅读 · 1 评论