自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 android蓝牙连接通信的实现

看了很多的博客文章,今天也写一写自己的第一篇博客文章,我只说说如何用,具体实现的原理,原谅我不太清楚,但对于大多数人来说,知道怎么做出来就很不错了哈哈!不多说了,开始吧。首先要知道几个类,BluetoothAdapter,BluetoothGatt,BluetoothDevice,BluetoothCattService,BluetoothCattCharacteristic。第一

2017-12-29 09:38:39 33174 458

原创 Android 自定义坐标曲线图(二)

继上一篇文章,点击点提示信息,不再使用popupwindow或dialog,还是通过自定义,引入xml布局来实现,适合运用到页面只有一个折线图,也适合RecyclerView中出现多个折线图的情况。

2024-03-29 11:10:02 543

原创 Android 自定义坐标曲线图

自定义View,使用paint、point、path、画点、点与点连接成线、然后闭合起来就是一个多边形,画坐标,实现坐标曲线图

2023-11-23 15:34:39 316

原创 JAVA 比较两个区间是否存在交集

最近遇到一个开发问题,判断两个价格的大小,听着很简单,但其实价格是浮动的,也就是说价格是一个范围,比如物品A的价格是5~10,现在我们通过筛选条件,把价格符合在8~20之前的物品筛选出来,很明显物品A是符合这个筛选条件的,因为它的价格可以说8、9、10,完全符合在8~20的范围内。如果按照平常的逻辑,我们需要两层嵌套,外层嵌套式判断筛选的价格情况,是只有最小,只有最大,或者有最小有最大,这三种情况,每一种情况里面又需要对物品的价格三种情况进行区分判断,又是一层嵌套,听着就很麻烦很绕,代码写起来也很冗余。

2023-09-07 17:03:18 871 4

原创 Android webView 实现阻尼回弹效果

ios中对可以滚动的视图都在系统层面上实现了触碰到边缘的阻尼回弹效果,用户一看便知自己的操作已经到了边界。android中也有类似的方案,不过当到达边界的时候不是用阻尼的方式,而是逐渐显示一个渐变颜色。iOS webView默认滑动到顶部或者底部的时候,还可以继续通过手指拉扯滑动,松手后回弹;而Android webView默认是不行的,要实现跟iOS一样的效果,就需要自定义webView。

2023-04-27 11:11:33 595 1

原创 关于调起系统日历预填信息问题

通过这些方法测试,发现在部分手机上出现无法预填信息的情况,及传递的参数在系统日历上无法显示出来。

2022-11-01 10:13:38 301

原创 关于安卓判断通知权限

与相机等权限大体一致,通知权限也是系统权限之一,开启该权限的方法有两种。一种是直接打开app的系统设置页面,找到通知管理,开启通知即可。但是大部分app是会有提醒功能,如果app没有开启通知权限,会弹出一个弹框,引导用户跳转到设置页面去手动开启。

2022-08-22 14:23:30 3090

原创 协程(四)——Android中使用协程

lifecycleScope跟viewModelScope的使用,方法基本跟CoroutineScope一样,只不过是我们不需要去管理它们的生命周期,他们自动绑定了生命周期,当activity、fragment销毁的时候,自动cancel掉。

2022-08-22 11:22:23 1673

原创 协程(三)——协程在并发中的优势

协程异步就是将耗时的函数标记为suspend,并在协程中调用!不需要开启新线程,不会阻塞UI。然后还要再加上一句,用同步的方式去表达异步

2022-08-22 10:26:34 628

原创 协程(二)——kotlin中协程启动的条件

这篇文章我们来讲协程的使用,简单的使用,毕竟协程是一个很强大的设计模式,深入了解需要花很多的时间,我们先从简单开始,其实学会了简单的使用,基本已经可以满足我们平时的开发需要了,话不多说,开始。

2022-08-21 10:26:07 823

原创 协程(一)——什么是协程

Kotlin中的协程提供了一种全新处理并发的方式(无需切换线程),轻量级的线程,可以使用它来简化异步执行的代码,它的目的就是在保证主线程(在Android上就是UI线程)安全的基础上处理耗时任务,协程依赖于线程存在,当线程销毁了,协程也就不存在了。

2022-08-20 21:54:50 505

原创 kotlin 之几个常见的内联函数(六)—— 总结篇

前面花了5篇文章分别讲了5个内联函数的作用及使用方法、使用场景、分别是run函数、let函数、with函数、apply函数、also函数。这几个函数都有相似点,也很好记,但是如果平时用的少,其实也忘记的快,现在kotlin也算很流行了,前段时间我当面试官的时候,也会问到,会不会kotlin,会的话是一个加分项。

2022-08-20 11:15:44 124

原创 kotlin 之几个常见的内联函数(五)

