自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qndroid的专栏

努力做一名合格的程序员...

  • 博客(66)
  • 资源 (18)
  • 收藏
  • 关注

原创 flutter系列之将已存在的原生应用转化为混编应用

  前面两小节呢,我们讲解了flutter混编工程与android原生的传统工程作了比较,通过对比我们知道了flutter工程的独特之处以及各工程文件的作用,今天我们就来实际的一步步将一个原生工程改造为一个混编工程,让大家从实际上掌握如何把当前的原生工程改造完成。   首先我们要创建一个flutter工程,步骤如下:重点就是要选这个Flutter Module类型,然后我们一路next填写好...

2019-02-15 17:33:08 861

原创 flutter系列之flutter工程如何与android混编

  上一小节,我们讲解了flutter工程的整体结构和flutter工程中几个重要文件的作用,下面我们就来重点讲解一下,flutter工程如何与android混编在一起的。  这里,我们就要重点分析一下android这个目录下的一些重要文件了,大家先来看一下android文件夹都有那些东西。  大家来看,里面与我们平时创建的传统android工程看起来差别并不太大,app是我们最终的生成ap...

2019-02-15 17:30:05 682

原创 flutter系列之flutter工程结构详解(android视角)

   flutter出来也有一年多的时间了,这个东西呢,也是用来做跨平台的,是由google主推的,作用与weex,reactive native一样,flutter的各种优势及缺点呢,我们这里就不再多说了,网上有非常多的文章供大家参考,今天我们重点来分析一下,flutter工程与我们传统的android工程有什么区别,以及这些区别的作用。在我们讲解本节课的内容之前,希望大家有一定的flutte...

2019-02-15 17:26:30 1205

原创 plugin工程及与flutter工程通信原理

  上一小节呢,我们把一个android传统工程改造成了flutter混编工程,在flutter工程中想要调用android原生的方法或者功能,那肯定是离不开plugin工程的,下面,我们就首先来讲解一下我们本节课的第一部分内容,plugin工程。  那什么是plugin工程呢,我们创建一个来看一看即可,下面是我创建的一个网络plugin工程,用来实现flutter工程通过此plugin完成网络...

2019-02-21 11:08:20 7361 1

原创 android-gradle-plugin3.0.1源码分析

   学习android的同学都知道android工程从使用android studio开发以后就使用了[gradle作为工程的构建工具][1]这就导致我们在了解gradle前提下还要对android-gradle-plugin这个插件有所了解 因为gradle其实就是一个容器或者框架基本上什么工程都可以去构建那如何构建成为android工程呢其实主要的原因就是这个android-gradle-p...

2018-07-09 11:38:11 1176

原创 RxJava学习总结

rxjava库非常的强大,他有两个核心的作用,一个是线程切换,另一个就是强大的映射功能。他本身的设计采用的是观察者模式,通过事件的驱动来让我们的程序编写更加的简单。在写法上他的链式编程的风格使我们可以避免传统的接口回调带来的复杂的逻辑。所以,无论是在编程思想上还是语法上都是一个非常优秀的库。     rxjava库无论从使用上还是源码的实现上都是比较复杂的,在学习的时候一定要在多多

2018-02-03 21:10:15 361 1

原创 android应用热修复与插件化实践之路

android原生应用开发发展到今天,几乎每个App都是巨无霸级的大小,手淘,优酷这种应用更是航母级别的应用,一个应用可能几百人一起合作开发,在应用还小的时候大家可以甜蜜的合作,快速的迭代就像孩子小的时候每个人都喜欢,但随着应用越来越大,我们不得不面对的以下几个问题:第一,团队合作的效率越来越低,这是无法避免的,可能一个人的延期就会导致整个版本的延期,而人越多这个概率就是指数级别的增长。第二,潜在的

2017-06-14 18:02:45 550

原创 组件化开发Android应用及SDK

经过6个多月的努力,终于将自己的第一门实战课程录制完成了,并且在今天成功的上线到慕课网,课程终于能和大家见面了。课程地址:组件化开发Android应用及SDK下面我们就来说说,我为什么会想到录制这样一门课程,就连不是程序员的都知道我们程序猿最苦逼,加班不断,连找女朋友的时候都没有,所以当我刚要参加工作的时候特别的恐惧这个行业,我想这也是大部刚要工作的同学的心理。但当我工作以后,我发现自己并没有特

2017-02-10 16:14:24 3428 3

原创 Ubuntu下搭建git服务器步骤

