自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

原创 Windows10下安装Ubuntu18.04LTS详细教程

这篇文章分享自己在Windows10系统下安装VMware虚拟机,然后在VMware中安装Ubuntu 18.04 LTS的详细过程。之所以选择在虚拟机中安装Ubuntu,主要是可以不影响自己电脑的正常使用,而且在虚拟机中可以大胆尝试任何操作,不用担心造成不可逆转的破坏,大不了删除重新再来而已。Ubuntu 18.04 LTS于2018年4月底发布,其代号为 Bionic Be...

2018-06-08 22:32:31 98663 68

原创 使用WebSocket实现Android端即时通讯聊天功能

本篇文章主要介绍自己使用WebSocket实现Android端即时通讯聊天功能的过程,最终我们使用WebSocket实现了两个客户端之间的即时通讯聊天功能和直播中的聊天室功能,当然整个WebSocket还是比较复杂的,特别是长链接的稳定性方面自己还需加强(感叹微信的长链接真是稳定啊),所以也希望大家共同探讨。关于Socket和WebSocket的区别以及详细介绍...

2018-05-02 09:31:12 14487 75

原创 Java知识点:

=是运算符号,可以比较基本数据类型。比较基本数据类型是比较值,比较引用数据类型是比较地址值(如果两个引用指向。equals是属于Object类的方法,默认比较地址值。重写该方法可以比较内容,如String类。5、Integer a = 值 Integer b = 值,(同一个值),a和b相等不?因此,此题答案为,如果值在小整数范围内(-128~127)则相等,否则不相等。==是运算符号,而equals则属于方法。对象,用==表示它们是不相等的,即使它们的内容相同。String属于常量时比较的也是常量值。

2023-08-08 18:56:57 204

原创 Android中的内存泄漏和内存溢出

Android中的内存泄漏和内存溢出

2022-11-06 19:00:37 2169 1

原创 Java 8(JDK 1.8)升级更新至 Java 11(JDK 11)/ Java 17(JDK 17)LTS

一、JDK的下载;二、JDK的安装;三、配置环境变量;四、(附)ADB环境变量配置。

2021-12-24 21:02:00 40370 3

原创 Android开发一路走来...

干了几年Android开发,深深的体会到一件事情,那就是相比于服务端开发,Android开发技术更新迭代太TM快了,除了每年一次的大版本更新,Google太能搞事情了,年年出新的东西。回想起这些年的断舍离,仍然一件件得历历在目啊。Android技术目前也在经历从Java到Kotlin,从命令式UI到声明式UI的变革。所以我想对这几年及以后的的更新做个记录总结,此篇文章也打算长期更新。

2021-12-06 01:11:30 1683

原创 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

An exception occurred applying plugin request [id: 'com.android.application']> Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

2021-12-04 23:39:45 21610 2

原创 常用的DOS命令和ADB命令

常用的DOS命令和ADB命令。

2021-07-25 16:44:55 998

原创 Android Studio 安装步骤详细图解

〇、前言Android Studio安装前需要先安装好JDK并配置好环境变量。一、AndroidStudio下载地址及版本说明Android Studio国内下载地址:https://developer.android.google.cn/studio二、安装步骤图解1、首先建议在安装目录下分别创建SDK和Studio文件夹,分别用以存放SDK文件和安装Android Studio :2、3、4、5、6、7、8、9、...

2021-07-18 23:10:13 66518 23

原创 自定义PopupWindow实现下拉选择框并进行选择数据传递

〇、前言PopupWindow在Android中是一个常用且极具生命力的控件,在好多地方都能看见,而且这几年Android技术一直更新迭代也没有PopupWindow的替代品出现。PopupWindow类似于Dialog,但是使用起来比Dialog则更加灵活,今天有空将自己在项目中的自定义PopupWindow做一个记录,使用自定义PopupWindow实现下拉选择框并进行选择数据传递,实现起来其实挺简单的,但是细节还是不少。一、自定义PopupWindow...

2021-05-01 22:07:26 1160 1

原创 Gson解析:将Json字段映射到不同名的Java字段上以及将多个Json字段映射到单个Java字段

一、Gson正常解析一般情况下我们使用Gson将Json字符串解析成Java实体数据类时,Json字段和Java字段是一一对应且名称完全一致。比如如下Json字符串:{ "userId":3, "userName":"张三"}对应的Java实体类为: //只能解析 userId、userName public final class UserInfo{ public int userId; public String use

2021-04-23 11:17:32 5751 1

原创 Kotlin的Lambda 表达式

Kotlin中的Lambda功能极为强大一、集合的创建:listOf()函数用来创建一个不可变的list集合(只能用于读取,无法对集合进行添加、修改或删除操作),mutableListOf()函数用来创建一个可变的list集合;setOf()函数用来创建一个不可变的set集合,mutableSetOf()函数用来创建一个可变的set集合;mapOf()函数用来创建一个不可变的map集合,mutableMapOf()函数)函数用来创建一个可变的map集合;在Kotlin中并不建议使用put()和

