自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android_data的博客

没有描述

  • 博客(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

原创 Java之时间减法

用于java编程语言做时间的减法,例如2021年10月1日减去2021年9月30日等于1天。

2023-04-18 14:28:14 1401

原创 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

这个demo实现了数据和视图的完全分离,并且支持修改item和增加item,我在其中用了一些设计思想,有兴趣的同学可以下载看看。

2020-10-28

RecyclerViewDemo.zip

RecyclerView列表的demo,实现了瀑布流,网格流,横向,纵向分布。同时实现了点击事件接口,长按接口,以及item点击背景。同时做了上拉加载,下拉刷新的功能,还做了一些增删改的操作。有兴趣的同学可以看看。提醒一句,是用的androidx包下的,不是android.support,一定一定要注意。

2020-09-18

TreeDemo.zip

利用listview打造无限层级菜单,我们在项目中提供无限层级,可用于各种包含关系,大家想要下载的话,可以试试水,里面的代码可以根据实际情况更改,如果想使用到其他项目,需要重写适配器,根据个人情况而定。

2020-03-31

FragmentDemo.zip

android.app.Fragment包下的fragment的简单使用,里面有静态添加方法和动态添加方法,适用于各种版本的Android stduio。因为是原生的fragment,所以上手比较容易,适用于刚开始学习Android开发的初学者。大多注释都写在代码里了,有什么疑问欢迎在下方留言。

2020-03-09

PopWindowUtils.zip

在开发中我们会遇到各种的需求情况,导致控件不能满足我们的自身的需求,这个时候我们就需要通过一些方式来自定义控件。popwindow弹框就给我们提供了很好的思路,根据当前的UI布局文件,把textView变成下拉菜单,并且可以在此的基础上进行自定义更改样式。满足了开发人员的需求,我上传的工具包就是把textview变成spinner,该工具包适用于Android各种开发人员。

2020-01-21

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

TA关注的人

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