
笔记
文章平均质量分 88
这个,昨天还是正常的...
这个作者很懒,什么都没留下…
展开
-
常用布局
布局概念布局是子控件在容器中组织方式和排列位置的规划。内涵1,把界面中的控件按照某种规律摆放在指定的位置2,每种布局对应一个容器,都有各自的摆放特点3,常用布局(Layout)的父类都是ViewGroup 容器视图帧布局、网格布局、表格布局、绝对布局帧布局什么是帧布局定义FrameLayout是按照层次堆叠在屏幕上的布局容器。内涵1.FrameLayout是最简单的布局了...原创 2018-12-26 21:22:57 · 153 阅读 · 0 评论 -
简单使用自定义ButterKnife
县创建好项目之后,点击File,新建一个Module,再选择Library,将Module添加依赖新建自定义注解@interface1,查找控件@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface BindView { @IdRes int value() default V...原创 2019-08-02 21:27:03 · 167 阅读 · 0 评论 -
Kotlin 的单例,枚举以及印章类
单例关键字:object我们在定义一个类时,使用object 替换 class 来修饰这个类,就表示,这是一个单例类单例类作为代理人时,不需要()1、场景说明小头爸爸为了增进父子感情,想和小头儿子一起洗碗3、代码实现(1)、小头爸爸重写接口方法 —— 未使用单例时的错误写法class SmallHeadFather:IWashBow by BigHeadSon(){ ...原创 2019-07-24 21:19:54 · 326 阅读 · 0 评论 -
RxJava 的异步实现
RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。观察者模式先简述一下观察者模式,已经熟悉的可以跳过这一段。观察者模式面向的需求是:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。举个例子,新闻里喜闻乐见的警察抓小偷,警察需要在小偷伸手作案的时候实施抓捕。在这个例子里,警察是观察者,小偷是被观察者,警察需要时刻盯着小偷的一举一动,才...转载 2019-07-19 21:29:34 · 2722 阅读 · 0 评论 -
RxJava2.0入门
首先,RxJava1.0和RxJava2.0的核心思想都是观察者模式,只不过RxJava2.0在RxJava1.0的基础对一些方法进行了优化,方便于开发者更好地理解其编程思想,同时又增加了一部分新的方法解决1.0存在的问题,例如背压等。所以,如果你学习过RxJava1.0那么很好,你可能已经理解了什么是观察者模式;如果你没有学过RxJava1.0,当然也不必着急,因为本文将从最基本的观察者...转载 2019-07-23 19:39:43 · 157 阅读 · 0 评论 -
MVP模式的简单介绍以及理解
1.什么是MVP?Model: 业务逻辑和实体模型View:用户交互和视图显示,在android中对应activityPresenter: 负责完成View于Model间的逻辑和交互2.为什么要用MVP?通常我们都用MVC。但是原有的MVC模式有一些短板。比如在android开发中,activity充当着MVC中Controller的角色,但是在实际开发中还需要处理view的逻辑(既担...转载 2019-07-18 21:26:30 · 1002 阅读 · 0 评论 -
尾递归
一、什么是尾调用?尾调用的概念非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。function f(x){return g(x);}上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下两种情况,都不属于尾调用。// 情况一function f(x){let y = g(x);return y;}// 情况二function f(x){ret...原创 2019-07-11 21:06:51 · 167 阅读 · 0 评论 -
自定义View实现雷达扫描倒计时功能
最近在做一个项目,其中有一个页面是要做一个类似于雷达扫描的效果,和网上看了很多种方法,发现代码量有点多,于是,自己弄了一个简单的。话不多说,直接上代码public class Vv extends View { Handler handler=new Handler(); Paint paint;//绘制扇形的笔 Paint paint2;//绘制数字的笔 P...原创 2019-07-15 21:08:12 · 366 阅读 · 0 评论 -
kotlin安卓基础
变量在Kotlin中,定义变量是用关键词开始,然后是变量名称,最后才是变量类型,如下:var a : Int = 101如果不指明变量的类型,编译器也能分析出 = 后的表达式的值,并将它的类型作为变量的类型,这是Kotlin的特点之一:类型推断。如下:var str ="hello world!"1如果变量没有初始化值,编译器无法推断出它的类型,这时就必须显式地指定类型,如下:...原创 2019-07-05 21:14:11 · 145 阅读 · 0 评论 -
Kotlin函数入门
main() 程序入口println() 打印函数声明基本格式:fun 函数名(参数:参数类型){函数体}0、Boolean运算Math.sqrt(5.0) //sqrt()–开根号,获取5.0的开根值,即根号5的值Math.pow(2.0,100.0) //pow()–幂函数,计算2的100次方1、命令行交互式工具不实用,内容省略。2、函数加强函数命名格式...转载 2019-07-09 21:18:18 · 828 阅读 · 0 评论 -
Kotlin系列之Lambda表达式完全解析
一、为什么要使用Kotlin的lambda表达式?针对以上为什么使用Kotlin中的lambda表达式的问题,我觉得有三点主要的原因。1、Kotlin的lambda表达式以更加简洁易懂的语法实现功能,使开发者从原有冗余啰嗦的语法声明解放出来。可以使用函数式编程中的过滤、映射、转换等操作符处理集合数据,从而使你的代码更加接近函数式编程的风格。2、Java8以下的版本不支持Lambda表达式,而...转载 2019-07-12 21:25:01 · 539 阅读 · 0 评论 -
SQLite数据库
一.SQLite数据库介绍1.Android 系统中集成的轻量级的数据库2.特点:轻量级 只用一个动态的库, 是以单个文件的形式进行存取跨平台 支持多个操作系统零配置 无需安装, 直接使用嵌入式 内嵌到手机中3.在程序的内部可以通过数据库的名称访问, 其他应用不能访问4.路径: data/data/应用程序包名/database/ ****.db5.存放的类型:NULL 空值...原创 2019-07-08 21:32:39 · 326 阅读 · 0 评论 -
Git常用命令符
1.强制推送(慎用,除非你认为其他冲突等可以丢弃 或者不是很重要)git push – force2.创建文件等小命令touch a // 创建一个a文件echo 1234 >> a // 把1234这个内容放入a文件cat a // 打开a文件 读取出a文件中的内容mkdir test // 创建test文件夹rm 文件名 // 删除文件pwd // 打印当前工作路径...原创 2019-09-16 09:07:47 · 2886 阅读 · 0 评论