2021-04-10 11:44:15 300

原创 RecyclerView使用notifyItemRemoved()方法导致界面position错乱问题

在开发RecyclerView的条目删除的功能时,删除本地集合中数据时页面列表也要进行同步刷新,RecyclerView给我们提供了notifyItemRemoved()API使删除时带有删除的动画,但是

2021-04-04 23:48:16 1114

原创 Android:实现应用版本更新

〇、前言Android应用版本更新,作为应用的基础功能是每个应用都必须具有的。这个功能实现起来有各种方式,前段时间我们项目改版,重新梳理了应用更新的逻辑,功能本身是比较简单的,但是各种可能的异常情况还是挺多的,特此进行记录。一、使用使用OkHttp实现应用版本更新主要有两个方法,一个是检测是否有新版本的方法,一个是APK文件下载的方法。检测新版本的方法如下:下载APK文件的方法如下:如上,代码并不难,主要是各种可能的异常判断,为了代码的完整性,我将整个应用版本更新Demo进行了上传.

2021-03-26 17:57:07 3382 2

原创 Android:借助addContentView()封装易用的通用加载loading,并防止页面按钮重复点击

O、前言在应用开发中,由于访问网络是一个相当耗时的操作,当页面加载数据或进行提交数据时,一般我们会在页面上展示一个loading加载图,提示用户进行片刻等待。实现loading加载图的方式多种多样,比如有些刷新框架在用户进行下拉刷新时自带的loading图,或者使用Dialog自定义加载弹框,当需要显示时showDialog当需要隐藏时dismiss即可。但在实际使用过程中刷新框架自带的下拉loading往往无法在提交数据时使用,而自定义的Dialog在使用过程中可能出现窗体泄露的异常,对此本篇文章

2021-03-20 17:02:25 2250 4

原创 Jetpack Compose 采坑过程

〇、前言Google 官方针对 Jetpack Compose 的 Android 开发者挑战赛今天已经公布了第四周也就是最后一周的题目,面对这一新的技术趋势大佬们个个摩拳擦掌,看的我也蠢蠢欲动,学习的过程中发现坑还是不少的,特此记录下。一、使用Android Studio预览版本目前(2021-03-18)Android Studio 最新的稳定版是4.1.2,还不支持 Jetpack Compose 开发,进行 Jetpack Compose 开发需要Android studio 4.2 .

2021-03-18 17:11:19 1303

