- 博客(218)
- 资源 (91)
- 收藏
- 关注
原创 android liveData observeForever 与 observe对比
LiveData是一个非常有用的组件,用于在数据变化时通知观察者。LiveDataobserve和。这两种方法在使用场景、生命周期感知以及内存管理等方面有所不同。observe。
2025-04-17 22:57:54
219
原创 android MutableLiveData setValue 响应速速 postValue 快
主线程更新:如果确定更新操作在主线程执行,优先使用setValue以确保数据更新的即时性和响应速度。后台线程更新:如果需要在后台线程中更新LiveData,使用postValue是必要的,尽管会有一定的延迟。性能敏感场景:在性能敏感或对响应速度要求较高的场景下,尽量使用setValue,并确保更新操作在主线程进行。
2025-03-19 22:10:10
170
原创 android 新闻客户端和springboot后台开发-后台代码(五)
android 新闻客户端和springboot后台开发(一)-CSDN博客android 新闻客户端和springboot后台开发(二)-CSDN博客android 新闻客户端和springboot后台开发-网络接口封装(三)-CSDN博客这篇是这个系列最后一篇,看看idea主要的后台代码。后台开发工具- Idea开发工具:2023.3.7- JDK的版本 : jdk-17后台存放新闻数据库,用户注册的数据库。数据库使用的是sqlite数据库。## 环境准备。
2025-03-16 20:43:43
158
原创 android 新闻客户端和springboot后台开发-新闻列表显示(四)
android 新闻客户端和springboot后台开发(一)-CSDN博客android 新闻客户端和springboot后台开发(二)-CSDN博客android 新闻客户端和springboot后台开发-网络接口封装(三)-CSDN博客这篇博文,到了新闻列表接口获取。技术方案使用TabLayout+ViewPager+Fragment显示新闻列表。最上面可以点击切换,中间的fragment也可以滑动切换。新闻列表实现效果如下,好看有整洁。二、实现代码。
2025-03-16 09:00:00
249
原创 android 新闻客户端和springboot后台开发-网络接口封装(三)
1、创建OkHttpClient对象并初始化的封装。在整个项目中我们只需要一个OkHttpClient对象,不同的网络请求只需要创建不同的Requset对象和Call对象。//ip地址,cmd用命令ipconfig看一下,ipv4地址填进去。2、发送网络请求的封装 每次执行网络访问的方法一样 传入的参数不一样 可以修改自己想传入的参数类型。一个注册用户的结构体,通过post方式,把json数据上传。这篇接前面,写android客户端接口这样方面的实现。只要是局域网都行,本地演示的。二、例如注册接口示例。
2025-03-15 09:13:00
298
原创 android 新闻客户端和springboot后台开发(二)
用户和密码输入不能为空,都是本地判断。两次密码输入是否一致,也是本地判断。然后调用注册接口,使用的是okhttp3简单封装,也很好用的。一般都是有标题栏,标题栏有返上一页箭头。然后是输入用户名,密码和确认密码。接上篇写注册界面功能。
2025-03-15 08:52:27
210
原创 android 新闻客户端和springboot后台开发(一)
android 新闻客户端appapp内容:1.创建一个注册页面,包含用户名和密码等输入框,注册成功后跳转到登录页面。2.创建登录页面,包含用户名和密码输入框,登录成功后跳转到主页面。3.主页面是一个新闻资讯类信息页面,采用多控件组合设计页面。4.新闻列表中每个新闻项包含标题、缩略图等信息。5.新闻详情页展示新闻标题、正文内容等。技术能够实现新闻列表的滑动切换,Tab和ViewPager联动.点击Tab也能切换到对应的新闻列表。
2025-03-14 22:18:24
209
原创 android 基于OpenCV4.8微笑检测自动拍照
1、基于OpenCV4.8微笑检测自动拍照存储2、左侧有一个预览小框,有人脸时候会有红色框框。3、当真人入境时候,微笑。相机预览捕捉到了人的微笑,自动拍照保存。opencv库的编译就不说了。android opencv导入进行编译_编译android opencv-CSDN博客。
2025-03-11 21:28:08
477
原创 android studio 使用JDK版本引起的报错
如果在 Bug Database (http://bugs.java.com) 中没有找到该错误, 请通过 Java Bug 报告页 (http://bugreport.java.com) 建立该 Java 编译器 Bug。请在报告中附上您的程序和以下诊断信息。在命令行使用命令:./gradlew compileDebugSources --stacktrace -info。项目当前jdk是1.8,但是报错,遂升级。使用jdk11版本,如果当前不存在的话,直接选择添加,自动下载即可。
2025-03-09 09:36:14
196
原创 Android 调用c++报错 exception of type std::bad_alloc: std::bad_alloc
c++代码long int类型在arm64-v8a 64位上会出现类型异常,也会溢出。long int在armeabi-v7a 32位是正常的。1、修改Android.mk文件配置,添加如下语句LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog。所以arm64-v8a上,c++代码long int类型改成int类型。3、使用方法#define LOG_TAG "debug"升级arm64-v8a编译引起的类型长度溢出的问题。2、在.c文件中修改为如下语句。
2025-03-09 09:35:07
432
原创 idea 创建springboot 项目,连接数据库,后台接口实现
使用spring boot maven方式构建项目真香,不用Tomcat。目前用的是自带的sqlite数据库。如果使用mysql数据库,需要装这个数据库环境,和相关配置。
2025-03-08 10:33:01
551
原创 Android Studio 创建项目同步失败
打开gradle-wrapper.properties这个文件,mirrors.cloud.tencent.com/gradle 替换services.gradle.org/distributions就行。这个版本默认创建时是下载插件gradle-8.0-bin.zip,但是基本都会失败。
2025-03-08 10:20:29
354
原创 非线性优化--NLopt算法(Android版本和Python示例)
通俗一点来说 非线性优化就是求函数的极值。我们想求一个 函数的极值问题的时候,线性函数是最简单的,因为是线性的嘛,单调增或者单调减,那么找到边界就可以求到极值。例如 f(x)=ax+b。但是对于复杂的非线性函数,或者复杂的数学模型,求导很困难或者无法求导的时候怎么求极值呢?那么就出现了很多非线性优化的算法。来解决对于复杂数学模型的求极值的问题。简单的非线性函数也是很容易求得极值的,例如f(x)=x*x.可以通过求导得到极值点,然后求得其极值。1、 COBYLA无导数局部优化算法使用 python版本。
2025-03-06 22:37:18
234
原创 android edittext 防止输入多个小数点或负号
有些英文系统的输入法,或者定制输入法。使用xml限制不了输入多个小数点和多个负号。所以代码来控制。:允许输入正负号;:允许输入小数点;:限制输入的字符为、和。java 代码如下如果是使用 kotlin代码如下:三、结合进行实时校验可以在文本变化时进行更复杂的校验和处理。java代码如下:如果使用kotlin代码:这三种方式一起使用。可以edittext 防止输入多个小数点或负号,可以自定义一个view继承edittext,来方便后面使用。
2025-03-06 22:30:11
458
原创 腾讯云物联网平台(IoT Explorer)设备端使用
sdk里面的地址默认是带着产品ID拼接的,咱们现在中铁没有泛域名解析,要改下这里。把+productID都去掉,然后地址里的.也去掉。json数据里面params里面是自定义参数,外面那一层json是固定的。$thing/up/property/ 代表属性上报。
2025-03-05 21:57:31
369
原创 AES/CBC/PKCS5Padding加密
解密,如果解密报错长度不够,也可以像加密那样自动加上补0长度。但是补的那部分会乱码。红色框里面要值得留意,需要加密字符串不够位数,自动补全。亲测可以用,跟硬件交互一样使用。
2025-03-05 00:08:58
226
原创 Springboot 后台,前端app访问不了,有可能是端口问题
分析如下:我们都知道后台默认端口是8080,那android显示端口是80,那肯定异常。有可能自动分配不了8080端口。这个时候需要android端ip地址加上指定端口8080。1、android前端报错如下。2、接口访问时候,报错信息。
2025-03-04 23:49:37
136
原创 android TabLayout设置tab的时候文字默认居中,选中文字加粗
TabLayout设置tab的时候文字默认居中,在TabLayout布局增加以上代码。tab选中文字加粗,需要重写TabLayout的customview进行设置。
2025-03-03 21:00:40
169
原创 android 横竖屏适配工作总结
3、还可以创建一个values-land资源文件夹,放dimens.xml。这样只要横竖屏布局没有变化,类似于recycleview控件的item布局,只需要修改控件高度和宽度的话。就不需要再创建一个布局在横屏。只需要dimens.xml控制竖屏和横屏控件高度或者宽度。2、最好使用kotlin语言编写和使用viewBinding绑定控件,可以使用?.判空控件是否存在,不至于缺少这个控件时候直接崩溃。1、创建一个横屏文件夹,复制一份竖屏的布局。只要布局id都有,其他想怎么改就怎么修改。项目资源文件夹一览。
2025-03-03 20:51:50
264
原创 android 资源selector写法注意
同样是使用color,但是drawble里面需要</item>标签里面有</shape>标签,shape标签里面可以写背景填充颜色,圆角,边框颜色,边框宽度等等信息,可以使用图片背景等。就是color文件夹和drawble文件夹下面都有一个同名的资源文件。或者drawble文件夹,写法是color资源文件写法。2、res文件夹下面drawble文件夹,放的xml。1、res文件夹下面color文件夹,放的xml。写法是这样的,都是指定color颜色。android 6.0机器上报错。解决办法就是规范写法。
2025-03-02 22:35:31
222
原创 is attempting to register while current state is RESUMED. LifecycleOwners must call register before
出现这个问题场景,activity里面有加载fragment,fragment里面有自定义view,自定义view里面init初始化使用了 registerForActivityResult,然后在注册registerForActivityResult崩溃了。registerForActivityResult需要在activity 的oncreate生命周期里面。如果自定义view里面没有办法注册,那么自定义view里面添加一个fragment,用来注册registerForActivityResult。
2025-03-02 22:28:36
89
原创 android ViewPager 管理 Fragment的预加载onCreate
ViewPager 来管理 Fragment时,adapter放在onViewCreated进行初始化,如果没有切换fragment进行onViewCreated,adapter直接刷新,那么adapter会是空值。因为有些数据需要提前加载,第一个方便后面数据使用,提前初始化。特别是使用 ViewPager 来管理 Fragment,可以通过设置 ViewPager 的 offscreenPageLimit 属性来控制预加载的页面数量。在此处进行数据的预加载相关的操作,例如初始化数据、预加载网络数据等。
2025-02-19 23:05:50
321
原创 kotlin Java 使用ArrayList.add() ,set()前面所有值被 覆盖 的问题
结构体的字段的属性为静态, 意味着该类的所有对象共享同一个属性,所以尽管集合里存的是不同的对象,但是对象的属性还是同一个值 修改其中任何一个,其他的也会“被修改”。使用kotlin语言时候,经常方便写,直接写字段,没有写构造函数。就会容易出现此问题。所以add或者set时候,重新new 一个结构体对象进行添加就可以解决。所以需要写上构造函数,然后重新new 一个对象,防止被修改。
2025-02-19 22:55:56
242
原创 Android - Handler使用post之后,Runnable没有执行
原因: 在主线程new一个Handler的时候,默认使用的是当前线程的Looper,就是系统为我们创建好的MainLooper。所以不需要自己在手动写prepare() 和 loop()函数。如果在子线程中创建了一个Handler,那么就必须做三个操作: prepare()、 loop()、quit()解决办法:只有主线程创建的,remove之后,还可以post。所以留意,new Handler时机,是否在主线程。
2025-02-18 22:49:19
281
原创 is attempting to register while current state is RESUMED. LifecycleOwners must call register before
android 使用kotlin写的自定义view里面的init函数报错如下:is attempting to register while current state is RESUMED. LifecycleOwners must call register before 出现这个问题场景,activity里面有加载fragment,fragment里面有自定义view,自定义view里面init初始化使用了 registerForActivityResult,然后在注册registerForActiv
2025-02-18 22:45:04
194
原创 android 自定义view时钟显示
1、圆形数字显示1到12,有指针,分针,秒针。2、使用自定义view,继承view实现。3、使用attr配置属性。java自定义view。
2025-02-16 23:32:54
300
原创 android 使用百度地图定位和地图显示
1、首先在百度地图开放平台申请应用的key2、引用百度的在线sdk3、manifest设置百度地图的key4、相关权限的申请5、使用百度地图显示,使用gps定位百度地图。以上就是大概的流程。
2025-01-09 23:11:37
516
原创 studio gradle下载失败,项目同步失败,使用国内镜像地址
打开gradle-wrapper.properties这个文件,mirrors.cloud.tencent.com/gradle 替换services.gradle.org/distributions就行。出现类似的问题Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-6.7.1-bin.zip。2、遇到仓库下载失败,换成阿里下载地址。最新的阿里云仓库,下载速度杠杠滴。
2025-01-09 22:41:30
632
原创 android 启动页倒计时页面编写
2、倒计时实现使用CountDownTimer。1、实现5,4,3,2,1启动页倒计时。三、简单的启动页xml文件。二、activity代码。
2025-01-07 23:24:24
490
原创 android ViewPager+Handler实现图片轮播
4、使用Handler的postDelayed定时刷新设置ViewPager第几个图片。1、使用ViewPager控件,写一个ViewPager适配器。搜索框下面的就是viewpage实现的图片轮播实现效果图。3、ViewPager绑定适配器。2、把图片数组放在适配器里面。
2025-01-06 23:21:23
252
原创 android sqlite 数据库简单封装示例(java)
使用单例封装这张表的增删改查,同时转换成字段对应的结构体。这样方便数据管理,插入,查询,更新等操作。首先继承SQLiteOpenHelper 使用sql语句进行创建一张表。sqlite 数据库简单封装示例,使用记事本数据库表进行示例。
2024-12-24 22:56:53
395
原创 android 登录界面编写
4.当前CheckBox控件记住密码勾上时,使用SharedPreferences存储用户名和密码。6.默认用户名和密码admin和admin。当用户名和密码输入都是admin就提示登录成功。5.登录时候使用ProgressDialog登录转圈圈2秒,两秒后显示登录成功。1.实现使用两个EditText输入框输入用户名和密码。2.使用CheckBox控件记住密码功能。3.登录时候,验证用户名和密码是否为空。
2024-12-20 23:29:13
610
原创 android RadioButton + ViewPager+fragment
创建四个fragment代码这里就不贴了。四个fragment还有功能实现。RadioGroup + viewpage + fragment 组合显示导航栏。1、首先主界面的布局控件就是RadioGroup + viewpage。MainActivity代码实现,实现滑动切换,点击导航栏切换。这样式可以统一定义好style样式,直接调用。2、MainActivity实现。首先写一个fragment适配器。
2024-12-19 23:05:17
410
原创 android opencv导入进行编译
导入module模式,选择下载好的sdk,修改module name为OpenCV490。android:text="直方图均衡"那就直接build,运行没再报错,就可以直接引用项目进行测试。android:text="加载"一般报错是gradle版本问题较多。有报错直接解决报错,没报错直接运行成功。
2024-12-17 23:40:02
261
原创 Android 备忘录,记事本程序设计
android备忘录实现,使用ObjectBox数据库框架进行数据存储,增删改查等操作。代码使用kotlin编写。
2023-10-24 21:56:58
1214
原创 adb 运行 rpmbd
5. 最后,使用以下命令在设备上启动 rpmbd: adb shell rpmbd 这样,您就可以在设备上运行 rpmbd 程序了。3. 接下来,使用以下命令将设备上的 rpmbd 程序上传至计算机: adb pull /usr/bin/rpmbd。4. 然后,使用以下命令将 rpmbd 程序移到设备上: adb push rpmbd /usr/bin/rpmbd。在这种情况下,它指的是 MMC 存储器上的 rpmb 分区,其设备文件名为 /dev/mmcblk1rpmb。
2023-06-13 13:46:05
2095
原创 Android /system/etc/init,放到 system 分区启动
2. 将您的 init 文件复制到 /system/etc 目录中。例如,adb push init /system/etc/此时,Android 将在启动时加载您的 init 文件。请注意,修改系统分区上的文件可能会使您的设备变得不稳定。3. 然后,使用以下命令更改文件权限,以便 Android 可以访问该文件: adb shell chmod 644 /system/etc/init。/system/etc/init 文件是 Android 设备启动时加载的服务的配置文件。
2023-06-12 11:46:36
1629
原创 adb 拷贝RPMBD文件 到系统分区
请注意,这需要在设备上具有 root 访问权限才能执行。如果您的设备未 root,则需要获取 root 权限才能运行 rpmbd。1、连接 Android 设备到计算机上,并确保您已启用开发人员选项和 USB 调试功能。3、等待文件传输完成。
2023-06-09 09:59:36
1670
2
android Account账户管理完整代码
2017-08-16
osmdroid 加载geopackage离线底图
2017-07-23
android 模拟位置信息Location使用示例
2017-05-31
android 开源库osmdroid绘制点线面(比例尺,缩小放大,导航图标等)
2017-04-26
android asynctask的fragment更新UI(附线程管理)
2017-04-24
android studio gson插件自动生成实体类
2017-04-17
android studio 编译aidl以及示例demo
2017-03-13
android 使用osmdroid 加载离线map格式数据以及地图网格
2017-02-25
Android 水准仪(方向传感器)
2017-01-23
android 代码主题背景
2017-01-22
android 使用服务读取串口数据实例
2017-01-08
android osmdroid离线加载常用格式
2017-01-03
pc端与android udp 通信实例
2016-12-18
android 使用zxing开源库生成二维码,扫描二维码
2016-09-03
android 开源库上传FTP
2016-07-24
android actionbar网页在线生成资源一份
2016-06-25
viewPageFragment(RadioGroup + viewpage + fragment 组合显示导航栏)
2025-03-19
Android 备忘录,记事本程序设计
2023-10-24
Android 自定义文件路径选择器
2018-08-19
arcgis for Android 100.2 常用测试项目
2018-06-16
proj4j库(Java版本)
2018-04-26
android 生成wifi热点以及扫描连接wifi
2018-02-26
osmdroid 在线加载谷歌瓦片
2017-12-22
android swig编译工具下载
2017-10-31
android studio 使用NDK和swig编译c++示例
2017-10-30
android 使用Java库xstream示例
2017-10-09
android activity生命周期示例代码
2017-09-21
android usb转串口数据通信示例
2017-09-14
android GreenDao3.2 版本示例程序
2017-09-13
android location 数据标准输出,原始mnea输出和GpsStatus卫星状态的变化
2017-09-05
android location 数据标准输出,原始输出和卫星状态的变化
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人