自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JackChan

生活不止眼前的苟且,还有诗和远方!

  • 博客(49)
  • 资源 (57)
  • 收藏
  • 关注

原创 导入Vitamio库后libBaiduMapSDK找不到

MPlugin: Unsupported class: com.mediatek.common.telephony.IOnlyOwnerSimSupportjava.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoaderNo implementation fo

2016-11-30 20:48:27 1202

原创 ImageView scaleType

matrixfitXY,fitStart,fitCenter,fitEndcenter,centerCrop,centerInside

2016-11-30 10:10:56 522

转载 ListView和RecyclerView的Adapter封装

原文链接Android 快速开发系列 打造万能的ListView GridView 适配器为RecyclerView打造通用Adapter 让RecyclerView更加好用Android 优雅的为RecyclerView添加HeaderView和FooterViewAndroid LRecyclerView实现下拉刷新,滑动到底部自动加载更多RecyclerView添加Header的正确方式Ad

2016-11-29 22:52:11 1708

转载 ViewPager+Fragment懒加载

原文链接:http://blog.csdn.net/zjf1165/article/details/51076642Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案在Android中我们经常会用到ViewPager+Fragment组合。然而,有一个很让人头疼的问题就是,我们去加载数据的时候由于ViewPager的内部机制所限制,所以它会默认至少预

2016-11-29 07:54:55 561

转载 使用ViewPager加载页面出现空白

原文链接:http://blog.csdn.net/zjf1165/article/details/51076642首次启动程序时首页空白,切换页面后正常为了便于管理,通常为ViewPager的每个子页面建立一个基类,然后用一个集合(一般用ArrayList)承载该ViewPager的所有子页面,然而在该基类的构造方法中一般引用initView()方法,使得某个子类在new的时候就创建视图,而在pa

2016-11-29 01:07:24 8335 2

转载 Fragment全解析系列

文/YoKey(简书作者) 原文链接:http://www.jianshu.com/p/d9143a92ad94 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。Fragment系列文章: 1、Fragment全解析系列(一):那些年踩过的坑 2、Fragment全解析系列(二):正确的使用姿势 3、Fragment之我的解决方案:Fragmentation本篇主要介绍一些最

2016-11-28 17:31:48 561

转载 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?

在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChanged()

2016-11-28 16:59:38 426

转载 Android Fragment中嵌套Fragment,不显示view

原文链接:http://www.jianshu.com/p/e146698482f5先看一段错误代码,这段代码写在一个 Fragment 中:private void initView(){ mViewPageAdpater = new ViewPageAdpater( getFragmentManager() ); mFragments.add( new BoonListFragme

2016-11-28 16:26:29 1127

转载 Android Fragment嵌套导致的bug

原文链接http://blog.csdn.net/megatronkings/article/details/51417510http://www.cnblogs.com/mengdd/p/5552721.htmlAndroid有碎片化的问题,当然本文说的碎片化不是指的系统版本碎片化的问题,而是Fragment组件碎片化的问题。很久之前,在Android 3.1系统发布的时候,Google推出了使用

2016-11-28 15:54:13 4298 1

转载 TabLayout属性详解

上图是简书Android端的主页Tab,在其他的App中Tab也是很常见的,它的实现方式也有很多:TabHost,自定义控件(第三方库),RadioGroup等等。这里主要介绍Android Design库中的TabLayout的使用。什么是TabLayout在源码中给出了TabLayout的定义:TabLayout provides a horizontal layout to display t

2016-11-27 17:39:01 3565 1

转载 requestWindowFeature()的应用

原文出处:http://blog.csdn.net/heng615975867/article/details/8735550Android开发中经常会在setContentView(R.layout.main_activity); 前设置requestWindowFeature(Window.xxx)。作用是需要软件全屏显示、自定义标题(使用按钮等控件)和其他的需求首先介绍一个重要方法那就是req

2016-11-27 12:13:41 624

转载 开源全能播放器Vitamio的使用

Vitamio简介:Vitamio是一个支持所有Android设备的多媒体框架。Vitamio与Android默认的MediaPlayer工作方式相似,但包含更加强大的功能!(注意:Vitamio商业化后个人免费、公司收费)

2016-11-27 10:25:50 4055

原创 Could not get unknown property 'ANDROID_BUILD_SDK_VERSION'

