安卓笔记侠

专注安卓开发

导航

统计

10 2016 档案

Android事件总线(三)otto用法全解析
摘要:前言 otto 是 Square公司发布的一个发布-订阅模式框架,它基于Google Guava 项目中的event bus模块开发,针对Android平台做了优化和加强。虽然Square已经停止了对otto的更新并推荐使用RxJava和RxAndroid来替代它,但是otto的设计理念和源码仍旧值 阅读全文

posted @ 2016-10-31 00:40 安卓笔记侠 阅读(1064) 评论(0) 推荐(0) 编辑

硅谷新闻9--图片三级缓存
摘要:1.三级缓存设计步骤: * 从内存中取图片 * 从本地文件中取图片 向内存中保持一份 * 请求网络图片,获取图片,显示到控件上 向内存存一份 向本地文件中存一份 1 package com.atguigu.beijingnews.utils; 2 3 import android.graphics. 阅读全文

posted @ 2016-10-31 00:35 安卓笔记侠 阅读(337) 评论(0) 推荐(0) 编辑

OkHttp3源码详解(一) Request类
摘要:每一次网络请求都是一个Request,Request是对url,method,header,body的封装,也是对Http协议中请求行,请求头,实体内容的封装 1.HttpUrl HttpUrl主要用来规范普通的url连接,并且解析url的组成部分 现通过下面的例子来示例httpUrl的使用http 阅读全文

posted @ 2016-10-30 23:40 安卓笔记侠 阅读(1187) 评论(0) 推荐(0) 编辑

网络编程总结
摘要:OSI分为物理层、数据链路层、网络层、传输层、会话层、表现层、应用层共七层。 1.物理层:通过媒介传输比特,确定机械和电气规范。(比特bit) 2.数据链路层:将比特组装成帧和点对点的传递。(帧frame) 3.网络层:负责数据包从源到宿的传递和网际互联。(包packet) 4.传输层:提供端对端的 阅读全文

posted @ 2016-10-30 19:43 安卓笔记侠 阅读(433) 评论(0) 推荐(0) 编辑

