
Android
huyinda
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android插件化(一)
本篇文章主要从以下几个方面去讲解插件化的知识一、插件化是什么讲到插件化,肯定都知道另一个名词叫组件化,那插件化和组件化两者有什么区别呢?组件化开发是将一个app根据业务逻辑分成多个模块进行开发,每一个模块就是一个组件,开发的过程中,我们可以单独调试这些组件,但是最终发包的时候是将这些组件合并成一个apk,这就是组件化,只有一个apk,多个library。插件化开发同样是将一个...原创 2020-04-02 09:49:31 · 613 阅读 · 0 评论 -
Android中使用Tinker实现热更新
其实现在市场上已经有平台帮我们集成了Tinker热更新,还有提供补丁包管理后台,图形界面操作等等,比如bugly平台,TinkerPatch 平台TinkerPatchSDK集成,只要集成他们提供的SDK就可以,集成也相对比较方便。本文就不讲解这种平台的集成方式了,因为平台上都有详细的官方文档说明。本篇文章主要基于Tinker官方给出的文档,进行热更新的接入,因为Tinker官方文档给的比较复杂。...原创 2020-03-30 20:29:05 · 1700 阅读 · 0 评论 -
Java之反射
本篇文章主要从下面几个方面讲解反射一、反射是什么引用书本的定义,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射是一种具有与类进行动态交互能力的一种机制为什么要强调动态交互呢?因为一般情况下都是动态加载,也就是在运行的时候才会加载,而...原创 2020-03-29 23:02:06 · 482 阅读 · 0 评论 -
Android热更新
本篇文章我们主要围绕以下几个内容展开一、什么是热更新二、热更新原理三、目前市场上热更新框架的对比四、热更新实践(Sophix)一、什么是热更新用来紧急修复线上版本的bug,而且是在用户无感知的情况下,自动修复bug。我们之前的一个开发流程是,开发-测试-发包-审核-通过,那如果对于刚上线的版本,突然间发现出现了一个致命的闪退问题,那又得重复这样的流程,到最终提示用户下载新的...原创 2020-03-27 17:50:46 · 11034 阅读 · 4 评论 -
通过解读源码讲解Android类加载机制
https://blog.youkuaiyun.com/lmj623565791/article/details/49883661Android类加载器主要分为PathClassLoader和DexClassLoader,这两个类都是继承BaseDexClassLoader。原创 2020-03-26 20:52:30 · 604 阅读 · 1 评论 -
Android中如何切换到主线程
我们都知道,Android开发过程,有些比较耗时的操作都是需要放在子线程中执行的,但是UI相关的操作又必须放在主线程进行,所以就有了线程之间的切换。那如何从子线程切换到主线程呢?方法一:view.post(Runnable action) textView.post(new Runnable() { @Override public void run...原创 2020-03-02 16:32:41 · 1996 阅读 · 0 评论 -
Android实现点击回车键进行搜索功能
这个直接xml文件设置 EditText 三个属性android:imeOptions="actionSearch"android:singleLine="true"android:maxLines="1"EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { ...原创 2020-03-10 17:36:25 · 682 阅读 · 0 评论 -
Android采用Scheme协议进行跳转
所谓的Scheme协议具有以下特点:1.android中的scheme是一种页面内跳转协议。2.通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;3.通过scheme协议,服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义json串的形式来告诉客户端如何跳转,这种方式要手动解析字段,有点麻烦。然而scheme协议自带字段解析,...原创 2020-03-10 17:38:09 · 7281 阅读 · 0 评论 -
Android利用shape绘制带有投影的背景
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 边 --> <item> <shape android:shape="rectangle"> <...原创 2020-03-10 17:40:00 · 1995 阅读 · 0 评论 -
AndroidStudio打正式包和获取MD5签名
一.打正式包方式1:先在build.gradle中添加签名文件,将签名文件放在app同级目录,storeFile file('zjwz.keystore') 在Terminal中采用命令行输入 gradlew assembleRelease 方式2:点击Build->Generate Signed apk,首次点击可能会提示输入操作系统密码 方式...原创 2019-12-25 10:22:00 · 707 阅读 · 0 评论 -
Android集成环信IM,实现为某一个好友设置消息免打扰
环信SDK中是没有提供直接为某一个好友设置消息免打扰的api,其实,所谓的消息免打扰,无非就是在收到好友的消息时,不进行通知,在会话列表中,不显示未读消息数量,因此,我们可以将是否开启免打扰的的状态保存在extField字段中,然后在会话列表中,取出该字段,如果是免打扰状态,则隐藏消息数量就不显示,在接收消息的时候,同样也取出该字段,判断是否是免打扰状态,如果是,就不进行通知。1.设置是否开启...原创 2019-12-25 09:51:58 · 759 阅读 · 0 评论 -
Android集成环信,实现查找聊天记录,并定位到指定消息位置
一.环信搜索聊天记录功能的实现mConversation.searchMsgFromDB(key, timeStamp, maxCount, from, EMConversation.EMSearchDirection.UP);1.搜索时timeStamp字段如果是传入当前时间点,则direction要传EMConversation.EMSearchDirection.UP表示向上搜索全部...原创 2019-12-25 09:15:35 · 1583 阅读 · 8 评论 -
Android集成环信IM,实现发送名片功能
要实现发送名片,可以采用发送扩展消息的方式去实现。具体步骤:1.在ChatFragment类里,自定义名片消息类型行布局提供者2.创建一个类MinPianChatRowPresenter继承EaseChatRowPresenter3.创建具体的名片行布局(发送和接收两种布局)-----可以参考系统默认的布局,也可以完全创建属于自己的布局样式4.创建好布局提供...原创 2019-12-25 09:14:38 · 518 阅读 · 0 评论 -
Android 集成环信IM,实现头像和昵称的显示
环信中要设置昵称和头像有两种方法,一种是通过请求服务器获得,一种是通过发送扩展消息获得。本人推荐通过发送扩展消息获得,简单又方便。所以下面我就只讲通过发送扩展消息获取的方法。具体的实现步骤如下:1.在登录成功后,通过请求自己后台获取当前用户的头像和昵称,并保存在本地(内存+数据库)。2.在发送消息的时候,为每一条消息都添加头像和昵称的扩展属性(ChatFragment类里面)...原创 2019-12-25 09:12:38 · 1205 阅读 · 0 评论 -
Android集成环信IM,实现聊天置顶功能
首先是,要实现置顶聊天,那么我们就要有两个List集合,一个是置顶的,一个是不是置顶的。这里,环信给出了EMConversation的一个方法,带大家看看技术文档。看下这个文档里面说的非常清楚,也就是扩展字段,设置一个扩展字段我们才知道这条Conversation的特别之处,然后去判断这个会话有没有设置扩展消息,有的话,那就排到置顶的那个集合里面去。实现的步骤:(需要动到的类:Ea...原创 2019-12-25 09:10:18 · 1063 阅读 · 0 评论