Error:(7, 0) Could not get unknown property ‘ANDROID_BUILD_SDK_VERSION’ for project ‘:InitActivity’ build.gradle如下apply plugin: 'com.android.library'dependencies {}android { compileSdkVersion Inte

2016-11-27 00:14:01 15323

转载 新闻阅读器频道管理

本例子实现的功能是很多新闻阅读器(网易,今日头条,360新闻等)以及腾讯视频等里面都会出现的频道管理功能,点击可以增删频道,长按拖拽排序。下面的效果图没有拖拽的时候的移动动画,DEMO里面有,可以下载看看 实现思路:获取数据库中频道的列表,如果为空,赋予默认列表,并存入数据库,之后通过对应的适配器赋给对应的GridView2个GridView–(1.DragGrid 2. OtherGridV

2016-11-26 18:18:40 750

转载 Gson使用指南

原文出处:简书@怪盗kidou,http://www.jianshu.com/p/e740196225a4JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便。其重要性不言而喻。解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、FastJson等。该系列其它文章你真的会用Gson吗?Gson使用指南(一

2016-11-25 20:18:13 707

原创 三级缓存

相关阅读Android DiskLruCache完全解析,硬盘缓存的最佳方案Android DiskLruCache 源码解析 硬盘缓存的绝佳方案本地缓存缓存数据存到哪里? sdcard/Android/data/包名/json缓存数据按照什么形式存储? 存一个file如何保证缓存数据对应性? 一对一的关系,一条协议,对应一个文件 文件名形式:interfacekey+”.”+index

2016-11-25 15:39:06 812

原创 使用Gson解析json数据

Gson解析系列阅读Gson使用指南使用Gson解析复杂的JSON数据使用Gson解析json数据Gson全解析搞定Gson泛型封装简单新闻客户端jsonJson 全称 JavaScript Object Natation ,用来描述数据结构,它是基于纯文本的数据格式,是一种轻量级的数据交换格式。广泛应用于服务端与客户端的数据交互。格式Json 以key-value的形式存储数据Key的取值为S

2016-11-25 15:22:12 3979

原创 ADB调试工具

adb 是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即可使用adb 命令,adb 的全称为Android Debug Bridge,是起到调试桥的作用,通过adb 我们可以在Eclipse 中方面通过DDMS 来调试Android 程序,说白了就是debug 工具,adb 的工作方式比较特殊,采用**Socket TCP 5554 等端口的方式让IDE 和Qemu(模拟处理器

2016-11-25 12:34:10 39456

原创 androidannotations

在项目的build.gradle文件中配置buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.neenbedankt.gradle.plugi

2016-11-24 19:01:24 439

原创 Android开发日常笔记

Android日常开发笔记

2016-11-21 09:24:10 1137

原创 Can't create handler inside thread that has not called Looper.prepare()

WebServicepublic class WebService extends Service { private Server server; @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartComma

2016-11-20 23:30:13 1049

原创 新浪微博授权提示:文件不存在(C8998)的解决方法

在使用新浪微博登录的时候,获取新浪微博授权,出现了文件不存在(C8998)的问题

2016-11-20 13:42:49 13621

原创 处理键盘输入

处理键盘输入

2016-11-19 10:29:21 729

原创 酷炫的文件上传技术

JavaWeb:上传下载文件,http://blog.csdn.net/axi295309066/article/details/52984462课程概述在Web应用系统开发中,文件上传功能是非常常用的功能,今天来主要讲讲JavaWeb中的文件上传功能的相关技术实现,并且随着互联网技术的飞速发展,用户对网站的体验要求越来越高,在文件上传功能的技术上也出现许多创新点,例如异步上传文件,拖拽式上传,黏贴

2016-11-16 18:59:49 2926 1

原创 智能家居

课程简介智能家居是在互联网的影响之下物联化体现。智能家居通过物联网技术将家中的各种设备连接到一起,提供各种控制或者定时控制的功能和手段。与普通家居相比,智能家居不仅具有传统的家庭居住功能,同时还兼备建筑、网络通信、信息家电、设备自动化功能,提供全方位的信息交互功能。在本课程中一共有两个案例,第一个是智能摄像头,我将演示如何通过自己编写Android应用控制网络摄像头,实现远程监控功能。第二个是蓝牙继

2016-11-16 12:43:49 5928 1

原创 消息推送

消息推送最简单的方法就是使用第三方的,比如现在使用比较多的是小米推送、极光推送,消息推送的技术原理是:移动无线网络长连接移动互联网络的现状因为手机平台本身、电量、网络流量的限制,移动互联网应用在设计上跟传统PC 上的应用很大不一样,需要根据手机本身的特点,尽量的节省电量和流量,同时又要尽可能的保证数据能及时到达客户端。为了解决数据同步的问题,在手机平台上,常用的方法有2种。一种是定时去服务器上查询数

2016-11-16 00:16:01 1626

原创 二维码开发

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符

2016-11-15 23:08:25 2934

原创 Cocos2d-android游戏引擎

什么是游戏引擎游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。Cocos2d家族cocos2d是一个开源的游戏开发框架,利用它可以非常容易的开发2D游戏。 包括以下成员Cocos2d-x Cocos2d-iphoneCocos2d-android

2016-11-15 10:50:36 7504 4

原创 关于帧率

FPS即Frames per Second,中文翻译为每秒显示帧数,俗称帧率。多用于影视制作和游戏。 由于人类眼睛的特殊生理结构,如果所看画面显示的速率在29.97时候,就会认为是连贯的,这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。而对游戏,一般来说,第一人称射击游戏比较注重FPS的高低,如果FPS<30的话,游戏会显得不连贯。

2016-11-15 10:26:20 1919

转载 Android序列化:Serializable & Parcelable

对于Parcel的理解: 在Android系统中,定位为针对内存受限的设备,因此对性能要求更高,另外系统中采用了新的IPC(进程间通信)机制,必然要求使用性能更出色的对象传输方式。显然,JAVA的Serialize利用外部存储设备被认为是低效的

2016-11-14 21:18:35 864

转载 Android中的设计模式-状态模式

原文出处:http://www.linuxidc.com/Linux/2015-04/116013.htm状态模式说明“状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。” –《JAVA与模式》 管理者持有多种状态,状态切换后,管理者调用Handle方法时,间接调用状态类中的Handle方法,从而根据当前状态的不同,就可以表现出不同的结果。状态模式类图状

2016-11-13 21:57:35 2214

原创 地图开发

什么是百度地图API百度地图移动版API(Android)是一套基于Android设备的应用程序接口,通过该接口,可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。百度地图移动版API不仅包含构建地图的基本接口,还提供了本地搜索、路线规划、地图定位等数据服务。百度地图入门三大核心 SDKInitializer MapView BaiduMap百度地图入门定位需要的相关权限<!-

2016-11-13 14:04:19 5091

原创 登录和oauth机制

登录一、javaweb中如何去维持登录状态登录后信息放入 session中页面内验证session中是否有登录信息如果有,不需要再次登录如果没有,跳转登录页面如果登录后点击注销,删除session中登录信息,并清除页面缓存(必要的)二、javaweb中哪些情况我们的session会过期过期–>很长时间没有去访问网站主动关闭–>用户注销切换浏览器三、手机端如何维持登录状态通过ses

2016-11-12 15:01:36 11958 3

转载 OAuth的机制原理讲解及开发流程

原文出处:作者,陈宇衡,http://blog.unvs.cn/archives/oauth-qq1-0-developer.html本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。1、OAuth的

2016-11-12 14:45:39 475

转载 Android数据库高手秘籍

原文出处:作者:郭霖,http://blog.csdn.net/column/details/android-database-pro.html升级表然而大家都知道,创建表只是数据库操作中最基本的一步而已,我们在一开始创建的表结构,随着需求的变更,到了后期是极有可能需要修改的。因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式上一

2016-11-12 00:59:09 657

转载 JavaScript 知识图谱

JavaScript 知识图谱

2016-11-11 16:50:19 1543

转载 一种更清晰的Android架构

原文出处:http://www.kuqin.com/shuoit/20151106/348821.html?url_type=39&object_type=webpage&pos=1过去几个月以来,通过在Tuenti网站上与@pedro_g_s和@flipper83(安卓开发两位大牛)进行友好讨论之后,我决定写这篇关于架构安卓应用的文章。我写这篇文章的目的是想把我在过去几个月体悟到的小方法以及在调查

2016-11-10 22:45:42 588

原创 React Native

携程 React Native 实践与性能优化携程火车票业务在 React Native 实践中踩过的坑

2016-11-10 21:00:17 407

转载 Java 程序死锁问题原理及解决方案

原文出处: IBM developerWorksJava 语言通过 synchronized 关键字来保证原子性,这是因为每一个 Object 都有一个隐含的锁,这个也称作监视器对象。在进入 synchronized 之前自动获取此内部锁,而一旦离开此方式,无论是完成或者中断都会自动释放锁。显然这是一个独占锁,每个锁请求之间是互斥的。相对于众多高级锁 (Lock/ReadWriteLock 等),s

2016-11-08 21:04:00 11810

原创 图书商城:订单模块

1、创建相关类domain:OrderOrderItemdao:OrderDaoservice:OrderServiceweb.servlete:OrderServlet/** * 订单条目类 */public class OrderItem { private String iid; private int count;// 数量 private dou

2016-11-07 16:36:15 4965 1

数据结构各种算法实现(C++模板)

数据结构各种算法实现(C++模板)

2017-08-02

C语言程序设计教程

全书共分11章和5个附录,第1章介绍程序设计语言的基本概念、算法描述和C程序的框架以及上机基本方法;第2章讨论了C语言的数据;第3-6章讨论了C语言的结构化程序设计方法(包括顺序、分支、循环和函数);第7和8章讨论了数据的构造类型(包括数组、字符串、结构体、共用体等);第9章介绍了文件概念和各种操作;第10章讨论用C语言进行音乐和图形设计的基本方法;第11章详细介绍了TC2.0的上机环境,包括实践指导、实验、课程设计等内容。在附录中全面地介绍了C库函数。, 本书将C语言的精华和难点——“指针”分解到各个章节进行讨论,使读者能循序渐进,逐步了解、掌握“指针”的概念和各种应用方法,以达到熟练掌握的目的。, 本教材适用于本科、专科和各级职业技术学校的教学,可作为计算机等级考试教材、计算机爱好者自学用书或软件开发的参考资料。

2017-07-29

Android项目宝典

Android项目宝典

2017-06-16

Android面试宝典5.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

2017-06-16

Android面试宝典4.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

2017-06-05

Android面试宝典3.0 pfd 下载

Android面试宝典3.0,内容:JavaSE 基础,JavaSE 高级,Android 基础,Android 高级,Android 项目,项目面试常见问题,面试实战记录,BAT 面试题,Android 最新技术

2017-05-15

JavaWeb基础入门

JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的文件上传技术,JavaMail邮件

2017-04-05

JavaWeb开发入门

JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的文件上传技术,JavaMail邮件开发,过滤器Filter,AJAX,JSP入门,JSTL标签库,MVC设计模式,在线支付,Jquery

2017-04-05

Java基础入门 版本5

java基础入门,GitBook本地命令行生成,等线字体版目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-05

Java基础入门 版本4

java基础入门,目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-05

Java基础入门 版本2

java基础入门,目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-04

Android Studio 使用指南

Android Studio 使用指南,Android Studio 提供用于为各类 Android 设备构建应用的最快速的工具。利用世界一流的代码编辑、调试、性能工具、一套灵活的构建系统以及一套即时构建/部署系统,您可以专注于构建独特的高品质应用。

2017-04-03

零基础学Python(第一版)

零基础学Python(第一版) Email:815712739@qq.com GitHub:https://github.com/JackChen1999 GitBook:https://www.gitbook.com/@alleniverson 博客:http://blog.csdn.net/axi295309066 微博:AndroidDeveloper

2017-03-30

Android源码解析

Android源码解析

2017-03-21

Java基础入门 2017-03-21

Java基础入门开发笔记

2017-03-21

JavaWeb开发笔记

JavaWeb开发笔记

2017-03-21

Java和Android源码设计模式 2017-03-21

Java和Android源码设计模式 2017-03-21

2017-03-21

Git和GitHub教程 2017-03-21

Git和GitHub教程 2017-03-21版

2017-03-21

Android-Studio使用教程 2017-03-21

Android-Studio使用教程

2017-03-21

Java设计模式2

Java设计模式,GitBook本地生成版

2017-03-21

Android面试宝典6.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享,BAT大咖助力,全面升级Android面试,Android高级面试,10大开源框架源码解析...等内容

2018-08-06

IT视频教程

IT视频教程,包括前端开发、后端开发、Android开发、数据结构与算法、数据库、人工智能、C++

2017-11-14

Kotlin 基础教程

内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级线程:协程、第10章 Kotlin与Java互操作、第11章 使用Kotlin集成SpringBoot开发Web服务端、第12章 使用Kotlin集成Gradle开发、第13章 使用 Kotlin 和 Anko 的Android 开发、第14章 使用 Kotlin DSL、第15章 Kotlin 文件IO操作与多线程、第16章 使用 Kotlin Native

2017-10-03

Kotlin 极简教程

内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级线程:协程、第10章 Kotlin与Java互操作、第11章 使用Kotlin集成SpringBoot开发Web服务端、第12章 使用Kotlin集成Gradle开发、第13章 使用 Kotlin 和 Anko 的Android 开发、第14章 使用 Kotlin DSL、第15章 Kotlin 文件IO操作与多线程、第16章 使用 Kotlin Native

2017-10-03

RxJava入门教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-30

RxJava基础入门教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-29

RxJava教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-29

Python 基础入门教程

Python 基础入门教程,这是小白的Python新手教程。不要再犹豫了,这个教程就是为你准备的!

2017-09-28

零基础学Python

Python是目前最流行的动态脚本语言之一。本书由浅入深,全面、系统地介绍了使用Python进行开发的各种知识和技巧。 本书内容包括Python环境的安装和配置、Python的基本语法、模块和函数、内置数据结构、字符串和文件的处理、正则表达式的使用、异常的捕获和处理、面向对象的语言特性和设计、Python的数据库编程、Tkinter GUI库的使用、HTML应用、XML应用、Django网页开发框架的使用、测试驱动开发模式应用、Python中的进程和线程、Python系统管理、网络编程、Python图像处理、Python语言的扩展和嵌入以及Windows下Python开发等。为了便于读者学习,本书每个章节中都提供了详尽的例子,结合实例讲解各个知识点。 本书适合Python爱好者、大中专院校的学生、社会培训班学生,以及系统管理员、界面开发人员、Web开发人员、网络编程人员等有关人员学习、使用。

2017-09-28

Git和GitHub使用教程

Git和GitHub使用教程:Git简介,安装Git,创建版本库,时光机穿梭,远程仓库,分支管理,标签管理,使用GitHub,自定义Git,从0开始学习GitHub

2017-09-27

Java基础入门教程

java基础入门,GitBook本地命令行生成,等线字体版目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性,内存管理。

2017-09-26

给 Android 开发者的 RxJava 详解

Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,现在已经支持几乎全部的流行编程语言了

2017-09-26

ReactiveX/RxJava文档中文版

Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,现在已经支持几乎全部的流行编程语言了

2017-09-25

Glide v4 中文版

Glide v4 文档 中文版,Glide是Android平台上的一个快速高效的图像加载库,专注于平滑滚动。Glide提供了一个简单易用的API,一个性能可扩展的资源解码管道流和自动资源池。

2017-09-25

kotlin-for-android-developers

在这本书中,我会使用Kotlin作为主要的语言来开发一个android应用。方式是通过开发一个应用来学习这门语言,而不是根据传统的结构来学习。我会在感兴趣的点停下来通过与Java1.7对比的方式讲讲Kotlin的一些概念和特性。用这种方法你就能知道它们的不同之处,并且知道哪部分语言特性可以让你提高你的工作效率。

2017-09-24

Kotlin极简教程

本书从Kotlin的HelloWorld开始,生动讲解Kotlin的基础知识和实战案例,分为两大部分:“基础知识”部分包括语言基础、基本数据类型与类型变量、集合类、泛型、面向对象编程、函数式编程、协程等;“实战”部分包括Kotlin与Java互操作、使用Kotlin集成Spring Boot开发WEB服务端、使用Kotlin集成Gradle开发、使用Kotlin和Anko的Android开发、使用Kotlin DSL、Kotlin文件IO操作与多线程、使用Kotlin Native。本书包含了大量精选示例代码和应用案例,为初学者提供了实用指南,也帮助熟练的Java开发者快速切换到Kotlin, Kotlin是JetBrains团队开发的一门现代的、注重工程实用性的静态类型编程语言,JetBrains团队以开发了世界上最好用的IDE而著称。Kotlin于2010年推出,并在2011年开源。Kotlin充分借鉴并汲取了Java、Scala、Groovy、C#、Gosu、JavaScript、Swift等多门杰出语言的优秀特性,语法简单优雅、表现力丰富、抽象扩展方便、代码可重用性好,同时也支持面向对象和函数式编程的多范式编程。Kotlin可以编译成Java字节码运行在JVM平台和Android平台,也可以编译成JavaScript运行在浏览器环境,而且还可以直接编译成机器码的系统级程序,直接运行在嵌入式、iOS、MacOS/Linux/Windows等没有JVM环境的平台。Kotlin源自产业界,它解决了工程实践中程序设计所面临的真实痛点,例如,类型系统可以避免空指针异常的问题。, 我最早是被Kotlin的下面这段代码所吸引:, package com.easy.kotlin, fun compose(f: (B) -> C, g: (A) -> B): (A) -> C {, return { x -> f(g(x)) }, }, fun isOdd(x: Int) = x % 2 != 0, fun length(s: String) = s.length, fun main(args: Array) {, val oddLength = compose(::isOdd, ::length), val strings = listOf('a', 'ab', 'abc'), println(strings.f?ilter(oddLength)), }, 13行。, 这大约是在三年前,当时我在学习Java 8中的函数式编程以及Lambda表达式等新特性。那时,我也对Scala、Groovy、Clojure、Haskell等技术很感兴趣,在伴随着兴趣的学习过程中,我无意中看到了上面那段Kotlin代码,第一眼看到这么优雅的函数式编程风格,尤其是compose函数的定义实现,深深地吸引了我。, Swift使用func关键字声明函数多个c,怪怪的;Groovy、Scala等语言使用def关键字,与函数本义联想不直接;JavaScript使用function关键字又显得死板了些。而Kotlin中的fun则简单优雅地恰到好处,关键还让人自然联想到“乐趣、开心、愉快”这样的意思,使用Kotlin每写一个函数都是充满乐趣的。, 我们不妨来看看同样的逻辑实现,如果使用Java 8来写会如何:, package com.easy.kotlin;, import java.util.ArrayList;, import java.util.List;, interface G {, B apply(A a);, }, interface F {, C apply(B b);, }, interface FG {, C apply(A a);, }, public class ComposeFunInJava {, public static void main(String[] args) {, G g = (s) -> s.length();, F f = (x) -> x % 2 != 0;, FG fg = (x) -> f.apply(g.apply(x));, List strings = new ArrayList();, strings.add('a');, strings.add('ab');, strings.add('abc');, List result = new ArrayList();, for (String s : strings) {, if (fg.apply(s)) {, result.add(s);, }, }, System.out.println(result);, }, }, 36行,差不多是Kotlin的3倍。, 我们知道,Java是一门非常优秀的面向对象语言。但是在函数式编程方面,与其他函数语言相比,还是显得有些笨重与生涩,并且其内在体现出来的思想,依旧是面向对象的思想。, 功能强大的Scala语言,复杂性相对较高,学习成本也高,而且Scala与Java的互操作性没有Kotlin好。所以,如果既想方便、流畅地使用Java强大与完善的生态库,又想使用更加先进的编程语言特性,无疑Kotlin是个非常不错的选择。, 因此,我立马进入了Kotlin的世界!, Kotlin之前一直是默默无闻的,直到今年(2017年)Google IO大会上,Google宣布正式支持Kotlin为Android的官方开发语言,而且从Android Studio 3.0开始,将直接内置集成Kotlin而无需安装任何的插件。另外,在Spring 5.0 M4中也引入了对Kotlin专门的支持。, 在学习和使用Kotlin的过程中,我发现我越来越喜欢Kotlin,它是一门非常优秀、优雅、有趣、流畅实用的语言,绝对值得一试。感谢Kotlin团队!, 本书可以说是我对Kotlin的使用和思考过程的粗浅总结。通过本书的写作,我加深了对Kotlin语言及其编程的理解,深刻体会到了学无止境的含义。写书的过程也是我系统学习与思考Kotlin的过程,如果本书能够对你有所帮助,将不胜欣慰。, 如何阅读本书, 受到Kotlin极简特性的感召,我希望也通过极简的表述,全面介绍Kotlin语言特性以及如何使用Kotlin进行实际项目开发。全书共16章,分为三大部分:第一部分“Kotlin语言基础”包括第1~4章,介绍如何快速开始使用Kotlin,以及Kotlin语法、基本数据类型和类型系统;第二部分“编程进阶”包括第5~10章,介绍Kotlin标准库中的集合类、泛型、面向对象编程特性、函数式编程、协程、与Java的互操作;第三部分“综合实战”包括第11~16章,介绍如何使用Kotlin集成Spring Boot、Spring MVC等框架来开发Web服务端应用,如何使用Kotlin开发Android应用,如何使用Kotlin的DSL代码风格,如何操纵文件IO、正则表达式以及多线程,如何定义Kotlin Native与C语言互操作。, 建议初学者最好按照顺序来阅读本书,Java程序员可以从第5章开始阅读,直接研究Kotlin的特殊点,C语言程序员可以先读第16章再考虑补充前面的基础知识。, 本书章节内容如下。, 第一部分 “Kotlin语言基础”, 第1章是Kotlin语言的简介,带领读者快速学习Kotlin的环境搭建以及常用工具的使用。该章最后还给出一个编程语言学习的小结。通过该章的学习,能够快速进入Kotlin的世界。, 第2章是快速开始Hello World,分别给出了使用命令行REPL、可执行应用程序、Web RESTful、Android、JavaScript等平台环境上的HelloWorld示例。, 第3章介绍Kotlin语言的基础知识,包括Kotlin语言的关键字与标识符等、表达式与流程控制、运算操作符、函数及其扩展等基本内容。, 第4章介绍Kotlin语言的基本类型和类型系统。包括Kotlin的内置基本类型:数字、字符串、布尔、数组等,以及Kotlin中引入的特殊的可空类型。, 第二部分 “编程进阶”, 第5章介绍Kotlin标准库中的集合类:List、Set、Map。通过该章的学习,我们将了解到Kotlin是如何扩展Java集合库的,这使得写代码更加简单容易。, 第6章介绍Kotlin泛型的基本概念、型变以及类型边界等内容。, 第7章介绍Kotlin面向对象编程的特性:类与构造函数、抽象类与接口、继承以及多重继承等基础知识,同时介绍了Kotlin中的注解类、枚举类、数据类、密封类、嵌套类、内部类、匿名内部类等。, 第8章介绍Kotlin函数式编程的相关内容,其中重点介绍了Kotlin中的高阶函数、Lambda表达式、闭包等核心语法,并给出相应的实例说明。还探讨了关于Lambda演算、Y组合子与递归等函数式编程思想的内容。, 第9章介绍Kotlin中的协程,包括协程的创建、执行、取消等操作。在该章的后半部分,主要探讨挂起函数的组合执行、协程上下文与调度器、通道与管道等相关内容。最后,对协程与线程进行了简单比较,简要介绍了Kotlin的协程API库。, 第10章介绍Kotlin与Java的互操作。, 第三部分 “综合实战”, 第11章介绍如何使用Kotlin集成Spring Boot、SpringMVC等框架来开发Web服务端应用,给出了一个完整的开发实例。最后,简单介绍了Spring 5.0中对Kotlin的支持特性。, 第12章介绍使用Kotlin集成Gradle开发的相关内容。, 第13章介绍如何使用Kotlin开发Android应用的具体方法,其中用到了Anko、ButterKnife、Realm等相关框架。, 第14章介绍Kotlin中DSL的相关内容。我们将会看到Kotlin的扩展函数和高阶函数(Lambda表达式)特性,为定义Kotlin DSL提供了极大的支持。使用DSL的代码风格,可以让程序更加直观易懂、简洁优雅。, 第15章介绍Kotlin文件IO操作、正则表达式以及多线程相关的内容。, 第16章简单介绍了Kotlin Native,并给出了Kotlin与C语言互操作的完整实例。, 谁适合阅读本书, 本书适合于所有程序员,不管你是前端开发者、Android/iOS开发者,还是Java开发者、C语言开发者,学习Kotlin都会非常容易,本书将帮助读者快速进入Kotlin世界。, 如果你目前还不是程序员,但想进入编程世界,那么可以尝试从Kotlin开始学习。虽然本书中的部分内容需要一定的Java编程基础,但是Kotlin本身的极简特性能激发你对编程的兴趣。, 代码下载, 几乎在每章末尾处,我都附上了该章示例工程源代码地址。这些源码都在https://github.com/EasyKotlin。读者可以根据需要,自由下载学习。, 致谢, 在本书的写作出版过程中,得到了很多人的帮助和陪伴。, 首先要感谢的是我的妻子和两个可爱的孩子。正是有了你们的陪伴,我的生活才更加有意义。我要感谢我的父母,虽然他们可能不知道我写的东西是什么,但是我在写书过程中,脑海里会经常浮现出他们的笑脸,正是由于他们的辛勤养育,我才能长成今天的我。, 我要衷心地感谢本书的策划编辑吴怡女士。在本书的写作修改过程中,她耐心细致地对稿件进行了详尽审阅和批注,还提出了很多宝贵的修改建议,并不断给予我鼓励,才使我快速完成了这本书。还感谢审稿编辑陈佳媛、曲熠对本书提出的宝贵意见,同时感谢本书出版过程中所有付出辛劳的华章公司工作人员。, 在此,我还要特别感谢我们公司的技术大牛雷卷(陈立兵),非常感谢他能够抽出宝贵时间审阅本书,并给出了内容的勘误,极大地提升了本书的质量,最后,还为本书写了序。真的非常感谢!, 我还要感谢在我的工作学习中认识的所有朋友和同事们,能够认识你们并跟你们一起学习、共事,是我的荣幸!, 请联系我, 虽然在本书写作与修改的过程中,我竭尽全力追求简单正确、清晰流畅地表达内容,但是限于自身水平和有限的时间,仍会有错误与疏漏之处,还望各位读者不吝指正。, 对本书的任何问题、意见或者建议,欢迎通过邮件universsky@163.com与我交流。, 快乐生活,快乐学习,快乐分享,快乐实践出真知。祝大家阅读愉快!, 陈光剑, 2017年8月于杭州, 本书是不可多得的优秀图书,内容翔实,描述简洁,作者对编程语言有深刻的理解,融入了自己多年的开发经验……Kotlin非常新,而且发展也非常快,是一门非常有前景的开发语言,我希望Android和Java程序员都能停下来阅读这本Kotlin的图书,以系统地了解这项技术。, 雷卷 阿里巴巴70后Java程序员, 这是一本精彩有趣的好书。阅读本书,你会再次感受到编程的乐趣。我读过许多编程的书籍,但是这本书对程序设计的深刻见解依然深深触动了我。, 雷影 阿里巴巴技术专家, 光剑的这本书是非常不错的Kotlin教程。书中有大量有趣而实用的代码实例,理论与实践相结合,强烈推荐大家阅读。, 木羽 阿里巴巴高级技术专家, 身处互联网大潮汹涌席卷的时代里,对新知识的无限渴望和孜孜不倦的探求,是一名技术人员对自己的基本要求。陈光剑的这本书是Kotlin语言领域中非常值得借鉴的学习资料,无论是刚入门的技术小白,还是需要进阶的技术痴汉,都可在这本书中找到另一番天地。, 郁磊 有赞测试专家, Kotlin具备简洁的语言、与Java的无缝互译、很棒的IDE支持,且不断进化,如果你刚刚从事或者一直从事Android开发,Kotlin都将成为你很好的起点或新的助手。本书作为对Kotlin语言编程上手和基本使用都是不错的参考资料,必定对大家有所帮助。, 石舟 阿里巴巴测试专家, 在快速发展与创新的今天,不断孕育出各种新语言。Kotlin非常具有代表性,具有简明性和独特的表达能力,同时易于“并发编程”。这本书丰富而全面地介绍了这门优秀的语言。任何对编程语言感兴趣的程序员都不妨阅读一下,相信你定会有收获。, 林文国 二维火资深架构师, 作为JetBrains IDE的忠实用户,也一样喜欢上了它的Kotlin,而这本书绝对是Kotlin难得的教程,内容全面,理论和实战兼得。对我来说,读这本书的收获比自己想象的更多。, 刘鼎亮 挖财资深工程师, 我清楚地记得当初从Eclipse切换到JetBrains的Intelij时带来的效率提升和极致的用户体验,其中细节只有真正用过才能体会到。可以想见,JetBrains出品的Kotlin必然也会带来各种令人惊喜的提升。光剑在许多人还没注意到Kotlin的时候就已经开始动手实践了,并带来了一本语言精练、内容全面、示例丰富的教程,他亲自使用并检验过Kotlin的很多特性,有许多心得和深刻理解,这是一本不可多得的带领程序员领略Kotlin的便捷和高效的指南。, 有山 阿里巴巴技术专家, 这是一本Kotlin入门的好书,内容翔实全面,并且由浅入深,通过大量的案例,引导读者一步步了解Kotlin的方方面面,于开卷者大有裨益。, 张立柱 策道科技CTO

2017-09-20

C/C++设计模式-2

C语言面向对象编程,C语言设计模式,C++设计模式

2017-08-01

C/C++设计模式

C语言面向对象编程,C语言设计模式,C++设计模式

2017-07-31

泡妞与设计模式

泡妞与设计模式

2017-07-28

C语言面向对象编程与设计模式

C语言面向对象编程与设计模式

2017-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除