also函数的结构实际上和let很像唯一的区别就是返回值的不一样,let是以闭包的形式返回,返回函数体内最后一行的值,如果最后一行为空就返回一个Unit类型的默认值。而also函数返回的则是传入对象的本身

2022-08-20 11:02:18 205

原创 kotlin 之几个常见的内联函数(四)

从结构上来看apply函数和run函数很像,唯一不同点就是它们各自返回的值不一样,run函数是以闭包形式返回最后一行代码的值,而apply函数的返回的是传入对象的本身。

2022-08-20 10:51:47 292

原创 kotlin 之几个常见的内联函数(三)

适用于let,with函数任何场景。因为run函数是let,with两个函数结合体,准确来说它弥补了let函数在函数体内必须使用it参数替代对象,在run函数中可以像with函数一样可以省略,直接访问实例的公有属性和方法,另一方面它弥补了with函数传入对象判空问题,在run函数中可以像let函数一样做判空处理

2022-08-20 10:38:40 370

原创 kotlin 之几个常见的内联函数(二)

with函数它不是以扩展的形式存在的。它是将某对象作为函数的参数,在函数块内可以通过 this 指代该对象。同时this也可以省略,也就是在函数快里面可以直接使用对象的属性活方法。返回值为函数块的最后一行或指定return表达式。

2022-08-20 10:25:44 321

原创 kotlin 之几个常见的内联函数(一)

kotlin现在是Android 开发的主流语言,因为代码简洁,特别是一些内联函数的使用,跟java的比起来,代码量少却可以实现同样的功能。接下来就来讲讲kotlin中常见的内联函数,他们在功能上,使用上都大同小异。分别是let函数、with函数、run函数、apply函数、also函数。一个一个来讲解。

2022-08-20 10:09:30 678

原创 关于安卓api、implementation、compile的区别

关于依赖第三方库,有三种方式,分别是api、implementation、compile,在同一个module下面,这三种的作用都是一样的,但是在高版本的API中,使用compile会发现,compile被画上了横线,甚至编译不通过,说明在高版本中,compile已经被废弃了。也就是目前来说,只剩下api、implementation。...

2022-08-18 17:12:14 1167

原创 关于安卓项目targetSdkVersion升级到31后报错问题

Android API已经更新到33了,相应的Android系统目前已经出到12了,作为开发者,项目也需要将targetSdkVersion升级到31,毕竟Google play 已经要求上架的APPtargetSdkVersion最低为31。既然升级到31,那么buildToolsVersion也需要跟着更新到31,当我们将targetSdkVersion升级到31的时候,buildToolsVersion也下载到31的版本的时候,会发现项目编译正常,但是运行报错。...

2022-08-18 14:25:03 8298

原创 关于什么是AndroidX(二)

从Android studio 3.4.2开始,新建的项目的已经强制勾选使用Android架构了,对比一下AndroidX项目及非AndroidX项目,很明显可以看到两点不同

2022-08-17 15:33:46 1511

原创 关于什么是AndroidX(一)

那么什么是AndroidX?简单一句话就是,AndroidX是对Android Support Library的一次升级。升级之后怎么样呢?就是我们在开发过程中只需要用AndroidX就行,因为它本身就兼容所有版本,Android每更新一个版本,比如新增的API也会更新到AndroidX中,也就是说AndroidX中及包含了老版本的API,也有新版本的API。...

2022-08-17 15:09:08 2820

原创 关于Android获取网络状态

在开发过程中,有时候需要考虑到网络状态,然后弹出一个提示框,特别是在弱网的情况下,为了更好的用户体验,一般都是需要一个提示页面的。这里面关于网络的判断,包含网络是否可用,超时状态,2G网络、3G网络、是否是wifi状态等。...

2022-08-17 14:12:33 1821

原创 关于Android ViewPager禁止滑动

ViewPager默认是可以手动切换的,实现自动切换,可以通过定时器来完成,而有些时候,我们是需要禁止ViewPager手动切换的,这个时候就需要自定义ViewPager了,其实也很简单,原理就是拦截触摸事件,让ViewPager不处理onTouch事件,直接交给他的子控件去处理就行。...

2022-08-17 11:47:49 5727

原创 关于Android获取屏幕宽高、dp、sp、px之间的转化

开发过程中,动态创建布局,或者自定义view,少不了需要获取屏幕宽高,这里的宽高指手机屏幕的分辨率,单位是px,而我们在布局文件中用到的空间宽高单位是dp,字体用的是sp。这几个计量单位之间,是有关联的,比如dp与px,是通过density来相互转化的,px跟sp则通过scaledDensity来相互转化,类似于小学的除数、被除数、商,三者之间的关系。...

2022-08-15 17:39:26 2111

原创 关于Android 点击防抖动处理