由svn切换到git可是没少花功夫啊,虽然都是版本管理工具,本质上都差不多,但是git还是太灵活了一些,灵活的东西往往不好掌握,所以还是费了些工夫才基本上会用git了,要想成为git高手估计的下大功夫。 由于自己一只是用公司的git服务器,每天就是pull和push代码,自己的代码又是放在了github上,所以就想自己也抢建一个简单的git服务器,这样了也算是对git这个版本管理有更深入的了

2016-02-18 14:40:13 1113 1

原创 Android通过AIDL与远程服务通信

Android的一大特色就是不同进程间的组件间可以相互通信.我们可以通达Intent去调用其它进程的Activity,通过给定的Uri和权限去访问其它应用的数据(ContentProvider),那么一个应用如何调用其它App的Service呢,这时我们的AIDL就派上了用场。通过AIDL,就可以调用远程Service提供的功能。 在讲使用AIDL的时候,首先我们要搞明白,一个Activit

2016-01-07 22:43:32 1056 1

原创 android分享数据到不同平台组件化

快两个月没写博客了,真是惭愧,一个好习惯想要一直坚持下去真的不是一件容易的事情,赶快回到正轨,把自己的一点点经验总结出来,继续写下去。最近项目要用到分享的功能,这几乎是每一个app都有的功能,分享一些链接和一些其它信息到各大平台以扩大自己应用的知名度。而有许多公司在专门做分享平台包括:友盟和ShareSDK等,使用这些平台去分享只需调用第三方分享平台的统一API而不必再分别处理不同平台的不同接口了

2015-12-08 17:45:56 925

原创 Android仿58同城Loading View

今天打开58同城App看到他们的网络加载Loading做的很有新意,是一个三角形,圆形,正方形不同的运动并且切换,这个效果不说有多难,至少很有创意,就着手模仿了一下,先看下效果图: 58的更加复杂,在形状运动的过程还一直不停的旋转,旋转的坐标计算太复杂, 还没有搞定,先把这个半成品开源出来。思路:1.先画一个静态的形状和下面的阴影。 2.通过ValueAnimat

2015-10-13 17:50:24 2124

原创 Android Fragment切换动画效果

以前做Fragment切换时,都是直接 Fragment的切换,最近看到赶集网首页的Fragment点击按钮切换时,是有动画效果的,看着还不错,就参考网上的思路,照着实现了一下,下面是效果图: 思路:类似于Activity的转场动画一样,为FragmentTranslation添加指定的动画即可。代码如下: 1.自定义属性动画Layout,可extends任意一个布局,添

2015-10-03 22:18:13 11077 1

原创 Android仿格瓦拉循环滚动View

