- 博客(84)
- 收藏
- 关注
转载 AbstractProcessor: 利用注解动态生成代码
https://blog.csdn.net/Gaugamela/article/details/79694302
2019-02-19 16:25:37 4209
转载 Java注解
什么是注解注解对于开发人员来讲既熟悉又陌生,熟悉是因为只要你是做开发,都会用到注解(常见的@Override);陌生是因为即使不使用注解也照常能够进行开发;注解不是必须的,但了解注解有助于我们深入理解某些第三方框架(比如Android Support Annotations、JUnit、xUtils、ActiveAndroid等),提高工作效率。常见注解APIAndroid开发过程中...
2019-02-19 16:15:16 241
原创 设计模式六:适配器模式
前面我们讲了创建型设计模式 那么接下来开始接触结构型设计模式 结构型设计模式 能够帮助我们解耦 从而扩大整体的类结构 方便后续扩展适配器模式:就相当于我们的转接口 比如我的耳机是原型插口 手机比较新 是TabC接口 那么就需要一个转换头 也就是适配器...
2018-06-23 18:40:59 740
原创 设计模式五:原型模式
创建型模式最后一种 原型模式 (一般用于框架)或者称为克隆模式使用场景:当对象创建比较繁琐 耗时 或者有访问权限的时候 可以使用原型模式 (以某个对象为原型 复制出新的对象 不同于new)实现: 实现Cloneable 接口和重写clone方法(内存赋值)public class Sheep implements Cloneable { public String name; p...
2018-06-21 11:34:46 233
原创 设计模式四:建造者模式
应用场景: 如果开发中我们需要构建复杂对象(属性很多 装配比较麻烦) 一般使用建造者模式本质: 实现了组件的构造(builder)和装配(Director)的分离不同的构建相同的组装那么产生的对象时不同的public class AirShip { private Engine engine;//发动机 private Escape escape;//逃离器 ...
2018-06-21 10:53:47 197
原创 设计模式三:工厂设计模式
核心作用: 实现了创建者和调用者的分离 --简单工厂 --工厂方法模式 --抽象工厂模式简单工厂interface Car { void run();}public class AudiCar implements Car { @Override public void run() { Log.d("Car","audica...
2018-06-20 11:04:19 226
原创 设计模式二:单例设计模式
核心作用:(保证每个类只有一个实例 提供一个访问该实例的全局访问节点)常见应用场景 Windows 的Task Manager(任务管理器) 日志管理 数据库设计 application .... 总结下: 如果我们初始化需要资源消耗比较大(数据库对象创建、配置文件读取) 单例设计模式的实现 常见: 饿汉式: public class Mo...
2018-06-18 16:51:31 170
原创 设计模式一:导论
前言 通过课程来学会或者说掌握设计模式 是不现实的 课程只能是让你能够学习一种思维 关键是通过在工作中实践来掌握设计模式 就是代码设计的模板 重点在于不同的场景对不同模式的需求先了解下23种设计模式创建型模式: 单例、工厂、抽象工厂、建造者、原型结构型模式: 适配器、桥接、装饰、组合、外观、享元、代理行为型模式: 模板方法、命令、迭代器、观察者、中介、备忘录、解释器...
2018-06-18 16:20:18 230
原创 关于编译版本降级25以下 gradle build 异常Execution failed for task ':libclear_dex:mockableAndroidJar'
Execution failed for task ':libclear_dex:mockableAndroidJar'.> java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.builder.utils.FileCache$FileCreatorExcep...
2018-06-14 11:19:00 1177
原创 从java到Kotlin学习五:kotlin系统类型
与java相比 kotlin引入了一些新的特性 来提升代码的可读性 那么我们开看下kotlin 的特性 可空性
2018-06-01 16:01:24 248
原创 从java到Kotlin学习四:Lambd编程
lambd是在java8中被引入的 使用起来非常简便函数参数代码块 原始方式: 使用匿名内部类实现事件处理器(比如click事件监听) bt.setOnclickListener(object:OnclickListener(){ public void click(){ ... }}) lambd:bt.setOnclickListener({...})是不...
2018-05-24 17:13:44 444
原创 从java到Kotlin学习三:类 对象 和接口
相比较java来说 没有太大改变 我们一起来看下 这章节我不在粘java的例子了 但是 会做简单总结 这样大家能看的更明确一点 接口java public interface _Clickable { void click();}public class _ClickAbleImpl implements _Clickable{ @Override public v...
2018-04-16 10:52:24 363
原创 从java到Kotlin学习二:函数与类
函数的定义和调用集合kotlin 并没有创建自己的集合类 而是使用java 的集合类 这样可以完美实现和java 的互相调用 创建: java : Int [] array=new Int[count] List list=new ArrayList() Map map=new HashMap()kotlin var array:IntArray=intArrayO...
2018-04-12 21:19:49 266
转载 Android 系统架构组件--Paging Library
Room持久化库Room为SQLite提供一个抽象层,在充分利用SQLite的同时,允许流畅的数据库访问注意:引入Room到你的android工程,参看 adding components to your project应用处理大量的结构化数据能够从本地持久化数据获益很多,最通用的例子是缓存相关的数据碎片。那样,当设备不能访问网络的时候,用户仍然可以浏览内容。任何用户发起的内容改变在设备恢复网络的...
2018-04-11 20:56:19 806
原创 Android 系统架构组件--Room Persistence Library
Room持久化类库官方The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.The library helps you create a cache of your...
2018-03-29 21:11:36 420
原创 Android 系统架构组件--Save UI State
写在前面 : 关于Room 我放在下一篇写 按照官方推荐路线学习 可能会容易点~ 简介: 无论我们是不是注重UI ,UI一直是用户体验最关键的部分 对于用户来讲 无论是横竖屏切换 还是重启 或者 系统强制停止运行 当界面回复的时候 用户都希望之前的操作状态能够被保留 我们通常的做法是通过onSaveInstanceState(也不知道是不是拼对了) 来实现 简单数据的恢复,通过前面几篇文章的...
2018-03-29 20:57:36 337
原创 Android 系统架构组件--ViewModel
可能有人觉得我写的 和官网不太一样 我这几篇关于架构组件的博客 是自己在学习的过程中的随笔 也可能有很多错误 只能说作为参考 后面我再使用过程中 会不断纠正自己之前的理解 简介:上一篇 关于LiveData 的学习 相信都差不多能看懂 我们再使用liveData的过程中 将其放在ViewModel中进行存储管理了 那么究竟什么是ViewModel 他有什么用处 好处呢 ? 我们根据文档 大概...
2018-03-29 18:04:24 364
原创 Android 系统架构组件--LiveData
简介: LiveData 数据观察者持有类 拥有生命周期感应的特性 所以他实在对应组件的生命周期内(例如 activity fragment service 等等)完成数据活动 liveDate 也可以理解成一个观察者 在被观察者(生命活动持有者)的生命周期处在onstart 或者onResume 的状态下 也就是active的状态下 可以接受到liveData的事...
2018-03-26 16:45:43 383
原创 Android 系统架构组件--生命周期感应组件(Lifecycle-Aware Components)
简介: 生命周期感应组件简单来说 例如:a 启动了b 进行一个耗时操作 当a销毁时 我们应该结束b中的耗时操作 销毁b对象 换句话说 也就是b应该对a的生命周期状态做出正确的相应 生命周期感应组件 就是来使我们这种操作变得更加方便 准确 简洁的一种方式class MyLocationListener { public MyLocationListener(...
2018-03-22 15:57:52 453
原创 从java到Kotlin学习一:初了解kotlin
函数(表达式函数体)java 写法: public Int methodName(int a){//TODO}kotlin 写法:fun methodName(a:Int):Int{if(a>b)return a else return b } 特性: 可以使用表达函数体同时省略返回类型(当函数体只有一个表达式组成的时候)--as 可以自己转换 fun methodName(a:Int...
2018-03-22 11:02:29 295
原创 gradle学习一:上传项目到maven
写在前面: 之前尝试上传aar到github 然后本地引用一直不成功 也不知道咋整的 所以尝试了下 上传到maven 挺好用 顺便记录下 1.注册账号 https://bintray.com/ 如下图 建议选择自己注册 不使用三方登录 (可能会有坑) 登录之后 点击编辑 之后来获取我们的apikey 输入密码 提交之后 就能看到获取apikey 之后 通过show可...
2018-03-16 16:15:45 712
转载 git merge 和 git rebase 小结
原文出处:http://blog.csdn.net/wh_19910525/article/details/7554489Git merge是用来合并两个分支的。git merge b # 将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支-----------------------------------他们
2017-01-14 12:21:48 323
原创 压缩图片工具类(在保证图片清晰度的情况下 尽可能的压缩图片的大小)
倒入类库 compile 'me.shaohui.advancedluban:library:1.3.1'封装的工具类package com.wisdomschool.stu.utils;import android.content.Context;import android.graphics.Bitmap;import android.text.TextUt
2016-12-30 17:43:41 2834 3
原创 swipRefreshLayout 和Scrollview 以及recycleView嵌套产生滑动冲突问题解决
使用 NestScrollView来替代 ScrollView 可以在滑动到顶部的时候才会出发swip Refreshlayout 那么此时滑动会有点卡顿 那么只能自定义NestScrollView 重写onTouchEvent方法 同时 设置verticalManager.setSmoothScrollbarEnabled(true);verticalManager.
2016-12-29 17:15:45 1468
原创 打包遇到的坑
Android Studio 错误 com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536gradle中引用的包太多 android dex最大索引范围为65536个方法 一旦超过酒会报这种错误 那么此时就需要使用1.去掉无用的引用包 2.优化代码3.分包编译技术4.使用p
2016-12-29 17:13:25 357
原创 关于权限问题
关于6.0权限 使用PermissionDispater 需要注意的问题使用的activity 必须继承AppCompatActivity不支持fragment遇到这么坑的问题时 我只想嚎啕大哭 但是部门妹子太多 哭起来没人心疼 还是自己整吧 一般使用手动定义的 /** * 添加权限 */private void addPermission() {
2016-12-29 17:10:20 425
原创 RxJava遇到的坑
java.lang.InternalError at rx.internal.util.unsafe.UnsafeAccess.a(UnsafeAccess.java:115) at
2016-12-29 17:03:44 2826
原创 关于Rxjava for android学习(基础篇)
一 简介RxJava是实现异步操作的库 那么在有很多异步成熟实现的基础上 我们为什么还要使用RxJava呢? 异步操作很关键的一点是程序的简洁性,因为在调度过程比较复杂的情况下,异步代码经常会既难写也难被读懂。 Android 创造的 AsyncTask eventBus 和Handler ,其实都是为了让异步代码更加简洁。RxJava 的优势也是简洁,但它的简洁的与众不同之处在于,
2016-12-29 16:14:40 750
原创 android studio 恢复误删除文件
真是手欠 欠欠欠啊 不小心删除了项目中的model文件夹 还好能恢复 要不就哭死了 选中项目 右键 local history --> show history--》revert ok了 是不是很好用
2016-11-05 14:49:38 4591 4
原创 自定义布局实现头部搜索框
android:layout_width="match_parent" android:layout_height="@dimen/height_96" android:orientation="horizontal" android:paddingRight="20px" android:background="@color/blue_0f9cfe" an
2016-11-05 11:06:24 1958 1
原创 webview和swiperefreshLayout 的下拉冲突问题
webview和swiperefreshLayout 的下拉冲突问题由于webview比较特殊,如果不进行特殊的处理的话,下拉和webview的滚动就会发生冲突,这个解决办法也很简单,只要把重写一下swiperefreshLayout的 onTouchEvent 方法就可以了 代码:package com.spring.swiperefreshlayout.view;i
2016-11-05 11:04:50 3835 11
原创 EventBus的使用散记
自从接触了RX 总觉得EventBus没有以前那么高大上了 不过 使用习惯了 不舍得放下 尤其是推出3.0以后 功能好像更佳人性化了 以前在使用订阅者 接受线程模型的方法的时候 方法名必须是onEvent开头的 现在 i 通过添加注解的形式 改变了这种强迫症不过我却掉坑了 /** * 主线程接受消息模型 */@Subscribe(threadMode = ThreadMode
2016-10-27 14:17:46 311
转载 EventBus的使用
什么是EventBusEventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。详细Demo:Android EventBus实战
2016-10-27 14:15:04 344
原创 React Native 学习笔记二十一(导航器三方 插件学习)
所有的app设计,都会考虑导航的问题,android一般采用底部tabbar,但是最新的设计方案,更多的倾向于头部tabbar,或者头部scrollTabBar。本方案还是采用底部模式。react-native最佳实践,推荐的解决方案, github地址 。 如何使用 react-native-router-flux 依赖于 ExNavigator ,所以首先要安装
2016-10-24 15:56:50 1936 1
原创 React Native 学习笔记二十一(定时器学习)
阅读本文大约需要3分钟今天主要讲解Timers(定时器)模块,该部分在我们开发中是非常常用的。例如可以实现:秒杀中的倒计时,任务延迟执行等等。本文所讲知识点定时器基本内容以及对比InteractionManager(交互管理器)TimerMinxin 定时器相关实例基本内容Timers(定时器)是应用中非常重要
2016-10-24 14:53:22 2187
原创 React Native 学习笔记二十(关于ListView的使用)
完整讲解链接使用三方封装的插件 完成 listView的下啦刷新 并添加网络请求 /** * Created by zhangyanjiao on 16/10/21. */import React, {Component} from 'react';import { PullList} from 'react-native-pull';import { S
2016-10-21 15:11:44 1018 2
原创 React Native 学习笔记十九(关于开发环境)
关于React Native 我使用的开发环境时webStrom 链接就不给了 自己搜吧 添加插件 就可以进行开发了 插件地址:https://github.com/virtoolswebplayer/ReactNative-LiveTemplateReactNative的代码模板,包括:组件名称Api 名称所有StyleSheets属性调用ReactNative
2016-10-21 14:48:37 392
原创 React Native 学习笔记十八(关于样式 补充)
之前关于样式 我们之前说到了 单一样式的设置 以及根据条件选择样式 今天将对前面的样式进行补充 将样式的创建放在最后 是为了 只创建一次 并不是每次render都进行创建样式覆盖import React,{ Component } from 'react';import { View, Text, StyleSheet}from 'react-nat
2016-10-20 15:54:42 367
原创 React-Native 学习笔记十七(网络请求)
关于网络请求 不多说了 例子上面都有注释/** * Created by zhangyanjiao on 16/10/20. */import React,{Component} from 'react';import { Image, View, StyleSheet, Text, ListView,ToastAndroid}from
2016-10-20 15:00:29 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人