自定义博客皮肤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)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android初级知识整理--面试

UI卡顿一、UI卡顿原理每秒60fps;页面渲染复杂,操作过多。overdraw:过度绘制,有大量重叠的部分。比如activity有背景颜色,而layout也有,连子View中也有,就算只去掉其中的背景色,也可以减少overdraw的情况(使UI不那么卡顿)。手机检测工具:设置–>开发者选项–>调试GPU过度绘制–>显示GPU过度绘制每个颜色说明如下:原色

2019-06-26 11:19:26 1571 2

原创 Android笔记

1.在线程中,当执行方法后如果有阻塞,就会阻塞当前子线程,此时,我们便可以设置个定时器,比如如果阻塞了十秒,可以默认为已经无法成功了,然后在定时器中进行一些失败后的操作:(如HttpClient的execute,就会阻塞) private void setTimerTask() { timer = new Timer(); timer.schedule(ne...

2021-07-03 17:18:57 854

原创 IM-Jersey

在本课程中,老师对Jersey没有做过多解释。实际上按照老师在课程中对Jersey的配置,完全能够使程序正常运行,看似完全没必要再学一下Jersey。但是我个人认为,学习一个东西,如果说只会用,或者说只会用一部分常用的配置,是完全不够的,一方面,当我们的业务扩展,需要用到Jersey其他知识的时候我们无从下手。另一方面,不知晓其概念,其原理,做的时候一头雾水,当我们出问题的时候,也很难下手排查。所...

2020-04-13 10:06:03 179

原创 IM-后台搭建(三)之账号相关接口实现

实现了数据库逻辑封装和连接Mysql数据库后,我们就可以实现以下后台所需要的相关接口了。首先声明,我们在Application中,注册的Json解析器原本是Jackson,现在替换成GsonProvider,因为Jackson在解析boolean数据的时候会产生性能问题。在我们以后返回的实体类中,每个属性都要加@Expose注解,否则GsonProvider将不进行解析。最直白的表现就是Pos...

2020-04-03 10:23:47 430

原创 IM后台开发六之群聊接口实现

单聊做完了,接下来就是群聊的实现了。在做群聊之前,我们还是要先分析一下实现群聊应该需要实现哪些接口。群聊接口分析1.创建群聊首先我们第一个要实现的接口,就是创建群聊了。毕竟想要有群,必须创建群才行。那么创建群,需要传递什么参数呢?我们需要有一个GroupCreateModel,里面传递一些创建群必须有的参数,比如:群名称、群描述、群头像地址,还有就是一个群肯定是要有成员的,所以还要有一个...

2020-04-03 10:23:17 896

原创 IM前台开发七之群聊前台实现

在实现群聊前台之前,我们先说一下实现的思路。首先我们也需要监听群聊数据的改变。所以又少不了数据的监听。之前我们分析过两次数据监听的逻辑,我们这次站在基于底层封装好的情况下,看看实现一个基于监听的数据操作需要做哪些工作。分析一波后,我们就可以根据我们的封装来快速进行基于数据监听的开发了。在此之前我们先看一下创建群组的界面实现,之后我们再分析基础监听的数据操作如何快速实现。群创建界面实现因为之前...

2020-04-03 10:22:54 392

原创 IM-前台搭建(二)

接入图片剪切库图片剪切库我们使用的是Github上知名的uCropGithub地址具体的接入细节,和其他三方库一致。就不做过多介绍了,主要看一下一些需要注意的点。个人的账户信息,我们是在AccountActivity中进行处理,更新用户信息我们采用Fragment,对应名称为UpdateInfoFragment,目前处理是在AccountActivity加载UpdateInfoFragme...

2020-04-03 10:21:03 179

原创 IM-后台搭建(二)之数据库设计

这一篇主要讲解我们后台数据库表的设计。可以看到我们的数据库表一共有七个,每个表都以TB开头,其实对于一个IM软件,七个表只能勉强实现其功能,还是有很多表需要扩展的。我们来介绍一下七个表分别的作用。TB_USER:从上面图中也可以看出,这个表示最核心的表了。与其他六个表都有关联。用来存储用户的信息。TB_GROUP:用来存储群组的信息。TB_GROUP_MEMBER:用来存储群成员相关的信...

2020-04-03 10:20:52 1691 1

原创 Material Design

android 5.0推出的Material Design:CoordinatorLayoutCoordinatorLayout遵循Material 风格,包含在 support Library中,结合AppbarLayout, CollapsingToolbarLayout等 可 产生各种炫酷的折叠悬浮效果。作为最上层的View作为一个 容器与一个或者多个子View进行交互Coord...

2020-01-28 18:14:01 346

原创 EventBus源码解析

概念:android中主线程实际上就是ActivityThread这个类。EventBus处理流程如上:发布器,将event通过post方法发送到EventBus总线当中,根据event事件的类型,匹配订阅者。而Subscriber则必须有一个register(注册)去注册这个event,对应unregister。EventBus可以在任意位置发送事件。EventBus用法:1.定义事...

2019-06-27 16:05:39 153

Bitmap高效缓存

本文主要是对慕课网qndroid老师视频教程的总结,视频链接Bitmap基本概念Bitmap并不是只属于Android的概念;Bitmap(又称栅格图、点阵图)是使用像素阵列来表示的图像。对于android而言:1.Bitmap是Android系统中的图像处理的最重要类之一。2.通过Bitmap我们可以获取图片的信息。比如图片宽、高、Alpha值,也可以根据这个Bitmpa再创建新的B...

2019-06-27 12:40:51 275

原创 Android知识整理(可用于面试)

一、

2019-02-26 14:53:03 290

原创 零基础Python(五)

魔法方法1.魔法方法总是被双下划线包围,例如__init__2.魔法方法是面向对象的Python的一切,如果不知道魔法方法,说明还没能意识到面向对象的Python的强大3.魔法方法的魔力体现在它们总能在适当的时候被自动调用一、构造和析构1.__init__(self[,...])相当于其他语言的构造方法,类在实例化的时候首先会被调用的方法2.__new__(cls[,...])这个...

2018-11-10 19:20:41 291

原创 零基础Python(四)

类和对象对象=属性+方法;来个实例:class Turtle:#Python中的类名以大写开头 #属性 color='green' weight=10 legs=4 shell=True mouth='大嘴' #方法 def climb(self): print('努力向前爬') def run(self...

2018-11-10 19:19:12 152

转载 Android代码混淆(知识整理)

一、proguard到底是什么:proguard就是我们打包过程中压缩、混淆代码的工具,主作用是可以移除代码中的无用类,字段,方法和属性同时可以混淆。这样就可以让我们的apk体积更小,更难反编译。【所以,有时候apk包变大了,可能是混淆忘开了】二、Proguard技术的功能1.压缩打包过程中检查和移除没有用到的类、字段、属性、方法等,相当于打包过程中的文件不包括无用的类等,这样体积自然就笑...

2018-10-19 09:03:15 188

原创 零基础Python(三)

Python之文件操作python的文件操作主要方法是open,help(open)或者dir(open)看看open以及相关的方法吧:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Open file and return a st...

2018-10-19 08:59:27 253

原创 零基础Python(二)

本篇主要讲Python的函数:一、函数定义以及调用定义函数:def 函数名([参数…]):逻辑操作~~2.调用:函数名([参数…])ex:定义:def pythonFunction():print('hello ')调用:pythonFunction()3.附带返回值的:def add(num1,num2)return num1+num24.形参和实参:de...

2018-10-08 19:42:58 175

原创 零基础Python(一)

一、安装完python,不要忘记配置路径 1.python的输出: print(“~~~”),print(5+3),print(“i still “+”love you”),print(“i still”*8)【会打印八遍…牛皮】,print(“i still love you\n” *8)【会一行一行的打印八遍…】 快捷键:Alt+N或者Alt+P,重新键入语句。【鱼C密码:SprrowZ......

2018-09-26 19:13:36 1120 2

原创 IM-后台搭建(一)

1.需要配置gradle 导入的时候作为Gradle项目导入即可 2.配置Tomcat,如果EditConfiguation里面没有,需要进入初始页面添加:

2018-08-28 19:45:49 3747 3

原创 Okhttp&Retrofit【附赠服务器】

本文主要是参考慕课网Jennynick老师视频所做出的总结。一、首先明白一点: Retrofit是基于Okhttp网络框架进行的二次封装,其本质仍是Okhttp。(类似乌尔奇奥拉的二段归刃) 另外,科普一下,Android5.0之后不再使用HttpClient了。本来还想着看看httpclient的高阶用法呢,你看,多学习就可以少学习。二、同Volley对比: Volley基于Htt...

2018-08-24 10:26:30 273

原创 Android入门级知识整理

一、Fragment为什么被称为第五大组件 使用频率高,ui切换效果好,更节省内存,因为其有自己的生命周期,所以也算不到四大组件里取;fragment必须依附于activity存在。 二、Fragment加载到activity中的两个方式 静态加载,动态加载,(太基础了不说了) 三、FragmentPagerAdapter和FragmentStatePagerAdapter的区别 在实际...

2018-08-22 11:00:22 480

原创 GreenDao相关操作

基于Greendao 3.2.0一、导入 1.在项目build.gradlet的dependencies导入依赖: classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.0’ 2.在module build.gradle 中 apply plugin: ‘org.greenrobot.greendao’ 在an...

2018-08-19 22:34:26 164

原创 APK反编译

网上相关教程很多,但还是爬了个坑。故此将反编译成功的步骤梳理一遍,方便他人,也利于自己以后回顾。 一、工具 apktool: 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar: 作用:将apk反编译成java源码(classes.dex转化成jar文件) jd-gui: 作用:查看APK中classes.dex转化成出的jar文件,即源码文件二、步骤 ...

2018-08-17 13:15:05 101

struts2-blank

自己搭建移动端服务器。

2019-01-07

dex2jar+jd-gui

dex2jar和jd-gui,dex2jar和jd-gui,dex2jar和jd-gui,dex2jar和jd-gui,dex2jar和jd-gui,

2018-08-17

apktool工具

反编译工具类,反编译工具类,反编译工具类,反编译工具类,反编译工具类,反编译工具类,

2018-08-17

空空如也

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

TA关注的人

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