自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Android组件化开发

https://www.cnblogs.com/ldq2016/p/9073105.html一.是什么二.为什么三.怎么做

2020-03-08 15:19:56 4092 5

原创 Android插件化(一)

本篇文章主要从以下几个方面去讲解插件化的知识一、插件化是什么讲到插件化,肯定都知道另一个名词叫组件化,那插件化和组件化两者有什么区别呢?组件化开发是将一个app根据业务逻辑分成多个模块进行开发,每一个模块就是一个组件,开发的过程中,我们可以单独调试这些组件,但是最终发包的时候是将这些组件合并成一个apk,这就是组件化,只有一个apk,多个library。插件化开发同样是将一个...

2020-04-02 09:49:31 511

原创 Android中使用Tinker实现热更新

其实现在市场上已经有平台帮我们集成了Tinker热更新,还有提供补丁包管理后台,图形界面操作等等,比如bugly平台,TinkerPatch 平台TinkerPatchSDK集成,只要集成他们提供的SDK就可以,集成也相对比较方便。本文就不讲解这种平台的集成方式了,因为平台上都有详细的官方文档说明。本篇文章主要基于Tinker官方给出的文档,进行热更新的接入,因为Tinker官方文档给的比较复杂。...

2020-03-30 20:29:05 1450

原创 Java之反射

本篇文章主要从下面几个方面讲解反射一、反射是什么引用书本的定义,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射是一种具有与类进行动态交互能力的一种机制为什么要强调动态交互呢?因为一般情况下都是动态加载,也就是在运行的时候才会加载,而...

2020-03-29 23:02:06 386

原创 Android热更新

本篇文章我们主要围绕以下几个内容展开一、什么是热更新二、热更新原理三、目前市场上热更新框架的对比四、热更新实践(Sophix)一、什么是热更新用来紧急修复线上版本的bug,而且是在用户无感知的情况下,自动修复bug。我们之前的一个开发流程是,开发-测试-发包-审核-通过,那如果对于刚上线的版本,突然间发现出现了一个致命的闪退问题,那又得重复这样的流程,到最终提示用户下载新的...

2020-03-27 17:50:46 10843 4

原创 通过解读源码讲解Android类加载机制

https://blog.csdn.net/lmj623565791/article/details/49883661Android类加载器主要分为PathClassLoader和DexClassLoader,这两个类都是继承BaseDexClassLoader。

2020-03-26 20:52:30 531 1

原创 Java虚拟机的运行机制,内存管理机制,垃圾回收机制和4种引用

一.JVM是什么二.JVM的运行机制(编译-运行前,运行后)三.java的内存管理机制四.java垃圾回收机制五.java垃圾回收算法

2020-03-11 11:44:27 309

原创 Android利用shape绘制带有投影的背景

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 边 --> <item> <shape android:shape="rectangle"> <...

2020-03-10 17:40:00 1800

原创 Android采用Scheme协议进行跳转

所谓的Scheme协议具有以下特点:1.android中的scheme是一种页面内跳转协议。2.通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;3.通过scheme协议,服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义json串的形式来告诉客户端如何跳转,这种方式要手动解析字段,有点麻烦。然而scheme协议自带字段解析,...

2020-03-10 17:38:09 6990

原创 Android实现点击回车键进行搜索功能

