- 博客(62)
- 资源 (57)
- 收藏
- 关注
原创 Android源码分析
Android 开源项目源码解析android-open-project-analysis这是一个协作项目,最终多数开源库原理解析会在这里分享出来Android源码设计模式分析项目android_design_patterns_analysis该项目通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实
2017-03-21 17:42:29 1373 1
原创 Java设计模式
Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的进行了整理,方便大家下载阅读,希望能给各位带来帮助!
2017-03-21 17:34:08 1846 1
原创 Android的消息机制
1. ANR异常Application No Response:应用程序无响应。在主线程中,是不允许执行耗时的操作的,如果主线程阻塞的时间大于6秒,就很有可能出现anr异常。主线程,要完成界面的更新,事件的处理,窗体显示的回调,所以如果主线程阻塞时间较长,就不能很好的处理以上比较重要的事情,那么Android有一个机制,就是如果他发现消息队列中有很多消息,主线程没办法响应的话,他就会抛出anr异常。
2017-03-03 17:01:58 1335
原创 Android的事件分发
一、Touch事件和绘制事件的异同之处Touch事件和绘制事件很类似,都是由ViewRoot派发下来的,但是不同之处在绘制事件是由应用中的某个View发起请求,一层一层上传到ViewRoot,再有ViewRoot下发绘制,传递canvas给所有子View让其绘制自身,绘制好后,再通知WMS进行画到屏幕上。而Touch事件是由硬件捕获到触摸后由系统传递给应用的ViewRoot,再由ViewRoot往下
2017-03-02 17:18:53 2678 1
转载 Java并发编程-并发工具包java.util.concurrent使用指南
Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。本文我将带你一一认识 java.util.concurrent 包里的这些类,然后你可以尝试着如何在项目中使用它们。本文中我将使用 Java 6 版本,我不确定这和 Java 5 版本里的是否有
2017-03-24 22:41:04 16203 2
原创 即时通讯:XMPP项目实践-微聊
1. 项目简介做一个类似QQ 的通讯工具,要求有注册、登录、添加好友、添加分组、聊天、退出登录等功能。我用8 张运行效果图来展示我们将要实现的功能。 注意,服务器用的是Openfire,我们可以用Spark 作为另外一个客户端进行测试。 闪屏页进来以后是登录界面,要求记住上次登陆的账号和密码,在界面的右下角有新用户按钮,点击后进入注册界面。注册只需要输入账号和密码即可。账号不能和其他人重复,否则注
2017-03-16 16:53:48 3694 6
原创 即时通讯:XMPP基础
XMPP(Extensible Messaging and Presence Protocol)是一种基于标准通用标记语言的子集XML 的协议,它继承了在XML 环境中灵活的发展性。因此,基于XMPP 的应用具有超强的可扩展性。经过扩展以后的XMPP 可以通过发送扩展的信息来处理用户的需求,以及在XMPP 的顶端建立如内容发布系统和基于地址的服务等应用程序。
2017-03-16 16:51:37 5169
原创 即时通讯基础
即时通讯系列阅读即时通讯基础即时通讯:XMPP基础即时通讯:XMPP项目实践-微聊1. 即时通讯简介即时通讯(Instant Messaging)是目前Internet 上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。不容置疑,Internet 已经成为真正的信息高速公路。从实际工程应用角度出发,以计算机网络原理为指导,结合当前网络中的一些
2017-03-16 16:49:36 3509
原创 揭秘Java网络爬虫程序原理
随着互联网+时代的来临,越来越多的互联网企业层出不穷,涉及游戏、视频、新闻、社交、电商、房产、旅游等众多行业。如今互联网成为大量信息的载体,如何有效地从中提取有价值的信息并利用这些信息成为一个巨大的挑战爬虫,一个可怕的怪物,从百度、Google等搜索引擎公司诞生开始便有了它的身影,如今移动互联网时代爬虫更是猖狂,每个网站似乎都被它光顾过,只是你看不到,不过你放心它不干坏事,你能在网上迅速搜索到你到的
2017-03-15 19:49:43 25817 4
转载 Retrofit2 完全解析 探索与okhttp之间的关系
1. 概述之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底层对网络的访问默认也是基于okhttp,不过retrofit非常适合于restful url格式的请求,更多使用注解的方式提供功能。既然这样,我们本篇博文首先研究其所提供的常用的用法:一般的get、post请求动态url,动态参数设置,各种注解的使用上传文件(单文
2017-03-15 02:07:14 970
转载 Android 一个改善的okHttp封装库
1. 概述之前写了篇Android OkHttp完全解析 是时候来了解OkHttp了,其实主要是作为okhttp的普及文章,当然里面也简单封装了工具类,没想到关注和使用的人还挺多的,由于这股热情,该工具类中的方法也是剧增,各种重载方法,以致于使用起来极不方便,实在惭愧。于是,在这个周末,抽点时间对该工具类,进行了重新的拆解与编写,顺便完善下功能,尽可能的提升其使用起来的方便性和易扩展性。标题的改善,
2017-03-15 02:05:29 602
转载 Android Https相关完全解析 当OkHttp遇到Https
1. 概述其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了。首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baidu.com,https://github.com/hongyangAndroid/okhttp-utils等,你可以直接通过okhttp请求试试。不过要注意的是,支持的https的网站基本都是CA机构颁
2017-03-15 02:04:12 657
转载 Android OkHttp完全解析
1. 概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用,主要包含:一般的get请求一般的post请求基于Http的文件上传文件下载加载图片支持请求回调,直接返回对象、
2017-03-15 02:03:02 786
转载 Android Volley完全解析4:带你从源码的角度理解Volley
经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。多数朋友突然看到一张这样的图,应该会和我一样,感觉一头雾水吧?
2017-03-15 02:01:12 478
转载 Android Volley完全解析3:定制自己的Request
经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片。
2017-03-15 01:59:57 501
转载 Android Volley完全解析2:使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知道,Uni
2017-03-15 01:58:39 468
转载 Android Volley完全解析1:初识Volley的基本用法
我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。
2017-03-15 01:56:35 510
转载 Http协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。
2017-03-15 01:39:57 418
转载 抓包工具Wireshark基本介绍和学习TCP三次握手
之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,
2017-03-15 01:30:00 4945
原创 TypeError: Path must be a string. Received undefined
TypeError: Path must be a string. Received undefined
2017-03-13 17:36:16 13977
原创 Java语法基础-2
流程控制语句在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。流程控制语句分类:顺序结构、选择结构、循环结构
2017-03-12 17:33:56 1356
转载 NIO和AIO
摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍: 什么是NIO Buffer Channel 网络编程 AIOIO感觉上和多线程并没有多大关系,但是NIO改变了线程在应用层面使用的方式,也解决了一些实际的困难。而AIO是异步IO和前面的系列也有点关系。在此,为了学习和记录,也写一篇文章来介绍NIO和AIO。1. 什么是NIONIO是New I/O的简称,与
2017-03-12 15:00:42 542
转载 JDK7 AIO介绍
JDK7已经release一段时间了,有个重要的新特性是AIO。今天趁闲暇,简单体验了下,Io的两个重要步骤:发起IO请求,和实际的IO操作。在unix网络编程的定义里异步和非异步概念的区别就是实际的IO操作是否阻塞。如果不是就是异步,如果是就是同步。
2017-03-12 14:57:55 1128
转载 Java NIO 系列教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。
2017-03-12 13:35:56 477
原创 fatal: unable to access : The requested URL returned error: 403
C:\Users\AllenIverson\Desktop\gitbook-test>git push -u gitbook masterremote: Forbiddenfatal: unable to access 'https://git.gitbook.com/alleniverson/mybook.git/': The requested URL returned error: 403
2017-03-11 21:36:17 21488 9
原创 GitBook使用教程
各大站长平时除了写博客外,可以使用 gitbook 将一系列的博客专栏整理成电子书出版。这样既方便各大网友阅读,还可以带来新的离线阅读功能。在以前我们只能靠出版社,或者编写 word 文档,来实现。然而有了 gitbook 之后,一切都变得那么简单了。今天就为大家分享一下,如果在 Windows 系统上安装 gitbook,进行电子书的编写和发布。
2017-03-11 16:48:33 93503 12
转载 苹果核 - 页面动态化的基础 —— Tangram
12月10日在SFDC(SegmentFault Developer Conference)大会上初次介绍了手机天猫的Tangram方案,现场时间有限,讲得匆忙,特此整理记录。这篇内容是Tangram的整体介绍与相关业务开发实践的介绍,后续逐步会将更详细的方案整理成文分享出来。1. 什么是Tangram顾名思义,Tangram中文名是七巧板的意思,我们希望这个框架提供一系列基本单元,就像积木块一样
2017-03-10 21:39:14 1568
转载 苹果核 - Tangram 的基础 —— vlayout(Android)
1. 前言天猫沉淀了3年的一套界面解决方案已经开始陆续进入开源流程:首先开源的是Android基础组件VLayout vlayout 是手机天猫 Android 版内广泛使用的一个基础 UI 框架项目 提供了一个用于RecyclerView的自定义的LayoutManger,可以实现不同布局格式的混排,目标是支撑客户端native页面的快速开发。它也是 Tangram 框架的基础模块,现已开源,欢迎
2017-03-10 21:30:49 971
转载 非常全面的Android Bitmap知识点梳理
在日常开发中,可以说和Bitmap低头不见抬头见,基本上每个应用都会直接或间接的用到,而这里面又涉及到大量的相关知识。所以这里把Bitmap的常用知识做个梳理,限于经验和能力,不做太深入的分析。1. 区别decodeResource()和decodeFile()这里的区别不是指方法名和参数的区别,而是对于解码后图片尺寸在处理上的区别:decodeFile()用于读取SD卡上的图,得到的是图片的原始尺
2017-03-10 21:08:44 865
原创 Google VR全景图片与视频功能开发详解
1. VR开发概述时下关于“谷歌、Android与VR”的各种言论纷飞。VR群里有人在争论Android VR是不是一体机,是不是类似Android Wear、为VR打造的全新平台,是不是改良后的Android N。随着vr设备的流行开来,各大招聘平台上也发布了不少关于andorid vr开发相关的Android工程师岗位,从这点来说掌握vr在项目中的实际应用要点,有助于大家为自己的开发经验上增加前
2017-03-10 00:14:18 10731 1
原创 C/C++在Android开发中的应用
Android是基于Linux内核的一个手机操作系统,谷歌提供了开发包(Android SDK),程序员可以通过开发包开发Android App(应用程序)。Android SDK提供Java语言接口,因此Android应用是使用Java开发的。
2017-03-09 09:45:07 56227 11
原创 Android应用开发:网络编程-2
网络编程Java基础:网络编程Uri、URL、UriMatcher、ContentUris详解Android应用开发:网络编程1Android应用开发:网络编程21. 使用HttpClient发送get请求HttpClient是Apache开发的第三方框架,Google把它封装到了Android API中,用于发送HTTP请求。在Android.jar包中,可以看到有很多java的API,
2017-03-08 18:57:27 1957
原创 Android应用开发-快速入门
1G就是大哥大,手机类似于简单的无线电双工电台,通话是锁定在一定频率,所以使用可调频电台就可以窃听通话第二代GSM、CDMA等数字手机(2G):手机使用PHS,GSM或者CDMA这些十分成熟的标准,具有稳定的通话质量和合适的待机时间,支持彩信业务的GPRS和上网业务的WAP服务,以及各式各样的Java程序等
2017-03-08 17:51:00 2914
原创 Android应用开发:数据存储和界面展现-1
1. 相对布局RelativeLayout特点:相对布局所有组件可以叠加在一起;各个组件的布局是独立的,互不影响;所有组件的默认位置都是在左上角(顶部、左部对齐) 属性 功能描述 android:layout_toRightOf 在指定控件的右边 android:layout_toLeftOf 在指定控件的左边 android:layout_above 在指定控件的上边
2017-03-08 15:46:03 4201
原创 JNI与底层调用-2
在日常生活中,当手机丢失后,我们可以启动一系列的措施来获取丢失手机的位置信息,或者清楚丢失手机的数据来防止隐私数据泄露,本章就针对这些防盗保护措施进行讲解
2017-03-07 20:00:28 2789
原创 Android反编译
1. 安卓逆向助手有一款叫安卓逆向助手软件反编译apk 十分方便。这里给大家介绍的反编译方法就是基于这款软件的。安卓逆向助手下载地址Android逆向助手是一功能强大的逆向辅助软件。该软件可以帮助用户来进行apk反编译打包签名;dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等等,操作简单,只需要直接将文件拖放到源和目标文件。将下载好的rar 包解压缩以后目录结构如下(内置
2017-03-07 19:11:25 892
C语言程序设计教程
2017-07-29
Android面试宝典3.0 pfd 下载
2017-05-15
JavaWeb基础入门
2017-04-05
JavaWeb开发入门
2017-04-05
Java基础入门 版本5
2017-04-05
Java基础入门 版本4
2017-04-05
Java基础入门 版本2
2017-04-04
Android Studio 使用指南
2017-04-03
零基础学Python(第一版)
2017-03-30
Android面试宝典6.0
2018-08-06
Kotlin 基础教程
2017-10-03
Kotlin 极简教程
2017-10-03
RxJava入门教程
2017-09-30
RxJava基础入门教程
2017-09-29
RxJava教程
2017-09-29
零基础学Python
2017-09-28
Git和GitHub使用教程
2017-09-27
Java基础入门教程
2017-09-26
Glide v4 中文版
2017-09-25
kotlin-for-android-developers
2017-09-24
Kotlin极简教程
2017-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人