- 博客(11)
- 资源 (43)
- 收藏
- 关注
原创 Netty框架的简单使用,实现socket通讯
个人博客:haichenyi.com。感谢关注 题外话,很多人都把JDK1.4提供的NIO称之为异步非阻塞I/O;其实,并不然,从严格意义上面讲,它只能称为非阻塞I/O。在JDK1.7提供的NIO 2.0,新增了异步的套接字通道Channel,它才是真正的异步非阻塞I/O。下表是不同I/O模型的对比:表1-1 几种I/O模型和同能对比 同步阻塞I/O(BIO) 伪异步I/...
2018-02-12 11:15:43 17640 1
原创 从零开始搭建一个主流项目框架(七)—— 权限申请(Android 6.0)
个人博客:haichenyi.com。感谢关注 总所周知,Android 6.0以上的版本,google对权限做了更严格的限制,不能app自动给权限,必须要让用户选择是否给权限。如果,用户不给权限,辣么,用这个功能的时候,app会造成崩溃,所以,最简单的办法就是,用户不给权限,不让用户用这个功能,也就是页面不做跳转。 当时,刚出来这个权限问题的时候,本人用原生的写,写了封装,搞了好长时...
2018-02-28 12:14:51 496
原创 从零开始搭建一个主流项目框架(六)——Socket网络编程
个人博客:haichenyi.com。感谢关注 Android中常用的网络编程方式:Http和Socket,Http通讯方式,我们在前面已经加到框架里面了,用的是现在主流的RxJava+Retrofit+OkHttp的方式,用起来也很方便。今天,我们来说说Socket网络编程。前面已经有一篇讲过IO和NIO的区别,还有一篇讲过Netty了,今天这篇的目的就是把Netty加到我们这个框架里面。...
2018-02-26 16:00:26 387
原创 从零开始搭建一个主流项目框架(五)—GreenDao的增删改查
个人博客:haichenyi.com。感谢关注 上一篇我们讲了GreenDao的数据库的依赖和创建,这一篇,我们来讲常用的增删改查四种方法。我们操作数据库都是Dao层,不同的表,有不懂的Dao层对象。我们上一篇的数据库接口的实现类里面,我们定义了UserDao,我们这一篇讲的就是操作我们昨天创建的user表。 在写下面几个方法之前,我还是先把MVP的用法先讲一遍吧,防止有人不知道,以增...
2018-02-24 16:42:48 379
原创 从零开始搭建一个主流项目框架(四)—Kotlin+GreenDao3.2
个人博客:haichenyi.com。感谢关注 本篇介绍android常用的数据库之一GreenDao的简单用法,增删改查。基于前面搭的框架,当然,你也可以选择不用。看懂用法之后,用起来很方便。GreenDao数据库升级到3.0版本之后api用起来更加方便了,便于让开发人员专注于业务逻辑。我需要额外说明的是,我把之前的项目框架转成了kotlin,不会kotlin语法的同学,可以去研究一下。...
2018-02-24 14:32:32 1679 1
原创 从零开始搭建一个主流项目框架(三)—RxJava2.0+Retrofit2.0+OkHttp
个人博客:haichenyi.com。感谢关注 上一篇,我们把mvp+dagger加进去了,这一篇,我们把网络请求加上 我这里的网络请求是用的装饰者模式去写的,什么是装饰者模式呢?在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。我的理解就是一个接口,两个实现类,一个实现类负责调用接口的方法,另一个类负责功能的具体实现...
2018-02-23 17:14:02 2247 10
原创 从零开始搭建一个主流项目框架(二)—MVP+Dagger2
个人博客:haichenyi.com。感谢关注 接着上一篇简单的框架,没有看过的同鞋可以去喵一眼。上一篇我们搭好了简单的框架,初始化一次的内容丢在Application里面,所有的activity继承一个类BaseActivity,还有Fragment继承的一个类BaseFragment 现在我们来加上MVP,不懂MVP的同鞋可以看一下,我前面写过的三种主流框架的对比。我们先导入dag...
2018-02-23 15:10:59 4854 4
原创 从零开始搭建一个主流项目框架(一)—简单的框架
个人博客:haichenyi.com。感谢关注目的 首先先说出,最终的目的是现在主流的MVP+RxJava+Retrofit+OkHttp框架。让大家心里有底 开发工具Android Studio3.0,还在用eclipse的同鞋,强烈推荐你跨出这一步,你会发现一个新的世界。android studio都出来这么久了,你还在远古时代做开发,说句不好听的,你完全与时代脱轨,你不适...
2018-02-23 12:21:32 5736 5
原创 MVC、MVP、MVVM比较
个人博客:haichenyi.com。感谢关注MVC 我们刚接触android写代码的时候基本上都是MVC架构。什么是MVC架构呢? MVC:Model View Controller的简称。流程图如下: 当用户发出事件的时候,首先通过V层,通知C层,然后C层通知Model层数据发生了变化,更新数据,M层直接显示数据到V层。 通俗的讲,xml可以理解层View层,你...
2018-02-22 17:05:15 302
原创 Android事件分发机制原理
个人博客:haichenyi.com。感谢关注推荐:非著名程序员的安卓自定义View教程目录,我的自定义view就是看他的这个系列学会的 首先,我们需要确认的是android的事件传递机制是责任链模式,如果自己能处理就拦截下来自己处理,如果自己处理不了或者不确定就传递给下一个对象事件的拦截、分发、消费 我们要知道三个方法,控制事件反而拦截,分发与消费。如下表: 类型...
2018-02-12 13:45:51 381
原创 IO编程和NIO编程简介
个人博客:haichenyi.com。感谢关注 传统的同步阻塞I/O通讯模型,导致的结果就是只要有一方处理数据缓慢,都会影响另外一方的处理性能。按照故障设计原则,一方的处理出现问题,不应该影响到另外一方才对。但是,在同步阻塞的模式下面,这样的情况是无法避免的,很难通过业务层去解决。既然同步无法避免,为了避免就产生了异步。Netty框架就一个完全异步非阻塞的I/O通讯方式同步阻塞式I/O编...
2018-02-12 10:21:28 323
BufferTextInputLayout的简单用法
2017-03-28
基于SystemBarTint、BottomNavigationBar实现的一个简单的项目框架
2017-03-18
MyApplication.rar
2019-05-24
MVP+Dagger.Android+LiveData+RxJava2.0+Retrofit2.0+OkHttp
2018-12-10
Dagger.Android+LiveData搭的简单的项目框架
2018-12-04
MyProject8
2018-03-01
CoordinatorLayout的常见用法4种
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人