原创 Android对接.net(C#)服务端(二):使用HttpTransportSE发送soap请求调用WCF服务获取WebService数据的网络框架封装

〇、前言Android开发目前我们最常见最主流的网络访问方式是使用OkHttp/Retrofit在Http协议下进行的网络通信,但是如标题所述本篇文章描述的不是常见主流的网络访问方式,而是调用WCF服务获取WebService数据的方式,有些项目就是采用的这种方式,所以我在标题上加了多个定语来进行此种方式的限定。一、ksoap2-android不同于HttpURLConnection已在Android系统中,发送soap请求需要借助第三方jar包(ksoap2-android-assembly-

2021-03-12 11:07:40 674

原创 Android对接.net(C#)服务端(一):解析DataTable、DataSet类型及分页的Json数据

〇、前言在.net平台C#中有DataTable和DataSet类型的对象,并且非常方便和常用。我们目前项目的服务端采用C#进行开发,在给前台返回响应数据时是直接将DataTable和DataSet类型的对象进行Json序列化后进行返回。Android下并没有与此对应的DataTable和DataSet对象,所以Android端接收到响应数据时第一件事就是对Json数据进行解析,对于此类固定的格式好的做法是统一在底层进行解析,直接给业务层返回可用的List数据。所以我封装了两个分别解析DataTable

2021-03-11 09:10:19 707

原创 Kotlin基础:变量、函数、面向对象

一、前言在2017年的Google开发者大会上Google引入了新的Android开发语言Kotlin,2019年的开发者大会上Google更进一步,宣布KotlinFrist。伴随的Google的推动,这几年越来越多的Android开发从Java转为Kotlin,一些著名的三方库也在采用Kotlin重写。所以是时候总结一下Kotlin的学习笔记了,以期温故而知新。...

2021-02-07 00:23:40 408

原创 Database-3:SQL语句之DQL

〇、前言 DQL(Data Query Language):数据查询语言,用来操作表中存储的数据,但是只能完成查。一、MySQL查询语句 SELECT selection_list /*要查询的列名称,多个字段名称使用‘,’隔开,‘*’表示查询所有列*/FROM table_list /*要查询的表名称*/WHERE condition /*行条件*/GROUP BY grouping_columns /*对结果分组*/...

2021-01-04 09:02:24 201 2

原创 Database-2:SQL语句之DML及约束

〇、前言 DML(Data Manipulation Language):数据操作语言,用来操作表中存储的数据,但是只能完成增、 删 、改;一、增加数据 insert into [表名] (字段列名集合)values (值的集合) ; 多个列名之间‘,’分割,多个值之间‘,’分割,值的顺序和列名顺序一一对应。 如:insert into stu (sid, name, sal) values (1, "ZhangSan", 45.67) ; ...

2021-01-03 17:14:01 180 1

原创 Database-1:SQL语句介绍及其DDL

一、SQL的概念SQL:Structured Query Language是“结构化查询语言”,它是对关系型数据库的操作语言,就是定义了一些操作关系型数据库的统一规范。而每一种数据库管理系统之间又存在一些不同之处,这些不同之处称之为"方言"。二、SQL的分类SQL语句分为以下四类:DCL(Data Control Language):数据控制语言,用来操作用户,完成用户权限的相关控制(开发几乎用不到); DDL(Data Definition Language):数据定义语言,用来操作库、

2021-01-02 23:00:57 388

原创 Database-0:数据库基础

〇、前言一直做Android开发,学习的数据库知识都生疏了,此次复习就将数据库知识做一个完整记录,以期温故而知新。一、数据库的概述数据库是用来存储和管理(增删改查)数据的仓库。二、常见的数据库管理系统数据库分为关系型数据库(Relational Database)和非关系型数据库(NOSQL:Not Only SQL)。其中非关系型数据库主要是用来在内存中存储缓存数据,代表作有MongoDb、Redis等;关系型数据库是用来存储具有关系的数据,常见的关系型数据库管理系统(RDBMS:Re

2020-12-31 01:23:15 417 2

原创 RecyclerView中CheckBox选中错乱问题

onBindViewHolder中如下代码holder.checkBox.setChecked(model.IsCheck);//CheckBox事件监听holder.checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> model.IsCheck = isChecked);会造成状态错乱,看到很多博主的文章,感觉都没说到点子上。因为这个model是用方法返回的position获取的,但是滑动的时候条目会重用,.

2020-11-24 15:11:23 962

原创 Intent传递数据大小限制问题:android.os.TransactionTooLargeException: data parcel size xxxxxxx bytes

两个Activity跳转,我们一般会用Intent传递数据,但如果传递数据太大会出现如下异常:2020-10-23 09:52:22.142 5506-5506 E/AndroidRuntime: FATAL EXCEPTION: main Process: jdlf_scgl_zp_android.ui.m990_system, PID: 5506 java.lang.RuntimeException: Failure from system at android.a

2020-10-23 10:27:27 3969

原创 Android : RecyclerView 最简单优雅的添加分割线 ItemDecoration

1、自定义分割线private class SpaceItemDecoration extends RecyclerView.ItemDecoration { private int mSpace; public SpaceItemDecoration() { float density = getResources().getDis...

2020-04-03 15:36:45 5894 1

原创 Android Studio3.4使用Gradle打包apk后重命名apk文件名称

Android Studio除了可以使用可视化工具来打包带有正式签名的apk文件,也可以使用Gradle构建工具来进行打包。1、Gradle打包配置在app\build.gradle文件中的android闭包中添加:signingConfigs { debug { storeFile file(KEY_PATH)//签名文件路径 ...

2019-07-13 17:54:37 2463

原创 Android事件传递机制(二)情景分析

在上一篇文章Android事件传递机制(一)流程梳理中我们梳理了事件传递的流程,前文的分析我们好像是将一个事件作为一个整体来分析的,其实不然。前文中我们也提到了当onTouchEvent()方法返回true表示处理事件时,日志流程会打印多次,这是因为TouchEvent事件包含ACTION_DOWN、ACTION_MOVE、ACTION_UP等事件,当onTouchEvent()方法返回tru...

2019-04-08 11:07:45 379 1

原创 Android事件传递机制(一)流程梳理

事件传递或者称之为事件分发是Android中非常重要和核心的知识点,我们在手机上的任何一次点击或者触摸都会涉及到事件传递,所以非常有必要好好了解一下相关知识。当一个Touch事件发生后,首先是当前的Activity拿到该事件,然后Activity会将事件传递给Window,然后Window再将事件传递给当前界面的根布局(顶级父View),即按照Activity -> Window -&g...

2019-04-02 14:49:26 1086

原创 Android自定义控件(View)

Android系统为我们提供了许多的原生控件,但是在某些情况系统原生控件并不能很好的满足我们的需求,这时就需要用到自定义控件了,并且自定义控件还可以实现很多炫酷的效果。 按类型来划分的话,自定义控件的实现方式基本可以分为三种,自绘控件、组合控件、继承控件。自绘控件:这个控件上所展现的内容全部都是自己绘制出来的,自己绘制不同于系统原生的控件,许多炫酷的自定义控件效...

2019-03-27 15:34:56 477

原创 设计模式之观察者设计模式(回调)

观察者设计模式就是我们常说的回调。回调的本质就是一个对象的引用传递。1、找出被观察者;2、定义一个观察者接口,接口中的方法就是观察者感兴趣的事件;3、在被观察者中保存观察者的引用;4、在事件发生的时候,通知观察者,调用观察者中的方法。 写回调的思想:要暴露哪个类的数据,就在哪个类写接口;要暴露哪个参数就写什么方法;调方法是为了传参数。   A类   ...

2018-11-08 00:25:57 271

原创 设计模式之单例设计模式

记录一下自己常用的一个单例设计模式的写法1、采用懒汉式(其实单例设计模式饿汉式并不推荐);2、采用双重加锁保证线程安全;其余步骤和解释代码的注释里都有,就不赘述了。 private Context mContext; //选择懒汉模式 private static MyWebSocketClient mInstance; //1. 私有构造方法...

2018-10-22 22:14:21 159

原创 Android框架之MVP模式(以登录为例)

    Android框架现在常见的有MVC模式、MVP模式、MVVM模式。我们首先先明确一个概念:模式是指组织代码的结构方式,模式并不能提高代码的执行效率。模式是为了后续功能的扩展方便和代码的结构清晰而使用的。    在上一篇文章中,由刚开始的把代码都写在Activity里演化出Android的MVC模式,但是在最后,我们可能还是感觉Activity中的代码有些繁杂,这是因为V层和C层的角色...

2018-09-16 16:56:55 940 1

原创 Android框架之MVC模式(以登录为例)

Android框架现在常见的有MVC模式、MVP模式、MVVM模式。我们首先先明确一个概念:模式是指组织代码的结构方式,模式并不能提高代码的执行效率。模式是为了后续功能的扩展方便和代码的结构清晰而使用的。刚开始做Android开发时我们把代码都写在Activity里,这样代码的扩展性和结构清晰并不好。由此演化出Android的MVC模式,本篇文章也主要描述怎么将原来的写法抽取成...

2018-07-15 19:30:12 4239 1

原创 Android项目设置Git忽略文件及.idea文件夹问题

Git提供了一种可配性很强的机制来允许用户将指定的文件或目录排除在版本控制之外,它会检查代码仓库的目录下是否存在一个名为.gitignore的文件,如果存在的话,就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。注意.gitignore中指定的文件或目录是可以使用“*”通配符的。--《第一行代码》 Android Studio项目中我们并不需要自己去...

2018-04-28 12:06:58 8115 1

原创 《第一行代码》中的Git学习笔记

这是我的第一篇博客,我想开通博客的主要目的是帮助自己记录学习历程以及一些填坑操作的.第一篇就记录一下我之前的Git学习笔记吧,主要是学习的郭霖大神的《第一行代码》中Git时间的部分.也适合一些零基础的童鞋入门一下.《第一行代码》中Git时间分布在5.6、7.5、11.5、14.2等4个章节里.1、Git是一个开源的分布式版本控制工具.2、Git获取网址: http://gitforwindows....

2018-04-24 15:14:01 830

eclipse-64.rar

Eclipse开发工具,包含ADT,解压后可直接进行Android开发,但是只适用于低版本。

2021-12-22

AndroidUpdate.json

Android应用版本更新服务端配置文件

2021-03-27

Android:借助addContentView()封装易用的通用加载loading,并防止页面按钮重复点击.rar

https://blog.csdn.net/beita08/article/details/115028939 文章关联资源

2021-03-21

数据库SQL测试数据

数据库SQL测试数据

2021-01-04

空空如也

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

TA关注的人

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