
andorid
文章平均质量分 75
qndroid
这个作者很懒,什么都没留下…
展开
-
plugin工程及与flutter工程通信原理
上一小节呢,我们把一个android传统工程改造成了flutter混编工程,在flutter工程中想要调用android原生的方法或者功能,那肯定是离不开plugin工程的,下面,我们就首先来讲解一下我们本节课的第一部分内容,plugin工程。 那什么是plugin工程呢,我们创建一个来看一看即可,下面是我创建的一个网络plugin工程,用来实现flutter工程通过此plugin完成网络...原创 2019-02-21 11:08:20 · 7432 阅读 · 1 评论 -
Android仿格瓦拉循环滚动View
之前有同事用格瓦拉买电影票,自己下了一个看了看,App整体做的比较炫酷,看到一个效果挺不错,又在自己的能力范围之内,就模仿一下。下面是效果图: 就是一连串的电影胶片不停的向某一方向滑动,思路: 取两张背景图,同时向一个方向滑动,当超出屏幕范围时重新调整两张图的横坐标即可。 代码如下:/** * @description 仿格瓦拉App背景自动移动View* @author原创 2015-09-29 19:21:00 · 2135 阅读 · 1 评论 -
android基于开源网络框架asychhttpclient,二次封装为通用网络请求组件
网络请求是所有App都必不可少的功能,如果每次开发都重写一次网络请求或者将以前的代码复制到新的App中,不是很合理,出于此目的,我希望将整个网络请求框架独立出来,与业务逻辑分隔开,这样就可以避免每次都要重新编写网络请求,于是基于我比较熟悉的asynchttpclient重新二次封装了一个网络请求框架。 思路:网络请求层唯一的功能就是发送请求,接收响应数据,请求取消,cookie处理这几个功原创 2015-08-20 12:47:15 · 1660 阅读 · 3 评论 -
android MPChart图标使用详解
最近项目里有要添加更加复杂的图标了,以前一些简单的曲线图,饼状图,风险指示图等,都是自己画,随着难度的增加,越来越力不从心,以前研究过achartenginee图标框架,但发现achartenginee的可定制性实在不敢恭维,做出来的图标根本不能满足需求,所以又在github上搜索android chart,发现了排第一的这款图标框架,大概估计了一下,是符合自己的要求的,于是down下来,研究研究原创 2015-07-29 15:30:50 · 9482 阅读 · 0 评论 -
android自定义换行居中CenterTextView
在我们开发app时,TextView一定是使用最多的控件了,android自带的TextView的功能也十分强大,但还是有些小的地方不能满足我们的需求,几天要说的这个功能也是开发中很常见的,就是,在我们显示一段超过屏幕宽度的 String时,TextView会自动换行,但系统默认的换行效果是顶起,而不是美工要求的居中。这时候,就需要我们对系统的TextView做一些改造,已使得换行后文字能够居中显原创 2015-07-02 10:04:23 · 6910 阅读 · 3 评论 -
android仿IOS,滑动隐藏底部ScrollView
在我们开发android app时,会有很多效果都需要模仿IOS,最近在做一个页面时,其中用到了 ScrollView,但要做成IOS那种在ScrollView滑动时,浮在ScrollView的功能按钮要隐藏,当滑动结束后,功能按钮又要显示出来。效果如下图所示: gif实在是不好搞,所以只能截个静态图来表示一下,当ScrollView滑动时,浮在最下面的按钮会以动画的形式隐藏,当停止原创 2015-07-07 17:33:08 · 1747 阅读 · 0 评论 -
android应用程序优化之布局优化
在我们开发APP时不仅要在代码实现上,做到对App的优化,而在我们的界面布局也有许多要优化的地方,如果布局写的很low的话,系统加载布局的速度会十分的慢,使得用户的体验非常的不好,这篇文章主要是从我平时对布局的优化方面总结一下,我认为经常可以用到的布局优化方面的一些技巧和手段。 1.减少布局的嵌套,这一点也是最重要的 搞android的都知道,android的整个UI布局文件最后原创 2015-06-27 22:54:11 · 978 阅读 · 0 评论 -
android自定义View之曲线图
最近项目里要做一个简单的曲线图来标识数据,开始以为很简单,android已经有那么多的开源图表库了,什么achartenginee,hellochart,mpandroidchart等等,下载Demo一找,都强大到有点不适合我这个小小的展示功能了,直是无语了。于是只能自已去画了,继承自View去重绘。 下面先看一下效果图: 思路:根据点的数量将Canvas等分,等分后先原创 2015-05-28 14:49:32 · 4646 阅读 · 4 评论 -
android自定义 ProgressBar(继承自View)
github上已经有如此多漂亮的progressbar,可还是满足不了美工MM的胃口,无奈只得根据美工的需求,自定义一个符合要求的progrssbar了,美工给的效果图如下:好看是好看,还要求上面指示器的颜色随着进度去改变,上网找了一番还真没有发现完全符合要求的,只好自己想办法了。 思路:1.肯定的继承View或者progressbar去重写,由于我对progre原创 2015-05-20 13:43:10 · 1774 阅读 · 2 评论 -
android利用线程池高效实现异步任务
不管是开发android应用程序还是java应用程序,异步任务都是经常用到的,尤其是android本身做为线程不安全,只要稍微耗时的操作都要用到异步任务,而无论是java还是android通用的异步任务开发以前无非就是利用Thread和Runnable来实现, android系统本身还有属于他自己的AsyncTask去专门处理异步任务.但其实这些都不是最高效的异步任务处理方法,尤其是任务有多个的情原创 2015-05-16 21:10:28 · 1657 阅读 · 0 评论 -
android BaseAdapter多布局缓存
ListView是App开发中最常见的控件之一了,与之相随的则是BaseAdapter的使用,BaseAdapter的作用则是为我们的ListView提供数据源,普通的用法相信大家都会用,今天主要说明一下,列表中如果有多种样式的ItemView时,应该如何去高效的加载. 先看一下效果图: 如图所示:整个列表中存在着两种样式的ItemView,开始用传统的ConvertView去缓存子原创 2015-03-24 20:14:52 · 1296 阅读 · 0 评论 -
android Volley解析之自定义CookieObjectRequest
以前项目中涉及到Http请求时,一直用的是开源项目asncclient,封装的非常好,使用起来也非常的方便,不再需要自己去管理线程的生命周期,只需要创建一个请求,写一个请求回调即可,13年,google推出了velloy请求框架,功能基本与asyncclient 一样,都是为了简化网络请求编程,但更加灵活,用户可以根据需求自定义不同的请求,关于 Velloy的基本用法就不在说了,网上有许多教程,今原创 2015-03-28 22:23:11 · 1027 阅读 · 0 评论 -
android自定义View之自定义可置顶ScrollView,View滑动原理简析
使用各种App的时候,发现一个特点,现在的App在可以滑动的页面中,基本上都添加了一个置顶按钮的效果,使的用户可以很方便的回到顶部,就像网页中几乎所有的页面都有置顶效果按钮一样,觉得这个交互不错,以后自己的项目里也肯定会用到的,就抽空把这个小功能实现了一下,现在把实现过程记录下,以方便以后使用。 先看下效果图: 当ScrollView向上滑动超过一定距离后,就渐变的出现一个原创 2015-03-26 11:22:19 · 2496 阅读 · 0 评论 -
android自定义View之仿携程首页点击缩放ImageView
最近下了个携程App,点开首页看,注意到其按钮在点击的时候并不是我们经常看到的变色效果,而是先收缩,放开时,再回到原来的大小,感觉这个效果虽然小,但是感觉非常新颖,于是决定,模仿一下这个小效果,先看一下在携程上的效果,效果如下图所示: 再看一下我模仿的效果,如下图所示,效果基本一样。 先说一下整体思路:1.继承ImageView,重写onTouchEvent方法。原创 2015-03-25 18:15:20 · 1852 阅读 · 1 评论 -
Android Fragment切换动画效果
以前做Fragment切换时,都是直接 Fragment的切换,最近看到赶集网首页的Fragment点击按钮切换时,是有动画效果的,看着还不错,就参考网上的思路,照着实现了一下,下面是效果图: 思路:类似于Activity的转场动画一样,为FragmentTranslation添加指定的动画即可。代码如下: 1.自定义属性动画Layout,可extends任意一个布局,添原创 2015-10-03 22:18:13 · 11251 阅读 · 1 评论 -
android仿美丽说登录拖拽Layout
好久没有写博客了,今天趁自己不是很忙,有看到美丽说app的登录页面有一个挺有新意的小交互,就模仿了一下,基本上和它的功能完全一样。下面先看下效果图。 功能描述:手指在自定义的 View上滑动时,如果滑动距离超过指定距离,或者滑动速度超过指定的速度时,开始滑动。添加了滑到到顶部和底部的滑动监听。 代码如下:package view;/** * @descript原创 2015-09-17 18:19:22 · 1189 阅读 · 3 评论 -
flutter系列之将已存在的原生应用转化为混编应用
前面两小节呢,我们讲解了flutter混编工程与android原生的传统工程作了比较,通过对比我们知道了flutter工程的独特之处以及各工程文件的作用,今天我们就来实际的一步步将一个原生工程改造为一个混编工程,让大家从实际上掌握如何把当前的原生工程改造完成。 首先我们要创建一个flutter工程,步骤如下:重点就是要选这个Flutter Module类型,然后我们一路next填写好...原创 2019-02-15 17:33:08 · 941 阅读 · 0 评论 -
flutter系列之flutter工程如何与android混编
上一小节,我们讲解了flutter工程的整体结构和flutter工程中几个重要文件的作用,下面我们就来重点讲解一下,flutter工程如何与android混编在一起的。 这里,我们就要重点分析一下android这个目录下的一些重要文件了,大家先来看一下android文件夹都有那些东西。 大家来看,里面与我们平时创建的传统android工程看起来差别并不太大,app是我们最终的生成ap...原创 2019-02-15 17:30:05 · 758 阅读 · 0 评论 -
flutter系列之flutter工程结构详解(android视角)
flutter出来也有一年多的时间了,这个东西呢,也是用来做跨平台的,是由google主推的,作用与weex,reactive native一样,flutter的各种优势及缺点呢,我们这里就不再多说了,网上有非常多的文章供大家参考,今天我们重点来分析一下,flutter工程与我们传统的android工程有什么区别,以及这些区别的作用。在我们讲解本节课的内容之前,希望大家有一定的flutte...原创 2019-02-15 17:26:30 · 1264 阅读 · 0 评论 -
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 · 1375 阅读 · 0 评论 -
RxJava学习总结
rxjava库非常的强大,他有两个核心的作用,一个是线程切换,另一个就是强大的映射功能。他本身的设计采用的是观察者模式,通过事件的驱动来让我们的程序编写更加的简单。在写法上他的链式编程的风格使我们可以避免传统的接口回调带来的复杂的逻辑。所以,无论是在编程思想上还是语法上都是一个非常优秀的库。 rxjava库无论从使用上还是源码的实现上都是比较复杂的,在学习的时候一定要在多多原创 2018-02-03 21:10:15 · 402 阅读 · 1 评论 -
android应用热修复与插件化实践之路
android原生应用开发发展到今天,几乎每个App都是巨无霸级的大小,手淘,优酷这种应用更是航母级别的应用,一个应用可能几百人一起合作开发,在应用还小的时候大家可以甜蜜的合作,快速的迭代就像孩子小的时候每个人都喜欢,但随着应用越来越大,我们不得不面对的以下几个问题:第一,团队合作的效率越来越低,这是无法避免的,可能一个人的延期就会导致整个版本的延期,而人越多这个概率就是指数级别的增长。第二,潜在的原创 2017-06-14 18:02:45 · 623 阅读 · 0 评论 -
组件化开发Android应用及SDK
经过6个多月的努力,终于将自己的第一门实战课程录制完成了,并且在今天成功的上线到慕课网,课程终于能和大家见面了。课程地址:组件化开发Android应用及SDK下面我们就来说说,我为什么会想到录制这样一门课程,就连不是程序员的都知道我们程序猿最苦逼,加班不断,连找女朋友的时候都没有,所以当我刚要参加工作的时候特别的恐惧这个行业,我想这也是大部刚要工作的同学的心理。但当我工作以后,我发现自己并没有特原创 2017-02-10 16:14:24 · 3523 阅读 · 3 评论 -
Android仿58同城Loading View
今天打开58同城App看到他们的网络加载Loading做的很有新意,是一个三角形,圆形,正方形不同的运动并且切换,这个效果不说有多难,至少很有创意,就着手模仿了一下,先看下效果图: 58的更加复杂,在形状运动的过程还一直不停的旋转,旋转的坐标计算太复杂, 还没有搞定,先把这个半成品开源出来。思路:1.先画一个静态的形状和下面的阴影。 2.通过ValueAnimat原创 2015-10-13 17:50:24 · 2206 阅读 · 0 评论 -
android分享数据到不同平台组件化
快两个月没写博客了,真是惭愧,一个好习惯想要一直坚持下去真的不是一件容易的事情,赶快回到正轨,把自己的一点点经验总结出来,继续写下去。最近项目要用到分享的功能,这几乎是每一个app都有的功能,分享一些链接和一些其它信息到各大平台以扩大自己应用的知名度。而有许多公司在专门做分享平台包括:友盟和ShareSDK等,使用这些平台去分享只需调用第三方分享平台的统一API而不必再分别处理不同平台的不同接口了原创 2015-12-08 17:45:56 · 1017 阅读 · 0 评论 -
Android通过AIDL与远程服务通信
Android的一大特色就是不同进程间的组件间可以相互通信.我们可以通达Intent去调用其它进程的Activity,通过给定的Uri和权限去访问其它应用的数据(ContentProvider),那么一个应用如何调用其它App的Service呢,这时我们的AIDL就派上了用场。通过AIDL,就可以调用远程Service提供的功能。 在讲使用AIDL的时候,首先我们要搞明白,一个Activit原创 2016-01-07 22:43:32 · 1115 阅读 · 1 评论 -
Ubuntu下搭建git服务器步骤
由svn切换到git可是没少花功夫啊,虽然都是版本管理工具,本质上都差不多,但是git还是太灵活了一些,灵活的东西往往不好掌握,所以还是费了些工夫才基本上会用git了,要想成为git高手估计的下大功夫。 由于自己一只是用公司的git服务器,每天就是pull和push代码,自己的代码又是放在了github上,所以就想自己也抢建一个简单的git服务器,这样了也算是对git这个版本管理有更深入的了原创 2016-02-18 14:40:13 · 1163 阅读 · 1 评论 -
Android头部悬浮ListView第二种实现方式
上篇博客,根据几位大神的博客总结出了一篇ListView悬浮,快速索引。效果非常不错,而且易于扩展,可在实际项目中并不是很通用,因为总需要实现SectionIndexer接口,比较复杂而且不是所有的分且头部都是由A-Z 这种分组,也可能是以任意条件的分组,比如时间。这种情况下上一篇的方法就不能用了。本篇则是基于上一篇的代码修改,使的ListView不再去实现SectionIndexer.修改OnSc原创 2015-09-22 23:16:47 · 2675 阅读 · 0 评论 -
Android自定义头部悬浮,快速索引ListView
现在的App的ListView大部分都有分组头部和快速滑动索引,而且分组头部还有挤压的效果,看起来比较炫,于是就在各路大神的博客里找思路,果然发现了几种比较好的实现思路。其中夏神的关于列表快速索引是最好的,我个人认为,git上也有类似的效果但好多是重写ListView实现的,导致可扩展性变得不是很好,夏神是通过自定义View和SectionIndex实现此效果的。而头部分组挤压动画则是郭神的思路最好原创 2015-09-22 13:20:45 · 2017 阅读 · 3 评论 -
Android仿IOS有弹性ScrollView
最近项目里用到了一个开源的仿IOS可弹动的ScrollView,看源代码时发现其实实现原理是用 View动画实现的,每次都播一个动画,最后重新layout这个布局。看到使用了View动画,就有点不想用这个控件了,因为个人感觉View动画,应该是要被淘汰的技术了,于是就自己根据实现原理,重写了一个ScrollView,实现了同样的功能.思路:利用属性动画,及其View的偏移原理即可实现同样的功能。原创 2015-09-19 18:26:10 · 1314 阅读 · 0 评论 -
android二维码工程之仿QQ二维码实现
二维码发展到现在几乎是每一个App都有的功能,之前项目里用到了二维码功能就研究了下如何嵌入zxing二维码工程,之前的用法制包含了最基本的二维码扫码工能,用QQ时看到QQd的扫一扫,功能相对较全,可以扫图片,可以开闪光灯,还可以生成二维码,都是比较常用的功能,于是就仿照QQ的二维码样式和功能,自己也做了一个common工程,这样,以后要用二维码是就不必再做配置等工作了,直接关联到这个二维码工程即可原创 2015-01-04 16:18:16 · 1855 阅读 · 1 评论 -
eclipse下androidannotations开发环境搭建
在我们开发android应用程序时,会创建许许多多的Activity,每个Activity中又有许多的组件初始化代码,例如:findViewById(),这会使我们的代码看起来非常的冗余,而且不利于开发效率的提高,最近发现git上有一个类似于spring的依赖注入框架androidannotations,果断fork下来研究了一下,觉得非常的不错,于是决定以后使用这个框架来减化自己的代码,在我配置原创 2015-02-08 22:49:09 · 967 阅读 · 0 评论 -
android自定义GifView显示gif动画
gif动画在web开发中使用的非常的多,利用gif,许多动画不必再用程序编写,现在有非常多的App已经使用到了gif动画,可是android sdk并没有为我们提供gif这种View,所以我们只能自定义一个View,去实现gif效果. android虽然没有为我们提供现成的GifView,但是为我们提供了Movie类,这个类就是用来实现GifView的关键类.它主要有两个最重要的方法,一个原创 2015-02-04 20:13:43 · 2836 阅读 · 2 评论 -
andorid自定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager
最近的项目中,有一个需求要用ViewPager中嵌套ViewPager去实现整个效果,没做任何处理做出来后,只能不停的滑动子ViewPager,父ViewPager就无法滑动了,这样肯定是不满足的,分析了一下原因,很显示是整个滑动事件都被子ViewPager消耗掉了,所以只能对ViewPager做一下自定义处理,才可以实现。以下是这个需求实现后的效果图: 从图上就可以看出:我们用ViewPager原创 2014-11-18 16:14:48 · 3430 阅读 · 0 评论 -
android通过手机热点通信
前几章中讲到了使用手机的热点建立局域网,下面就简单讲下如何通过手机热点原创 2014-11-01 00:12:58 · 5178 阅读 · 0 评论 -
android通过xmpp实现服务器到客户端的推送功能
最近项目中要做推送功能,除了自己知道的友盟推送外还不知道其它的实现方式,于是就上网百度了一下要实现推送的基本途径,发现主要还有以下几种方式。 1.客户端创建一个socket,与服务器端的serversocket连接,其实就是客户端与服务器一直保持连接,这个其实本质上不能算是推送,只是利用了长连接这一技术实现了揈 送的功能,需要在后台一直启动一个服务与服务器保持连接才可以,还要处理许多意外的情况,如:服务被强制关掉,无法在手机关机的情况下推送等等。总之要处理的情况比较多,不太容易全部处理好。原创 2014-11-16 18:59:59 · 2634 阅读 · 1 评论 -
android控制软键盘显示与隐藏
在最近的项目需求中,交互发现在许多页面中,当原创 2014-10-31 23:31:27 · 872 阅读 · 0 评论 -
android自定义本地邮箱联想组件(基于MultiAutoCompleteTextView)
在做android客户端应用程序时,总原创 2014-10-21 15:59:35 · 3451 阅读 · 2 评论 -
android本地图片选择(相册选取,相机拍摄)
最近由于项目的需要,要求用户可以上传自己拍的照片和图库中的已有照片,这是一个App比较基础性的功能,就索性将整个功能抽出来写成一个组件,以方面其它的App再实现此功能时可直接拿来使用. 话不多说,先看一下效果图,弹出选择方式window :原创 2014-10-31 23:51:25 · 7172 阅读 · 0 评论 -
android wifi操作,热点创建
手机作为一种移动设备,自然是十分依赖Wifi的,通过原创 2014-10-29 21:49:29 · 1327 阅读 · 2 评论