- 博客(17)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 WebSocket详解(Java后端,基于Springboot)
WebSocket是一种在单个TCP连接上进行全双工通信的协议。这种协议在2011年被IETF定为标准RFC 6455,并由RFC7936补充规范,同时WebSocket API也被W3C定为标准。它使得客户端和服务器之间的数据交换变得更加简单,特别是允许服务端主动向客户端推送数据。实时性更高:WebSocket技术可以实现实时通信,传输数据的延迟更低,因此可以更快地将数据传输到客户端。减少网络带宽的使用:通过建立一个持久化的连接,WebSocket减少了HTTP协议中每次请求和响应所需要的网络带宽。
2024-04-03 15:12:13 3151
原创 Kotlin高阶函数(函数的参数)
Kotlin 中的高阶函数是指那些接受函数作为参数或返回函数的函数。高阶函数为 Kotlin 提供了强大的抽象能力,使我们可以将函数作为参数传递和使用。
2024-03-29 10:14:46 697
原创 Kotlin协程详解
协程的主要特点:非阻塞:协程不会导致线程停下来等待某些条件完成,而是可以在等待时挂起。轻量级:协程的调用和回调的成本很小。可以使用同步的代码来表达异步的操作。suspend:可以挂起函数的执行。resume:可以恢复挂起的函数执行。协程的优点:简化异步编程:使用协程可以避免回调地狱,使代码更易于理解和维护。提高性能:通过减少线程切换的开销,协程可以提高程序的性能。异步边界清晰:使用协程可以更好地管理异步边界,减少潜在的错误。
2024-03-28 09:45:45 347 1
原创 Android中高级成长之路—Hilt组件Java语言(一)
前言在学习今天的Hilt之前,我们要先来聊聊依赖注入。那什么是依赖注入呢?先给大家举一个简单的例子:现在有两个class类,分别是A和B,在A这个类里面我们想使用B这个类里面的成员方法或者是设置B的属性值,我们通常的做法就是在A这个类里面new一个B的对象b,然后根据b这个对象去调用里面的setter方法修改里面的属性值或者是调用b的成员方法。其实我们把这种setter的形式就叫做注入,把这种创建对象的过程叫做依赖关系。常见的依赖注入分为setter注入,构造方法注入,接口注入。那么学习Hilt依赖
2022-06-04 20:39:17 1309 1
原创 记录Android的一个bug
我有一个地图类的app,在滑动地图的时候造成了程序员崩溃,关键是很诡异,没有指出哪一行出错,但就是崩溃了,崩溃日志如下W/System.err: java.io.FileNotFoundException: /data/user/0/com.ex.shuwu/cache/optlist.ser: open failed: ENOENT (No such file or directory)W/System.err: at libcore.io.IoBridge.open(IoBridge.j
2021-05-07 10:29:22 918 1
原创 记录一个关于Android for arcgis的bug
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.esri.arcgisruntime:arcgis-android:100.3.0.Show DetailsAffected Modules: app我下载了公司的一个Android项目,其中关于arcgis的资源文件一直无法下载,最后我直接换了arcgis仓库地址就可以下载资源了。具体代码如下mave.
2020-12-29 09:48:15 264
原创 关于Android UI控件高度和宽度问题
在实际开发中,我们很多时候都需要获取控件高度,因为不同的手机厂商设计的手机屏幕大小不一,不由得让我们去手动适配屏幕。然而网上关于获取控件高度的方法一大堆,我这个方法也不是唯一方法。回归正题,我打算用回调的方式来实现控件的宽高,有兴趣的同学可以试试看。public class ViewUtil { public static void getViewWidth(final View view, final OnViewListener onViewListener) { Vi
2020-12-22 11:06:35 267 1
原创 关于Android数据持久层SQLite数据库中的GreenDao和ROOM的使用
Android系统是目前来说,最热门的系统之一,市场份额高达70%,也就是说,十个人中间,有七个人都在使用Android系统。而数据保存,在Android的开发中显得尤其重要,Android虽然提供了一个轻量级的数据库--SQLite,但是使用起来不是很方便,特别是对于不擅长SQL语句的同学,更是一场极大的考验,从而增加了学习成本。本文将介绍两种操作数据库的第三方组件(GreenDao和Room),供大家学习和参考。
2020-11-09 14:55:06 1590
原创 Android 中retrofit框架的简单使用--kotlin语言
retrofit封装了okhttp,采用注解的模式来实现网络请求,目前来说,是最好用的网络框架之一。首先引入依赖implementation 'com.squareup.retrofit2:retrofit:2.5.0'//Retrofit依赖 implementation 'com.squareup.retrofit2:converter-gson:2.5.0'//可选依赖,解析json字符所用 implementation 'com.squareup.retrofit2:con
2020-11-02 10:00:36 477
原创 使用kotlin语言书写listView和recyclerView,并且使用databinding实现逻辑与视图分离
本文章实现了listView和RecyclerView数据的修改和增加,同时运用了databinding进行数据绑定以及事件绑定先看一张效果图现在就贴上源码首先在app下的build.gradle下添加相关依赖,值得注意的是databinding是添加到android代码段的 //databinding dataBinding { enabled = true }//recycleView implementation 'androidx.
2020-10-28 16:05:26 733 1
原创 android中的lambda表达式编程-----基于Java语言
Lambda表达式是基于函数的编程语言,主要作用于匿名函数,可以大大提高代码的可读性和代码的简洁程度。读音和数学上的λ相同。在Android中的一般写法button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"点击了but
2020-10-15 11:46:55 279
原创 腾讯bugly的使用,以及全局抓包配置
相信在座的各位同学都遇到过程序崩溃的问题,在众多代码中,排查bug是让众多开发者比较头疼的一件事。特别是一些同学刚接手别人的项目时,如果出现bug,简直是一团乱麻,无从下手,加上市面上的机型众多,Android版本不同,出现的问题也不同,所以在下推荐腾讯旗下的bugly,一款可以轻松跟踪bug的在线平台。首先你需要申请一个bugly账号,如果项目需要上架,建议使用公司的账号注册。我们先来配置文件到项目中去吧!由于大部分项目都需要运用其它的sdk,所以推荐自定义配置(官方也是这样的哟)打开app下
2020-10-14 10:44:35 2003
原创 单例模式,android编程和Java编程
在做Java开发过程中,常常使用设计模式会使我们的开发效率大大提高。面试中也常常会问道关于设计模式的相关问题,本文提供Java的一种设计模式《单例模式》。这种模式可用于Java后端和Android开发的一部分同学。所谓单例模式就是在内存中只实例化一个类,对于比较耗内存的类,实例化一次,大大提高了开发的效率。单例模式一共分为两种,分别是懒汉式和饿汉式。懒汉式:优点:第一次调用才开始初始化,避免的内存的消耗。缺点:必须加锁关键字才能保证线程的安全,影响效率public class Sing
2020-09-24 11:26:34 112
原创 全局handler
全局Handler封装,优雅的书写handler的UI刷新界面在Android开发中我们会经常使用handler进行ui界面的刷新,这主要是源于Android的线程机制和消息机制。Android不允许开发者在主线程中刷新ui界面,所以我们会经常用到消息机制,但是频繁的创建handler有可能导致内存泄漏,而且容易造成代码冗余,影响代码质量,所以我们要设置一个全局的handler,通过接口实现来实现ui刷新。请看代码:import android.os.Handler;import andro
2020-09-18 09:49:59 1294 2
原创 利用listView打造层级列表菜单
这是一个层级列表的源码,可以无限打造层级深度1.Node类package com.example.utils;import java.util.ArrayList;import java.util.List;public class Node { private int id; private int pid= 0; //根...
2020-03-31 17:05:32 468 1
原创 ListView系统自定义适配器(SimpleAdapter)
listview是Android开发中最为常见的控件,也是Android开发人员必须要掌握的控件之一,本文将用系统自定义的simpleAdapter来对我们需要的布局进行一些填充和修改。现在我们先上一张效果图。public class MainActivity extends AppCompatActivity { @Override protected void o...
2020-01-21 14:31:13 527
kotlin+listView+recyclerView+DataBinding
2020-10-28
RecyclerViewDemo.zip
2020-09-18
TreeDemo.zip
2020-03-31
FragmentDemo.zip
2020-03-09
PopWindowUtils.zip
2020-01-21
Android异步机制中this.finish,无法销毁界面?
2020-03-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人