随笔分类 -  android提高篇

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 89 下一页
摘要:代理的概念:为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 抽象对象角色:就是代理类和委托类共同的接口,声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。 ... 阅读全文
posted @ 2019-02-19 15:40 brave-sailor 阅读(2315) 评论(0) 推荐(0)
摘要:预备知识: Java注解基础 Java反射原理 Java动态代理 一、布局文件的注解 我们在Android开发的时候,总是会写到setContentView方法,为了避免每次都写重复的代码,我们需要使用注解来代替我们做这个事情,只需要在类Activity上声明一个ContentView注解和对应的布局文件就可以了。 @ContentView(R.layout.activity_main) p... 阅读全文
posted @ 2019-02-19 15:34 brave-sailor 阅读(640) 评论(0) 推荐(0)
摘要:相关类型: java.lang.Class java.lang.reflect.Constructor java.lang.reflect.Field java.lang.reflect.Method java.lang.reflect.Modifier 作用: 1、反编译 .class –> .java 2、通过反射机制访问java对象的属性、方法、构造方法等。这个在android中经常用到... 阅读全文
posted @ 2019-02-19 15:32 brave-sailor 阅读(194) 评论(0) 推荐(0)
摘要:一、元注解 元注解的作用就是负责注解其他注解。 1.@Target @Target用来指明注解所修饰的目标,包括packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。 取值(ElementType)有: CONSTRUCTOR:用于描述构造器 FIELD:用于描述域 LOCAL... 阅读全文
posted @ 2019-02-19 15:12 brave-sailor 阅读(550) 评论(0) 推荐(0)
摘要:现在市面上很多框架都有使用到注解,比如butterknife库、EventBus库、Retrofit库等等。也是一直好奇他们都是怎么做到的,注解的工作原理是啥。咱们能不能自己去实现一个简单的注解呢。 注解(Annotation)是JDK1.5新增加功能,注解其实就是添加在类、变量、方法、参数等前面的一个修饰符一个标记而已(不要把他想的太复杂)。比如下面的代码里面@Overrid... 阅读全文
posted @ 2019-02-19 14:17 brave-sailor 阅读(1732) 评论(0) 推荐(0)
摘要:最近看HashMap源码,遇到了这样一段代码: 于是我整理学习了以下知识:1.十进制转二进制 原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。 比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于 阅读全文
posted @ 2019-02-18 17:07 brave-sailor 阅读(294) 评论(0) 推荐(0)
摘要:1、AndroidX简介 点击查看Android文档中对androidx的简介 按照官方文档说明 androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。 由于在后续版本中,会逐步放弃对suppo 阅读全文
posted @ 2019-02-15 17:56 brave-sailor 阅读(403) 评论(0) 推荐(0)
摘要:什么是反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(注意关键词:运行状态)换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其f... 阅读全文
posted @ 2019-02-15 16:20 brave-sailor 阅读(6001) 评论(0) 推荐(0)
摘要:今天安装了Android Studio 3.2,打开一个旧工程,编译提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"网上也有解决办法,就是下载旧版的NDK, 阅读全文
posted @ 2019-02-15 15:22 brave-sailor 阅读(4453) 评论(0) 推荐(0)
摘要:程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架,极大地节省了开发者开发的时间,在这里我进行了一下整理,这样可以使我们在使用到时快速的查找到,希望对大家有所帮助! 1. Retrofit 一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于An 阅读全文
posted @ 2019-02-15 11:24 brave-sailor 阅读(2675) 评论(0) 推荐(0)
摘要:1、BeautifulRefreshLayout-漂亮的美食下拉刷新https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFood2、Material Design-动画风格的选项卡tab切换功能h 阅读全文
posted @ 2019-02-14 17:26 brave-sailor 阅读(1806) 评论(0) 推荐(0)
摘要:android官方demo地址都放在了github上: https://github.com/googlesamples 阅读全文
posted @ 2019-02-14 17:20 brave-sailor 阅读(429) 评论(0) 推荐(0)
摘要:Arrays.asList() 是将数组作为列表 问题来源于: 期望的输出是 list里面也有4个元素,也就是size为4,然而结果是1. 原因如下: 在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数,但是因为int[] 本身就是一个类型,所以a变量作为参数传递时,编译器认 阅读全文
posted @ 2019-02-14 16:35 brave-sailor 阅读(200) 评论(0) 推荐(0)
摘要:常量 Java中: class StaticDemoActivity { public static final String LOAN_TYPE = "loanType"; public static final String LOAN_TITLE = "loanTitle"; } Kotlin中 阅读全文
posted @ 2019-02-13 11:14 brave-sailor 阅读(1985) 评论(0) 推荐(0)
摘要:之前写了一篇Kotlin中常量和静态方法的文章,最近有人提出一个问题,在companion object中调用外部的成员变量会调用不到,这才意识到问题,本篇文章会带着这个疑问来解决问题。 一、 object关键字 object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明。 1、对象 阅读全文
posted @ 2019-02-13 11:14 brave-sailor 阅读(1333) 评论(0) 推荐(0)
摘要:前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢。 如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码 目录 1... 阅读全文
posted @ 2019-01-25 17:02 brave-sailor 阅读(1006) 评论(0) 推荐(0)
摘要:现在RxJava和RxAndroid越来越火爆,自己在业余时间也学习了一下,感觉确实很好用,之前 为了完成页面刷新,数据请求,组件信息传递的时候,要使用handler,真的是逻辑思路很强,稍微不注意,就各种错误一大堆。这下有了RxJava和RxAndroid,真的爽。 RxJava 网上有很多给RxJava做定义的,很多人说的比较官方,而我是比较笨的那种人,所以看了很久也没有看懂,不过最后在一... 阅读全文
posted @ 2019-01-25 14:41 brave-sailor 阅读(589) 评论(0) 推荐(0)
摘要:今天在解决一个界面加载本地数据库数据的时候,使用rxjava在指定io线程操作是遇到一个问题,即使指定了在io线程操作,可是界面还是卡顿,最后通过打印线程Thread.currentThread().getId(),发现在创建Observable三种方式有区别: Observable.create( 阅读全文
posted @ 2019-01-25 10:59 brave-sailor 阅读(361) 评论(0) 推荐(0)
摘要:跨模块跳转不能跳转需要被跳转的模块或者说使用了ARouter注解的模块都要加上这个dependencies{ annotationProcessor rootProject.ext.arouterCompiler}和这个defaultConfig{ ...... javaCompileOptions 阅读全文
posted @ 2019-01-22 17:18 brave-sailor 阅读(3003) 评论(0) 推荐(0)
摘要:在开发组件化项目中,遇到一个这样的问题,两个不同的Module相互之间没有任何直接依赖关系,现在需求是需要在Module_A中调用Module_B中的某个类的方法,以下为解决此问题的方法; 采用的核心技术:路由、反射; 解决问题的过程,首先将需要调用的类通过路由注册,注册到路由中心,这里讲Module_B中的类注册到了路由中心,在Module_A中首先先通过路由中心获取到已经注册了的Modu... 阅读全文
posted @ 2019-01-22 15:17 brave-sailor 阅读(2399) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 89 下一页