这个直接xml文件设置 EditText 三个属性android:imeOptions="actionSearch"android:singleLine="true"android:maxLines="1"EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { ...

2020-03-10 17:36:25 609

原创 Android中如何切换到主线程

我们都知道,Android开发过程,有些比较耗时的操作都是需要放在子线程中执行的,但是UI相关的操作又必须放在主线程进行,所以就有了线程之间的切换。那如何从子线程切换到主线程呢?方法一:view.post(Runnable action) textView.post(new Runnable() { @Override public void run...

2020-03-02 16:32:41 1772

原创 解决Dialog中有Edittext时,dismiss后软键盘不会自动隐藏

我们经常会遇到,弹出一个带有输入框的dialog时(评论dialog),当输入完内容,dismiss对话框时,对话框是消失了,但是系统软键盘却没有伴随消失。解决方法:重写dismiss()方法 @Override public void dismiss() { View view = getCurrentFocus(); if(view insta...

2020-03-02 14:34:02 1334

原创 ARouter路由的详细使用

一.ARouter是什么ARouter是由阿里推出的一款页面路由框架,主要用于组件化开发过程中,组件之间页面的跳转和通信,确保组件之间没有相互依赖,也能进行跳转二.为什么要使用ARouterAndroid原始的页面跳转最常用到的是显示Intent和隐式Intent跳转方式显示Intent跳转:Intent intent = new Intent(this,XXXActivity...

2020-03-01 23:21:49 2307

原创 AndroidStudio打正式包和获取MD5签名

一.打正式包方式1:先在build.gradle中添加签名文件,将签名文件放在app同级目录,storeFile file('zjwz.keystore') 在Terminal中采用命令行输入 gradlew assembleRelease 方式2:点击Build->Generate Signed apk,首次点击可能会提示输入操作系统密码 方式...

2019-12-25 10:22:00 633

原创 Android 9.0网络适配

在清单文件的application标签中添加 android:usesCleartextTraffic="true"

2019-12-25 10:19:40 317

原创 电脑硬盘分区大小的方法

https://www.disktool.cn/

2019-12-25 10:18:39 188

原创 Android中NestedScrollView中嵌套RecyclerView的注意事项

1.解决滑动冲突 recyclerCondition.setNestedScrollingEnabled(false);2.解决recyclerView一开始不能置顶在nestedScrollView里面的直接子布局设置 android:focusable="true" android:focusableInTouchMode="true"...

2019-12-25 10:16:30 799

原创 Android进入页面时默认不弹出软键盘的解决方法

有时候在某一个页面里面有EditText控件时,已进入到这个页面,就会默认弹出软键盘,这可能在有些时候体验并不怎么好,那如何才能不会摩尔恩弹出这个软键盘呢,其实很简单,只需要两行代码在根布局xml中添加android:focusable="true"android:focusableInTouchMode="true"即可解决默认弹出软键盘的问题...

2019-12-25 10:13:38 1833

原创 Android集成环信IM,实现为某一个好友设置消息免打扰

环信SDK中是没有提供直接为某一个好友设置消息免打扰的api,其实,所谓的消息免打扰,无非就是在收到好友的消息时,不进行通知,在会话列表中,不显示未读消息数量,因此,我们可以将是否开启免打扰的的状态保存在extField字段中,然后在会话列表中,取出该字段,如果是免打扰状态,则隐藏消息数量就不显示,在接收消息的时候,同样也取出该字段,判断是否是免打扰状态,如果是,就不进行通知。1.设置是否开启...

2019-12-25 09:51:58 641

原创 Android集成环信,实现查找聊天记录,并定位到指定消息位置

一.环信搜索聊天记录功能的实现mConversation.searchMsgFromDB(key, timeStamp, maxCount, from, EMConversation.EMSearchDirection.UP);1.搜索时timeStamp字段如果是传入当前时间点,则direction要传EMConversation.EMSearchDirection.UP表示向上搜索全部...

2019-12-25 09:15:35 1408 8

原创 Android集成环信IM,实现发送名片功能

要实现发送名片,可以采用发送扩展消息的方式去实现。具体步骤:1.在ChatFragment类里,自定义名片消息类型行布局提供者2.创建一个类MinPianChatRowPresenter继承EaseChatRowPresenter3.创建具体的名片行布局(发送和接收两种布局)-----可以参考系统默认的布局,也可以完全创建属于自己的布局样式4.创建好布局提供...

2019-12-25 09:14:38 444

原创 Android 集成环信IM,实现头像和昵称的显示

环信中要设置昵称和头像有两种方法,一种是通过请求服务器获得,一种是通过发送扩展消息获得。本人推荐通过发送扩展消息获得,简单又方便。所以下面我就只讲通过发送扩展消息获取的方法。具体的实现步骤如下:1.在登录成功后,通过请求自己后台获取当前用户的头像和昵称,并保存在本地(内存+数据库)。2.在发送消息的时候,为每一条消息都添加头像和昵称的扩展属性(ChatFragment类里面)...

2019-12-25 09:12:38 1054

原创 Android集成环信IM,实现聊天置顶功能

首先是,要实现置顶聊天,那么我们就要有两个List集合,一个是置顶的,一个是不是置顶的。这里,环信给出了EMConversation的一个方法,带大家看看技术文档。看下这个文档里面说的非常清楚,也就是扩展字段,设置一个扩展字段我们才知道这条Conversation的特别之处,然后去判断这个会话有没有设置扩展消息,有的话,那就排到置顶的那个集合里面去。实现的步骤:(需要动到的类:Ea...

2019-12-25 09:10:18 961

空空如也

空空如也

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

TA关注的人

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