- 博客(246)
- 资源 (47)
- 收藏
- 关注
原创 Android 高德地图API(新版)
2020年的时候我写了关于高德地图的使用,在当时你按照文章是没有问题,然而现在到了2024年了,这几年高德的SDK发生了变化,Android Studio发生了变化,不变的是什么呢?就是学校的老师还是让一个没接触过Android的学生去完成相关的功能,定位地图之类的,然后不会怎么办呢?就搜索到我的文章了,一操作发现不对,几百个人问同样的问题,我是真的回答累了,因此我打算重新写一遍,根据最新的内容来写,从内容上和之前的文章大概相同,下面进入正文。
2024-06-07 20:59:53 7951 31
原创 Android 项目Gradle文件讲解(Groovy和Kotlin)
在Android应用开发中,Gradle是很重要的,它关系到你的项目能否正常编译运行,构建APK等等,而随着编辑器的更新,Gradle也发生了一些变化。通过项目编译成apk文件,我们可以修改apk的文件名称,如下所示:Groovy// 自定义打包${variant// 自定义打包 android . applicationVariants . all {Kotlin// 自定义打包${// 自定义打包 android . applicationVariants . all {
2024-05-28 19:30:00 2559 5
原创 Flutter 多语言、主题切换之GetX库
关于GetX库前面我们讲述了状态管理的使用,实际上GetX是非常强大的,功能很多,本篇文章中我们将介绍GetX的多语言切换和主题切换等功能。
2024-03-14 22:30:00 2714
原创 Flutter 数据持久化存储之Hive库
在Flutter中,有多种方式可以进行数据持久化存储。以下是一些常见的方式:使用shared_preferences插件,可以将数据存储在设备的轻量级持久化存储中。这种方式适合存储少量简单的键值对数据,比如用户偏好设置等。文件存储:使用dart:io库可以进行文件存储,可以将数据以文件的形式存储在设备上。这种方式适合存储结构化数据,可以使用JSON格式或者其他格式进行数据的读写。SQLite数据库:可以使用sqflite插件在Flutter应用中使用SQLite数据库。
2024-02-24 09:00:00 2461 2
原创 Flutter 状态管理之GetX库
Flutter使用的是声明式UI,是通过状态去更新UI组件的,因此我们首先就要学习状态的使用。同样为了简化原本的状态使用,我们会使用Getx库。
2024-01-22 20:00:00 2473 2
原创 Harmony Ble蓝牙App(四)描述符
上一篇中了解了特性和属性,同时显示设备蓝牙服务下的特性和属性,本文中就需要来使用这些特性和属性来完成一些功能。
2024-01-20 22:30:00 1073
原创 带着思考与突破前行
本是萍水相逢,帮你是勤奋,不帮你是本分。从初学者到初学者,意思是在刚接触Android应用开发的时候,我是初学者的身份,再接触Android系统驱动开发的时候,我依然是初学者,驱动开发作为我这一年的主要工作,期间当然也是穿插着一些应用开发,但是让我成长最多的还是驱动开发,从这里就了解了很多之前不曾接触的知识点,从最开始的工作站搭建,Android源码编译,到后面的驱动源码研读、更改、再编译,期间报错无数,我也尝试过放弃这个东西,可是放弃是最容易的事情啊,那只能说明我只是个不过如此的程序员而已。
2023-12-31 09:00:00 989 3
原创 Harmony Ble蓝牙App(三)特性和属性
在上一篇中我们完成了连接和发现服务两个动作,那么再发现服务之后要做什么呢?发现服务只是让你知道设备有什么服务,可以做什么事情。
2023-12-04 20:00:00 721
原创 Harmony Ble蓝牙App(二)连接与发现服务
在上一篇中我们进行扫描设备的处理,本文中进行连接和发现服务的数据处理,运行效果图如下所示: 现在我们在扫描设备,选中一个设备进入,下面要对选中的设备进行处理,首先我们来做连接。 在之前我们写了一个BleCore,这里面是对扫描的封装,那么对于连接来说我们同样可以封装到这里,我们可以在中写一个 类,继承自, 代码如下所示: 因为本文要做的事情是连接和发现服务,所以我们就先重写这两个方法,注意一点的是,蓝牙的操作都是在子线程中进行的,如果我们需要知道当前是否连接,则需要写一个接口用于回调到中,在包
2023-11-23 20:00:00 604 2
原创 Harmony Ble 蓝牙App (一)扫描
关于Android的低功耗蓝牙,我做了很多介绍了,那么对于Harmony来说这一块我没有做过介绍,而实际中我确实做过一个Harmony的BLE项目,所以这里分享一些内容出来。//蓝牙设备真实名称//地址//信号强度//设备if (name!= null ||!这个Bean没有什么好说的,下面要做的就是列表Item的渲染,在Android中我们使用的是适配器Adapter,而在Harmony中使用的是提供者Provider。
2023-11-20 21:15:00 998
原创 Harmony 应用开发的知识储备
这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知道一些关于Harmony应用开发的相关知识。
2023-11-10 17:25:43 1094 1
原创 Harmony 个人中心(页面交互、跳转、导航、容器组件)
今天是1024,祝各位程序员们,钱多事少离家近,不秃也强bug黄。在上一篇文章中,我们了解了DevEco Studio的主推开发语言ArkTS,并写了一个简单的例子,本文我们将学习另外一个例子来加深我们对于鸿蒙应用开发的理解。
2023-10-24 21:30:00 4240 1
原创 Harmony ArkTS语言
说到ArkTS就得说一下的演变过程,在我写一篇关于鸿蒙的文章时,才刚推出不久,当时所支持的语言是Java、JS、C++等,在后续的版本中逐渐去掉了Java,C++,最终使用到了ArkTS,那么我们下面来了解一下ArkTS的由来。
2023-10-11 20:00:00 4064 11
原创 Android Ble蓝牙App(七)扫描过滤
在上一篇文章中了解了MTU的相关知识以及对于设备操作信息的展示,本篇文章中将增加扫描设备的过滤功能让你更方便的扫描想要找的低功耗蓝牙设备。
2023-09-06 19:00:00 2116
原创 Android Ble蓝牙App(六)请求MTU与显示设备信息
在上一篇文章中已经了解了数据操作的方式,而数据交互的字节长度取决于我们手机与蓝牙设备的最大支持长度。
2023-08-17 18:16:44 3542 3
原创 Android Ble蓝牙App(五)数据操作
关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了,而下面就是使用这些知识进行数据的读取、写入、通知等操作。
2023-08-14 20:15:00 4710 6
原创 Android Ble蓝牙App(四)UI优化和描述符
上一篇中了解了特性和属性,同时显示设备蓝牙服务下的特性和属性,本文中就需要来使用这些特性和属性来完成一些功能。
2023-08-14 20:00:00 1314
原创 Android Ble蓝牙App(三)特性和属性
在上一篇中我们完成了连接和发现服务两个动作,那么再发现服务之后要做什么呢?发现服务只是让你知道设备有什么服务,可以做什么事情。
2023-08-07 18:55:05 2626
原创 Android Ble蓝牙App(二)连接与发现服务
在上一篇中我们进行扫描设备的处理,本文中进行连接和发现服务的数据处理,运行效果图如下所示: 现在我们从MainActivity进入到ScanActivity,选中一个设备返回到MainActivity,下面要对选中的设备进行处理,首先我们来做连接。 在之前我们写了一个BleCore,这里面是对扫描的封装,那么对于连接来说我们同样可以封装到这里,我们可以在BleCore中写一个BleGattCallback 类,代码如下所示: 因为本文要做的事情是连接和发现服务,所以我们就先重写这两个函数,注意
2023-08-04 22:00:00 2960 2
原创 Android Ble蓝牙App(一)扫描
关于低功耗的蓝牙介绍我已经做过很多了,只不过很多人不是奔着学习的目的去的,拿着源码就去运行,后面又发现连接设备后马上断开,然后不会自己看问题,这个现象就是快餐式的,你不了解里面的知识内容,自然就不知道是怎么回事,重复的问题我回答了好多次了。而我也是觉得写的有问题,本意上来说我是希望读者可以参考来写,能看一看文章内容,而结果绝大多数,看个标题看个运行效果,下载源码就运行,运行有问题就问你,没有什么思考。 针对这个情况,我决定做了系列性的Ble蓝牙App,尽可能的避免在你运行的时候出现bug,所以这是一
2023-07-31 22:15:00 5510 8
原创 Android 编译Android7.0版本源码
首先说说为什么要编译Android7.0的源码,因为当我们去做系统定制开发的时候,就需要这么去做,举个例子,你们公司有一个客户是做电视机顶盒的,现在购买了你们公司的产品,要求你们公司提供相关的Android系统驱动,类似音频驱动、视频驱动之类的文件,能让这个文件再客户的机顶盒上正常使用,针对这个问题我们要怎么做呢?
2023-06-28 17:53:48 1736 13
原创 Android 自定义View 之 Dialog弹窗
在日常开发中用到弹窗是比较多的,常用于提示作用,比如错误操作提示,余额不足提示,退出登录提示等,还有用于数据展示的弹窗,上拉弹窗等等,主要为了简化在日常开发中的使用。 Android中的Dialog弹窗是一种用于展示特定信息或者在用户需要进行某些操作时才显示的窗口。Dialog弹窗可以分为系统提供的常规Dialog弹窗和自定义Dialog弹窗。 常规Dialog弹窗包括AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog等,这些Di
2023-06-12 22:30:00 11829 2
原创 Android 自定义View 之 饼状进度条
前面写了圆环进度条,这次我们来写一个饼状进度条,首先看一下效果图: 效果图感觉怎么样呢?下面我们来实现这个自定义View,依然是写在EasyView这个项目中,这是一个自定义View库,我会把自己写的自定义View都放在里面,文中如果代码不是很全的话,你可以找到文章最后的源码去查看,话不多说,我们开始吧。 根据上面的效果图,我们首先来确定XML中的属性样式,在attrs.xml中添加如下代码: 这里的公共属性我就抽离了出来,因为之前写过圆环进度条,有一些属性是可以通用的,并且我在饼状进度条中增
2023-06-01 21:45:00 2000
原创 Android 自定义View 之 简易输入框
在日常工作开发中,我们时长会遇到各种各样的需求,不部分需求是可以通过Android 原生的View来解决,而有一些是无法解决的,这时候我们就需要自定义View,我们先来看看本文中这个自定义View的演示效果图。 依然在EasyView中进行创建,在下新建一个,继承自 ,实现里面的构造方法。然后我们继承自,重写里面的构造方法,代码如下:下面就可以增加样式了。 在设置样式之前需要先知道我们的自定义View要做什么,这是一个简易输入框,可以用来做验证码输入或者密码输入,输入框4~6个,主要就是数字输入,
2023-05-05 22:45:00 2879 2
原创 Android 项目编译 Gradle 配置说明
Android 的Gradle版本更新换代还是很快的,更新换代除了功能上变得强大之外,还会出现很多意料之外的Bug,而很多开发者会被折磨的死去活来,下面我们来看有哪些编译配置。
2023-04-21 21:15:00 3390 2
原创 Android 自定义开源库 EasyView
这里使用了MacAddressEditText的所有属性,可以自行进行设置,使用说明参考下表。属性说明设置输入框的背景颜色设置输入框的边框颜色设置输入框的边框大小设置输入框大小Mac地址的分隔符,例如分号:设置输入框文字颜色设置输入框文字大小这里使用了MacAddressEditText的所有属性,可以自行进行设置,使用说明参考下表。属性说明最大进度当前进度进度条背景颜色进度颜色app:radius半径,用于设置圆环的大小进度条大小app:text进度条中心文字。
2023-04-18 12:30:00 1368
原创 Android 自定义View 之 计时文字
在Android开发中,常常会有计时的一些操作,例如收验证码的时候倒计时,秒表的计时等等,于是我就有了一个写自定义View的想法,本文效果图。
2023-04-14 22:15:00 1030 1
原创 Android 自定义View 之 圆环进度条
很多时候我们会使用进度条,而Android默认的进度条是长条的,从左至右。而在日常开发中,有时候UI为了让页面更美观,就需要用到圆环进度条,那么本文就是通过自定义写一个圆环进度条,首先看一下效果图: 关于自定义View的基础知识就不再做过多的讲解了,我们直接进入正题,这一次我们不需要再去创建项目了,就用我之前创建的EasyView。 根据上面的效果图,我们首先来确定XML中的属性样式,修改attrs.xml的代码如下所示: 这里你会发现一个改变,那就是文字颜色和文字大小的属性从之前的中抽出来了,
2023-04-14 22:00:00 2710
原创 Android 自定义View 之 Mac地址输入框
在日常工作开发中,我们时长会遇到各种各样的需求,不部分需求是可以通过Android 原生的View来解决,而有一些是无法解决的,这时候我们就需要自定义View,我们先来看看本文中这个自定义View的演示效果图。 在了解自定义View之前,我们先了解什么是View,View就是视图,再通俗一点就是你在手机上所看到的内容,假设我们创建了一个项目,算了,我们真的去创建一个项目,创建一个名为EasyView的项目。 项目创建好之后,看一下activity_main.xml,我们能看到什么?白色的背景,中间有
2023-03-24 19:00:00 1495
原创 四年时光,恍如昨日
我不是喜欢评论的人,我也比较少评论,但是我博客的每一条评论我都会去看,有提问题的我会解答,鼓励的,我会共勉,有活动,让我帮忙点5星,以前我会出于情面上,回个5星,现在不会了,随便吧,这些东西并不重要,但是有人会趋之若鹜,沉迷其中,短暂的荣誉能带来什么,我不禁反思自己,虽然我不知道我在反思什么,因为我没有荣誉,没有荣誉的人需要去反思,这是一种黑色幽默。人都会有惰性,我时常会一边想着不写了,就这样吧,一边又想着这样我就废了,脑海里有两个小人在对峙,对峙的时候我就想娱乐一下,听音乐、看电影、打羽毛球。
2023-02-24 14:46:25 1087 10
原创 Android MVI框架搭建与使用
有一段时间没有去写过框架了,最近新的框架MVI,其实出来有一段时间了,只不过大部分项目还没有切换过去,对于公司的老项目来说,之前的MVC、MVP也能用,没有替换的必要,而对于新建的项目来说还是可以替换成功MVVM、MVI等框架的。
2023-02-10 22:15:00 3614 1
原创 Android WIFI使用简述
随着Android版本的更新,目前最新的版本是Android 13,并且已经有部分国产手机更新了此版本,对于Android开发者来说,变化其实不那么大,而对于本文章来说就有一些变化。 在Android 12版本中,增加了对于蓝牙操作的动态权限,而在Android 13中,增加了对于WIFI操作的动态权限,日常工作生活中,我们用到WIFI功能是很多的,例如手机、电脑、电视等设备。而使用WIFI是一回事,WIFI开发又是另一回事,和蓝牙是一个道理,它们之间也有很多相似的地方。 首先创建项目,这里我使用的
2023-02-06 22:15:00 5032 8
原创 Android Studio Electric Eel | 2022.1.1 版本
各位读者,新年快乐,现在是2023年了,新的一年,我们的开发也会焕然一新,Android开发的工具Android Studio,也能更新到了,短期内我将使用此版本学习和开发。
2023-01-29 22:00:00 10761 18
原创 Android 12 蓝牙适配 Java版
本身已经写过一篇关于蓝牙适配的文章了,不过因为是Kotlin,很多读者看不懂,对此我深感无奈,一开始也没有想过再写Java版本的,但是后面发现看不懂的越来越多了,我意识到不对劲了,因此我觉得再写一个Java版本的。 在Android系统版本中,蓝牙的变化有,但是不多,这里简要说明一下。 在Android12.0中新增加了三个运行时权限,我们依次来说明一下,这里我们依然创建一个项目来说明,新建一个Android12Bluetooth-Java项目,如下图所示:点击Finish,完成项目的创建。然后
2023-01-06 21:00:00 5800 20
原创 带着选择与坚持前行
今年是写博客的第四年了,也是我从事Android开发的第四年,每一年的心态都会发生变化。今年的行情貌似也不太好,很多毕业生找不到心仪的工作选择培训或者转行的,但其实很多的都是被现代社会影响了,并不是没有工作机会,只不过是门槛相比之前要高了,面试造火箭,入职拧螺丝,虽然很现实,但很明显你需要花更多时间在学习上面,而不只是为了完成任务。 什么是完成任务?就是你拿到一个项目,自己做的时候没有思考,所有代码都是Ctrl + C,Ctrl + V完成的,只有改一下项目名称,一旦遇到一点问题,天就塌了,急得如同热
2022-12-31 12:30:00 918 4
原创 Android 编译C++
在开发过程中,有一些底层库,算法、加解密之类的功能,不是用Java写的,而是C或者C++,而我们需要在Android工程中调用C/C++的函数达到理想的要求,那么这个时候你就需要知道怎么使用它们。
2022-11-18 21:30:00 5613 8
原创 Android 组件化(二)注解与注解处理器、组件通讯
在上一篇文章中,我们完成了组件的创建、gradle统一管理、组件模式管理和切换,那么这一篇文章,我们需要做的就是组件之间的通讯了。
2022-11-15 23:45:00 2221 4
原创 Android 组件化(一)项目模式管理、模式切换
在进行安装开发的时候我们经常会对项目进行不同业务逻辑处理分包,例如专门处理网络、数据库、业务逻辑代码的,如果我们不分包则所有东西写在一起,势必在开发过程中会浪费很多时间在寻找文件上,而分包的思想源于模块化,例如一些utils类,专门放到一个包下面,这样在使用的时候就能很快找到。节省开发时间,降低后期维护成本,那么组件化是什么? 在上面我们提到模块化,可以根据不同的功能进行进一步的封装,放到一个新建的模块下面,例如登录注册模块,个人中心模块之类的,但是模块化时就会涉及到一个分体,不同模块之间存在业务逻辑
2022-11-14 23:45:00 2438
原创 Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife
最近发现这个项目好似迎来了第二春,GitHub上的Start和Fork增加的很快,我的猜测是学生在通过这个项目来学习和完成自己的作业。随着Android版本的更新,Android Studio的更新,项目中一些内容不能在新版本中很好的使用,甚至出现编译不了的情况,这对我来说没啥,但是对于拿到项目满心欢喜的学生来说,运行不了,无疑是致命的,而我写在项目Readme下面我将演示一下怎么在本地运行这个项目的代码。
2022-11-06 00:53:53 4581 18
Android MVVM框架使用(十三)UI更新 (App启动白屏优化、适配Android10.0深色模式)
2022-03-14
GoodWeather-master.zip
2021-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人