简单的说就是,双击后,逻辑只运行一次,而抖动是,双击之后逻辑运行两次,其实抖动不止两次,也可以是多次,就看段时间内能触发到多少次的问题了。

2022-08-15 17:29:15 2137

原创 关于Android 日历事件的实现

经常购买火车票,机票的同学就知道,当我们买下一张票的时候,票的行程日期会被写入系统日历中,当火车开动或者飞机启航的前30分钟,手机会有提醒信息,这条信息是由系统日历发出的,提醒用户,别错过时间啦。......

2022-08-15 16:37:07 1720 3

原创 关于Android JS与原生的交互

之前发表过一篇关于JS与原生交互的文章,但是采用的是jsbridge来实现的,有兴趣的可以去看看,链接放在下面:

2022-08-15 11:27:49 758

原创 简单讲解Android Fragment(四)

关于Fragment与Activity之间、或Fragment与Frament之间数据的交互其实方法有很多,在开发中其实也经常需要实现交互,比如一个Activity中添加了多个Frament,这些Fragment彼此之间存在数据交互,这种情况也是很常见的,下面列出了一些方法,其实还有很多,仅供参考。...

2022-08-14 21:53:10 145

原创 简单讲解Android Fragment(三)

这篇文章来讲 Frament的管理,管理Fragment,需要用到FragmentManager,通过FragmentManager开始一个契约FragmentTransaction,通过制定契约来实现add()、hide()、replace()、show()、remove()

2022-08-14 21:47:13 1613

原创 简单讲解Android Fragment(二)

Frament的使用分为静态添加与动态添加,在使用的时候可以根据需求不同而选择其中的一个即可。

2022-08-14 11:52:03 206

原创 简单讲解Android Fragment(一)

在Android开发中,最开始我们用的都是四大组件中activity,用来构造各种页面,一个activity就是一个页面,这样子就会造成,在逻辑复杂,页面多的情况下,会出现很多activity,这个时候会增加对activity管理的负担。因此Fragment出现了。...

2022-08-14 11:15:06 751

原创 简单讲解冒泡排序算法

排序算法有很多种,冒泡算是其中最简单的一种,之所以叫冒泡,是因为每一次循环结束,都有一个数(最大或最小)被选择出来,就跟冒泡冒出来一样,所以叫冒泡排序。

2022-08-13 19:10:15 1503

原创 关于将AAB转化为APK

本篇文章主要讲如何将AAB转化为APK,虽然说我们上传到Google Play的AAB,是有Google Play自己去转化为APK给用户下载的,但是作为开发者的我们,也是需要知道应该如何转化的,毕竟我们还是要做测试的,当你拿到一个AAB文件的时候,你得知道如何将它转化成APK,然后安装在手机上,测试需要测试的内容。...

2022-08-13 11:31:30 4611 3

原创 关于Google推出的AAB,你了解多少

AAB是上传到Google Play平台的一种格式,以前应用上架到Google Play,上传的是APK,Google 宣布,从 2021 年 8 月开始,Google Play 商店将要求开发者使用 Android App Bundle(AAB)发布新应用。这将取代 APK 作为标准发布格式。这就是AAB。......

2022-08-13 11:12:03 1478

原创 关于安卓打包脚本aab

关于aab,多少人了解呢,aab是Google 新出一种打包方式,Google 要求,在2021年8月以后,上架Google商场的app,都必须以aab的形式上架,不再采用apk的形式

2022-08-12 10:40:42 830

原创 关于安卓脚本打包apk

推荐使用脚本打包,方便开发者及客户的使用,出错率也很低

2022-08-12 10:18:30 2220

原创 关于Android全局异常捕获的实现

当app遇到某些异常,而且没有Try catch的时候,app会出现奔溃,用户体验极差,在开发过程中还好,我们可以解决问题,但如果是app已经上线了,肯定会收到用户的投诉,所以需要优化,做到即使出现异常,app也不会出现闪退,同时我们也可以知道报的是什么异常,可以在下一个版本解决。...

2022-08-11 17:11:04 2622 3

原创 Android四大组件之BroadcastReceiver(四)

本篇文章从两个方面来讲解如何解决BroadcastReceiver的安全隐患。

2022-08-11 14:05:45 1005

原创 Android四大组件之BroadcastReceiver(三)

上一篇讲了如何动态注册广播、如何静态注册广播,以及两者之间的区别,接下来讲一下有序广播中对广播的拦截、有序广播与标准广播的区别、广播的安全性问题

2022-08-11 11:57:45 171

原创 Android四大组件之BroadcastReceiver(二)

本篇文章重点讲动态注册广播与静态注册广播,以及两者之间的区别

2022-08-11 11:08:06 181

android蓝牙连接通信的实现

通过蓝牙功能与设备进行连接以及获取设备传输过来的数据

2019-02-26

空空如也

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

TA关注的人

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