Android事件总线(二)EventBus3.0源码解析
摘要:1.构造函数 当我们要调用EventBus的功能时,比如注册或者发送事件,总会调用EventBus.getDefault()来获取EventBus实例: public static EventBus getDefault() { if (defaultInstance == null) { sync 阅读全文

posted @ 2016-10-27 23:46 安卓笔记侠 阅读(539) 评论(0) 推荐(0) 编辑

Android事件总线(一)EventBus3.0用法全解析
摘要:前言 EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广 阅读全文

posted @ 2016-10-26 22:58 安卓笔记侠 阅读(817) 评论(1) 推荐(1) 编辑

android 事件反拦截
摘要:有一种方法可以阻止父层的View截获touch事件,就是调用 getParent().requestDisallowInterceptTouchEvent(true);方法。一旦底层View收到touch的 action后调用这个方法那么父层View就不会再调用onInterceptTouchEve 阅读全文

posted @ 2016-10-25 22:49 安卓笔记侠 阅读(418) 评论(0) 推荐(0) 编辑

ViewPager防止Fragment销毁以及取消Fragment的预加载
摘要:存在的问题 1. 默认情况下,ViewPager会根据setOffscreenPageLimit()方法设置的大小,自动预加载2. 还是根据setOffscreenPageLimit()方法设置的大小,会去销毁fragment视图 下面的图说明情况 滑动fragment1,此时会预加载fragmen 阅读全文

posted @ 2016-10-25 20:01 安卓笔记侠 阅读(1160) 评论(0) 推荐(0) 编辑

最全的android学习资料
摘要:一、开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logcat ADB 复制代码 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK E 阅读全文

posted @ 2016-10-24 21:19 安卓笔记侠 阅读(889) 评论(0) 推荐(0) 编辑

线程间的通信方式1--共享变量(内存)
摘要:多个线程共享同一份内存,就是说,一个变量可以同时被多个线程所访问。这里要特别注意同步和原子操作的问题。 Java中最基本的同步例子。 如果觉得使用wait/notify比较麻烦,可以使用Java提供的BlockingQueue,从名字就可以看出它是一个阻塞队列。看下面的例子。 阅读全文

posted @ 2016-10-23 23:10 安卓笔记侠 阅读(784) 评论(0) 推荐(0) 编辑

H5调用Android拨打电话
摘要:1.AndroidAndJSInterface.java 2.deml.html 阅读全文

posted @ 2016-10-23 17:54 安卓笔记侠 阅读(7270) 评论(0) 推荐(0) 编辑

H5调用Android播放视频
摘要:webView.loadUrl("http://10.0.2.2:8080/assets/RealNetJSCallJavaActivity.htm"); js调用的Java文件中写 点击视频可以选择任意播放器 阅读全文

posted @ 2016-10-23 17:37 安卓笔记侠 阅读(1629) 评论(0) 推荐(0) 编辑

JavaScript调Java
摘要:1.映射Java对象到JavaScript对象上 MainActivity.java 注意:解决该WebView.addJavascriptInterface接口不起作用的两种办法 ①针对版本改成16 ②在JavaScript接口类的方法加上@JavascriptInterface注解 2.Java 阅读全文

posted @ 2016-10-23 17:15 安卓笔记侠 阅读(389) 评论(0) 推荐(0) 编辑

Java调用JavaScript
摘要:1.main.xml 2.demo.html 3.WebViewDemo.java 首界面 点击按钮时,html内容改变 阅读全文

posted @ 2016-10-23 17:00 安卓笔记侠 阅读(724) 评论(0) 推荐(0) 编辑

java代码代替xml实现图片
摘要:1.使用StateListDrawable替换selector 默认不好使需要在使用的对象设置为可点击的;有两种方法: 方法1 方法2: 2.使用GradientDrawable替换shape 阅读全文

posted @ 2016-10-23 10:44 安卓笔记侠 阅读(708) 评论(0) 推荐(0) 编辑

代理模式分类
摘要:一、代理概念 代理的两种模式静态代理和动态代理,这个是怎么区别的我们谈一下,Java中都是通过编译器生成.class文件,在通过JVM读取,然后加载到内存中,生成对应的需要对象,根据代理类创建的时间分成静态和动态代理,静态的代理就是在程序运行前.class文件就存在,我们经常使用的代理模式就是静态代 阅读全文

posted @ 2016-10-23 10:30 安卓笔记侠 阅读(1027) 评论(0) 推荐(0) 编辑

git 上传项目到github
摘要:1.本地新建文件夹GIT,Git Bash打开命令窗口, ①git config --global user.name "名字" eg: git config --global user.name "ganchuanpu" git config --global user.email "邮箱地址" 阅读全文

posted @ 2016-10-22 18:36 安卓笔记侠 阅读(249) 评论(0) 推荐(0) 编辑

Android系统架构与系统源码目录
摘要:1.Android系统架构 Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。 应用框架层(Java Framework) 应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供的API,当然也 阅读全文

posted @ 2016-10-22 18:21 安卓笔记侠 阅读(724) 评论(0) 推荐(0) 编辑

Android View体系(一)视图坐标系
摘要:前言 Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,在这个系列中我会陆续讲到View坐标系、View的滑动、View的事件分发等文章来逐步介绍Android View体系。 1.View简介 View是Android所有控件的基类,同时ViewGroup也是继 阅读全文

posted @ 2016-10-22 14:54 安卓笔记侠 阅读(595) 评论(0) 推荐(0) 编辑

设计模式(一)观察者模式
摘要:1.观察者模式模式简介 定义: 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 观察者模式结构图: Sub 阅读全文

posted @ 2016-10-22 07:15 安卓笔记侠 阅读(559) 评论(0) 推荐(0) 编辑

解决ArrayList线程不安全
摘要:前些天做项目时,程序出现意外的问题,经后来分析是使用ArrayList这个线程不安全的方法导致 解决这个问题通常有两种方法(个人认为) 一:使用synchronized关键字,这个大家应该都很熟悉了,不解释了; 二:使用Collections.synchronizedList();使用方法如下: 假 阅读全文

posted @ 2016-10-21 23:59 安卓笔记侠 阅读(2799) 评论(0) 推荐(0) 编辑

TraceView工具的使用
摘要:一、TraceView工具如何使用 TraceView有4种启动/关闭分析方式: (1) 第一种使用方法演示 1、 选择跟踪范围 在想要根据的代码片段之间使用以下两句代码 例如,onCreate与onStart方法之间方法跟踪 2、添加SD卡访问权限 如果不添加,执行项目会出现以下异常 如果手机没有 阅读全文

posted @ 2016-10-20 23:25 安卓笔记侠 阅读(1396) 评论(0) 推荐(0) 编辑

Service
摘要:1.Service 前台服务与Notification 我们在用很多应用的时候,发现他们启动的时候,会在通知栏生成一个和该App的通知,来继续执行Service,比如墨迹天气,很多音乐App.这种叫前台服务,其实这种Service有一个很好的一点,就是不会因为Service自身的优先级低,而被系统K 阅读全文

posted @ 2016-10-20 22:08 安卓笔记侠 阅读(432) 评论(0) 推荐(0) 编辑

Android之移动热修复
摘要:阿里云推出了移动热修复服务,听说这个服务傻瓜式接入,性能相对较好,对新技术比较好奇的我决定尝试一下。 1.首先,需要开通这个服务,创建应用 2.然后,在项目中接入服务。按照文档所述 第一步:gradle远程仓库依赖, 打开项目找到app的build.gradle文件,添加如下配置:添加maven仓库 阅读全文

posted @ 2016-10-20 20:27 安卓笔记侠 阅读(589) 评论(0) 推荐(0) 编辑

线程通信总结
摘要:1.共享变量(内存) 2.管道 3.handle机制 runOnUiThread(Runnable) view.post(Runnable) android 进程内的消息驱动机制 Handler,MessageQueue,Runnable,Looper Looper和Message的处理机制:首先在 阅读全文

posted @ 2016-10-19 23:44 安卓笔记侠 阅读(808) 评论(0) 推荐(0) 编辑

算法(一)时间复杂度
摘要:1.算法的效率 虽然计算机能快速的完成运算处理,但实际上,它也需要根据输入数据的大小和算法效率来消耗一定的处理器资源。要想编写出能高效运行的程序,我们就需要考虑到算法的效率。算法的效率主要由以下两个复杂度来评估:时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执 阅读全文

posted @ 2016-10-19 22:04 安卓笔记侠 阅读(752) 评论(0) 推荐(0) 编辑

Android深入理解Context(一)Context关联类和Application Context创建过程
摘要:前言 Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它。 1.Context概述 Context意为上下文或者场景,是一个应用程序环境信息的接口。在开发中我们经常会使用 阅读全文

posted @ 2016-10-19 20:21 安卓笔记侠 阅读(2023) 评论(0) 推荐(2) 编辑

Android SingleTask使用注意点
摘要:在ActivityA中,startActivityForResult到ActivityB,其中ActivityB设置为SingleTask。 那么在实际出现的现象为: ActivityA的onActivityResult将会首先被回调,然后再执行ActivityB的onCreate函数,也就说无论A 阅读全文

posted @ 2016-10-19 00:37 安卓笔记侠 阅读(2841) 评论(0) 推荐(0) 编辑

Android MVP
摘要:大家先看看目录结构 先看V层 View里面我写了一个接口LoginView 然后,在登录这个Activity 去实现这个接口,并实现其抽象方法。即看LoginActivity onCreate中引用了P view层点击事件条用了P层 我们再看P层。 最后M层 model里面我写了一个接口LoginM 阅读全文

posted @ 2016-10-18 20:30 安卓笔记侠 阅读(550) 评论(0) 推荐(0) 编辑

JAVA虚拟机总结
摘要:1.JVM内存模型 2.引用技术法和可达性分析法 3.对象的强、软、弱和虚引用区别与作用 4.jvm垃圾回收机制,以及回收算法 5.常见的OOM和SOF的原因和解决方案,以及通过什么工具进行分析。 6.常见的JVM输入参数熟悉 7.了解GC停顿,逃逸分析,TLAB区,堆外内存等 8.常用垃圾收集器: 阅读全文

posted @ 2016-10-17 21:05 安卓笔记侠 阅读(339) 评论(0) 推荐(0) 编辑

java8中Lambda表达式和Stream API
摘要:一、Lambda表达式 1.语法格式 Lambda是匿名函数,可以传递代码。使用“->”操作符,改操作符将lambda分成两部分: 左侧:指定了 Lambda 表达式需要的所有参数 右侧:指定了 Lambda 体,即 Lambda 表达式要执行的功能,也就是实现接口方法的代码 注:lambd可以省略 阅读全文

posted @ 2016-10-17 20:34 安卓笔记侠 阅读(820) 评论(0) 推荐(0) 编辑

算法总结
摘要:基础算法主要学习: 1.理解大O等记号 2.动态规划如:几类背包问题最好有现成的代码用于笔试。最长公共子序列 3.贪心算法:理解哈夫曼编码(笔试常考概念)哈夫曼树是一颗完全二叉树,不包含度数为1的节点。 4.B树B+树用于理解数据库索引 5.常用的图算法:广度优先借助队列,深度优先借助栈,最短路径算 阅读全文

posted @ 2016-10-17 20:10 安卓笔记侠 阅读(320) 评论(0) 推荐(0) 编辑

UI第三方
摘要:自定义下拉刷新控件 - RefreshableView(支持所有控件的下拉刷新)https://blog.csdn.net/cjh_android/article/details/52462367 亲测:有bug 仿照新浪微博 Android 客户端个人中心的 ScrollView,下拉背景伸缩回弹 阅读全文

posted @ 2016-10-17 20:06 安卓笔记侠 阅读(360) 评论(0) 推荐(0) 编辑

listview 异步加载图片并防止错位
摘要:1.图片错位原理: 如果我们只是简单显示list中数据,而没用convertview的复用机制和异步操作,就不会产生图片错位;重用convertview但没用异步,也不会有错位现象。但我们的项目中list一般都会用,不然会很卡。 在上图中,我们能看到listview中整屏刚好显示7个item,当向下 阅读全文

posted @ 2016-10-17 19:59 安卓笔记侠 阅读(611) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示