之前有同事用格瓦拉买电影票,自己下了一个看了看,App整体做的比较炫酷,看到一个效果挺不错,又在自己的能力范围之内,就模仿一下。下面是效果图: 就是一连串的电影胶片不停的向某一方向滑动,思路: 取两张背景图,同时向一个方向滑动,当超出屏幕范围时重新调整两张图的横坐标即可。 代码如下:/** * @description 仿格瓦拉App背景自动移动View* @author

2015-09-29 19:21:00 2062 1

原创 Android头部悬浮ListView第二种实现方式

上篇博客,根据几位大神的博客总结出了一篇ListView悬浮,快速索引。效果非常不错,而且易于扩展,可在实际项目中并不是很通用,因为总需要实现SectionIndexer接口,比较复杂而且不是所有的分且头部都是由A-Z 这种分组,也可能是以任意条件的分组,比如时间。这种情况下上一篇的方法就不能用了。本篇则是基于上一篇的代码修改,使的ListView不再去实现SectionIndexer.修改OnSc

2015-09-22 23:16:47 2611

原创 Android自定义头部悬浮,快速索引ListView

现在的App的ListView大部分都有分组头部和快速滑动索引,而且分组头部还有挤压的效果,看起来比较炫,于是就在各路大神的博客里找思路,果然发现了几种比较好的实现思路。其中夏神的关于列表快速索引是最好的,我个人认为,git上也有类似的效果但好多是重写ListView实现的,导致可扩展性变得不是很好,夏神是通过自定义View和SectionIndex实现此效果的。而头部分组挤压动画则是郭神的思路最好

2015-09-22 13:20:45 1913 3

原创 Android仿IOS有弹性ScrollView

最近项目里用到了一个开源的仿IOS可弹动的ScrollView,看源代码时发现其实实现原理是用 View动画实现的,每次都播一个动画,最后重新layout这个布局。看到使用了View动画,就有点不想用这个控件了,因为个人感觉View动画,应该是要被淘汰的技术了,于是就自己根据实现原理,重写了一个ScrollView,实现了同样的功能.思路:利用属性动画,及其View的偏移原理即可实现同样的功能。

2015-09-19 18:26:10 1272

原创 android仿美丽说登录拖拽Layout

好久没有写博客了,今天趁自己不是很忙,有看到美丽说app的登录页面有一个挺有新意的小交互,就模仿了一下,基本上和它的功能完全一样。下面先看下效果图。      功能描述:手指在自定义的 View上滑动时,如果滑动距离超过指定距离,或者滑动速度超过指定的速度时,开始滑动。添加了滑到到顶部和底部的滑动监听。   代码如下:package view;/** * @descript

2015-09-17 18:19:22 1156 3

原创 android基于开源网络框架asychhttpclient,二次封装为通用网络请求组件

网络请求是所有App都必不可少的功能,如果每次开发都重写一次网络请求或者将以前的代码复制到新的App中,不是很合理,出于此目的,我希望将整个网络请求框架独立出来,与业务逻辑分隔开,这样就可以避免每次都要重新编写网络请求,于是基于我比较熟悉的asynchttpclient重新二次封装了一个网络请求框架。   思路:网络请求层唯一的功能就是发送请求,接收响应数据,请求取消,cookie处理这几个功

2015-08-20 12:47:15 1605 3

原创 android MPChart图标使用详解

最近项目里有要添加更加复杂的图标了,以前一些简单的曲线图,饼状图,风险指示图等,都是自己画,随着难度的增加,越来越力不从心,以前研究过achartenginee图标框架,但发现achartenginee的可定制性实在不敢恭维,做出来的图标根本不能满足需求,所以又在github上搜索android chart,发现了排第一的这款图标框架,大概估计了一下,是符合自己的要求的,于是down下来,研究研究

2015-07-29 15:30:50 9341

原创 android仿IOS,滑动隐藏底部ScrollView

在我们开发android app时,会有很多效果都需要模仿IOS,最近在做一个页面时,其中用到了 ScrollView,但要做成IOS那种在ScrollView滑动时,浮在ScrollView的功能按钮要隐藏,当滑动结束后,功能按钮又要显示出来。效果如下图所示:      gif实在是不好搞,所以只能截个静态图来表示一下,当ScrollView滑动时,浮在最下面的按钮会以动画的形式隐藏,当停止

2015-07-07 17:33:08 1710

原创 android自定义换行居中CenterTextView

在我们开发app时,TextView一定是使用最多的控件了,android自带的TextView的功能也十分强大,但还是有些小的地方不能满足我们的需求,几天要说的这个功能也是开发中很常见的,就是,在我们显示一段超过屏幕宽度的 String时,TextView会自动换行,但系统默认的换行效果是顶起,而不是美工要求的居中。这时候,就需要我们对系统的TextView做一些改造,已使得换行后文字能够居中显

2015-07-02 10:04:23 6826 3

原创 android应用程序优化之布局优化

在我们开发APP时不仅要在代码实现上,做到对App的优化,而在我们的界面布局也有许多要优化的地方,如果布局写的很low的话,系统加载布局的速度会十分的慢,使得用户的体验非常的不好,这篇文章主要是从我平时对布局的优化方面总结一下,我认为经常可以用到的布局优化方面的一些技巧和手段。  1.减少布局的嵌套,这一点也是最重要的     搞android的都知道,android的整个UI布局文件最后

2015-06-27 22:54:11 925

原创 android自定义View之曲线图

最近项目里要做一个简单的曲线图来标识数据,开始以为很简单,android已经有那么多的开源图表库了,什么achartenginee,hellochart,mpandroidchart等等,下载Demo一找,都强大到有点不适合我这个小小的展示功能了,直是无语了。于是只能自已去画了,继承自View去重绘。 下面先看一下效果图:       思路:根据点的数量将Canvas等分,等分后先

2015-05-28 14:49:32 4554 4

原创 android自定义 ProgressBar(继承自View)

github上已经有如此多漂亮的progressbar,可还是满足不了美工MM的胃口,无奈只得根据美工的需求,自定义一个符合要求的progrssbar了,美工给的效果图如下:好看是好看,还要求上面指示器的颜色随着进度去改变,上网找了一番还真没有发现完全符合要求的,只好自己想办法了。        思路:1.肯定的继承View或者progressbar去重写,由于我对progre

2015-05-20 13:43:10 1696 2

原创 android利用线程池高效实现异步任务

不管是开发android应用程序还是java应用程序,异步任务都是经常用到的,尤其是android本身做为线程不安全,只要稍微耗时的操作都要用到异步任务,而无论是java还是android通用的异步任务开发以前无非就是利用Thread和Runnable来实现, android系统本身还有属于他自己的AsyncTask去专门处理异步任务.但其实这些都不是最高效的异步任务处理方法,尤其是任务有多个的情

2015-05-16 21:10:28 1574

原创 android Volley解析之自定义CookieObjectRequest

以前项目中涉及到Http请求时,一直用的是开源项目asncclient,封装的非常好,使用起来也非常的方便,不再需要自己去管理线程的生命周期,只需要创建一个请求,写一个请求回调即可,13年,google推出了velloy请求框架,功能基本与asyncclient 一样,都是为了简化网络请求编程,但更加灵活,用户可以根据需求自定义不同的请求,关于 Velloy的基本用法就不在说了,网上有许多教程,今

2015-03-28 22:23:11 979

原创 android自定义View之自定义可置顶ScrollView,View滑动原理简析

使用各种App的时候,发现一个特点,现在的App在可以滑动的页面中,基本上都添加了一个置顶按钮的效果,使的用户可以很方便的回到顶部,就像网页中几乎所有的页面都有置顶效果按钮一样,觉得这个交互不错,以后自己的项目里也肯定会用到的,就抽空把这个小功能实现了一下,现在把实现过程记录下,以方便以后使用。  先看下效果图:    当ScrollView向上滑动超过一定距离后,就渐变的出现一个

2015-03-26 11:22:19 2428

原创 android自定义View之仿携程首页点击缩放ImageView

最近下了个携程App,点开首页看,注意到其按钮在点击的时候并不是我们经常看到的变色效果,而是先收缩,放开时,再回到原来的大小,感觉这个效果虽然小,但是感觉非常新颖,于是决定,模仿一下这个小效果,先看一下在携程上的效果,效果如下图所示:  再看一下我模仿的效果,如下图所示,效果基本一样。   先说一下整体思路:1.继承ImageView,重写onTouchEvent方法。

2015-03-25 18:15:20 1787 1

原创 android BaseAdapter多布局缓存

ListView是App开发中最常见的控件之一了,与之相随的则是BaseAdapter的使用,BaseAdapter的作用则是为我们的ListView提供数据源,普通的用法相信大家都会用,今天主要说明一下,列表中如果有多种样式的ItemView时,应该如何去高效的加载. 先看一下效果图:  如图所示:整个列表中存在着两种样式的ItemView,开始用传统的ConvertView去缓存子

2015-03-24 20:14:52 1223

原创 Window下利用命令行提交代码到GitHub

为了学会如何将本地代码提交到GiHub服务器上,参考了好多文章都没有成功,最后自己查命令,终于添加成功了,赶快把整个过程记录下来,即方便自己查看,也能帮助到有需在的人,下面切入正题.  1.首先,要下载一个可以输入git命令的命令行工具,我用的是Git Extensions,其它工具也可以,再到github.com 官网上申请一个自己的帐号.  2.在GitHub服务器上创建一个仓库(Re

2015-03-02 20:59:59 1031

原创 eclipse下androidannotations开发环境搭建

在我们开发android应用程序时,会创建许许多多的Activity,每个Activity中又有许多的组件初始化代码,例如:findViewById(),这会使我们的代码看起来非常的冗余,而且不利于开发效率的提高,最近发现git上有一个类似于spring的依赖注入框架androidannotations,果断fork下来研究了一下,觉得非常的不错,于是决定以后使用这个框架来减化自己的代码,在我配置

2015-02-08 22:49:09 931

原创 android自定义GifView显示gif动画

gif动画在web开发中使用的非常的多,利用gif,许多动画不必再用程序编写,现在有非常多的App已经使用到了gif动画,可是android sdk并没有为我们提供gif这种View,所以我们只能自定义一个View,去实现gif效果.   android虽然没有为我们提供现成的GifView,但是为我们提供了Movie类,这个类就是用来实现GifView的关键类.它主要有两个最重要的方法,一个

2015-02-04 20:13:43 2753 2

原创 android动画之属性动画学习

从api11开始,也就是Android3.0开始, google为android平台引入了一个新的动画框架,即属性动画property animation, 3.0以前的系统要使用property animation需要引入nineoldandroid工程,我们的程序中要对不同的sdk版本做判断.可以说,属性动画是android系统中所有动画框架中最重要的一个,与我们平常用到的 view anim

2015-01-13 21:21:17 801

原创 android二维码工程之仿QQ二维码实现

二维码发展到现在几乎是每一个App都有的功能,之前项目里用到了二维码功能就研究了下如何嵌入zxing二维码工程,之前的用法制包含了最基本的二维码扫码工能,用QQ时看到QQd的扫一扫,功能相对较全,可以扫图片,可以开闪光灯,还可以生成二维码,都是比较常用的功能,于是就仿照QQ的二维码样式和功能,自己也做了一个common工程,这样,以后要用二维码是就不必再做配置等工作了,直接关联到这个二维码工程即可

2015-01-04 16:18:16 1789 1

原创 android动画之从源码角度分析动画原理

以前一直不懂android的动画机制,android系统是如何实现动画的,所以导致只会做一些android系统已经为我们封装好的动画即:AlphaAnimation, TranslateAnimation, ScaleAnimation,RotateAnimation以及这些动画混合起来使用,其实有android系统为我们提供的这几种动画是可以满足我们平时的基本需求了,但是要做一些高级的动画就是不

2014-12-16 16:31:55 1363

原创 android事件处理机制

谈到android事件处理,最复杂的就是对Touch事件的处理,因为Touch事件包括:down, move, up, cancle和多点触摸等多种情况,多点触摸的情况先不讨论,因为Touch有这么多的状态,所以Touch相对来说是最难处理的,下面就来讨论一下android系统是如何处理Touch事件的.  1.说到事件处理,首先我们要明白,为什么要处理事件,要了解android系统本身对事件

2014-12-12 17:23:57 1286

原创 android zip4j之--解压zip文件并实时显示解压进度

Zip文件是我们经常用到压缩文件格式,android中在进行网络请求大批量数据时,通常会采用传递zip文件,这样做即可以减少网络流量的消耗,加快请求的响应速度,又可以减少对存储空间的要求,所以当我们将zip文件读取回来的时候,如何解压就是一个要解决的问题,虽然java本身提供了zip相关的API,但不是很强大,所以我们采用apache开源组织的zip4j,通过这个jar包可以十分轻松的解压zip文

2014-12-02 19:10:18 10779 9

原创 android设计模式之--观察者模式

最近比较忙,好久没有更新博客了,今天就将最近研究的一个东西总结一下,最近在维护公司的一个项目,我负责的模块主要是下载杂志后及时的更新UI,将最新的下载进度更新到UI上,中间遇到的一个问题是:同一个对象的下载进度会有多个Item监听它的状态,也就是说一个进度要更新到多个Item上,开始没有什么头绪,百度一番后发现了观察者模式这个东西,它就是为了满足这种一对多问题而出现的.   有了思路以后,就着

2014-12-01 19:34:32 826

原创 android Sqlite操作之-- 自定义ORM关系实体映射类

任何android应用程序都少不了数据库的操作,即使是客户端程序也会有一些特定的数据存入到数据库中,例如:用户浏览记录,收藏列表等等,所以数据库的操作就是一个会很频繁使用的操作,所以对这个部分的封装就很有必要了,Web端有Hibernate等一系列优秀的框架,虽然android应用程序在git上也有一些开源的OOM框架,但总觉得还是没必要引入第三方的东西,于是就自己封装了一个数据库操作类,只要调用

2014-11-23 21:07:11 2479 3

android pinner ListView

pinner listview的通用实现方式

2015-09-22

android PinnerListView

不重写ListView实现ListView快速滑动和分组挤压动画

2015-09-22

DragLayout

DragLayout   java代码

2015-09-17

android CenterTextView

center,textview

2015-07-02

androidLineGraphic

line,graphic,line,graphic,line,graphic

2015-05-28

带指示器ProgressBar

带指示器ProgressBar,

2015-05-20

异步CopyDemo

android,异步

2015-05-16

velloydemo

velloydemo

2015-03-28

androidannotationsDemo

android,annotations,demo

2015-02-09

zxing类QQ二维码工程

zxing类QQ二维码工程

2015-01-04

android动画原理demo

android动画原理

2014-12-16

zip4j 源码

zip4j 源码

2014-12-04

AChartEnginee自定义图表工程

AChartEnginee自定义图表工程

2014-11-22

android推送功能

利用xmpp可以十分轻松的实现客户端推送功能。

2014-11-16

android本地邮箱联想控件

一个封装好的android本地邮箱联想组件,可以直接应用到工程中去,无需重复编写代码

2014-11-16

图册相机获取图片

一个封装好的拍照和从本地相册中选取图片,看demo中的用法即可。使你的应用更加简便

2014-11-16

AChartEnginee源码

AChartEnginee源码

2014-11-11

android趋势图jar

有关自定义趋势图的类都在此jar包中,结合博客案例即可快速学会如何使用

2014-11-06

空空如也

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

TA关注的人

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