
开发经历
androidstarjack
生命不息,奋斗不止,万事起于忽微,量变引起质变
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
谷歌的 I/O 2019,究竟推出了什么新特性?
前言昨天,也即赶在微软 Build 2019 的第二天,一年一度的2019年 Google I/O大会在美国如期举行,Google I/O 2019全纪录:AI惊艳,Android Q真香,包括两款新硬件。值得一提的是,微软也贴心而大方地现场直播了这场由 Google 打造的同样举办在美国西海岸的科技盛会。只不过,与 Bulid 大会相比,Google I/O 除了同样吸引开发者之外,也会...原创 2019-05-09 10:39:53 · 678 阅读 · 0 评论 -
高级UI特效之酷炫水波纹动画
最近研究了一个特效动画: 一个水波纹动画的动态效果。有兴趣的童鞋们可以去了解一下。定义组件大家都非常熟悉。不可以参考如不熟悉童鞋可以去参考:http://blog.csdn.net/androidstarjack/article/details/42567301水波纹动画展示效果:针对于这样的效果我们可能想起来的绘制方式有:第一种方式: 正弦曲线 计算x,y。VauleAnimation 控制原创 2017-03-12 17:52:01 · 4724 阅读 · 0 评论 -
教你打造一个万能的适配器
最近项目中 经常用listView和GridView ,可以说是项目中Listview GridView几乎是必用的组件,Android也提供一套机制,为这些控件绑定数据,那就是Adapter 最近抽了时间,自己也打造了一个万能的适配器看我们之前的一些写法:public class ImageViewAdapter2 extends RecyclerView.Adapter<ImageViewAd原创 2017-02-24 14:57:52 · 764 阅读 · 0 评论 -
子线程不能更新UI线程总结
子线程不能更新UI线程总结有时候大家做项目的时候偶尔会碰到这个错误。不用说大家都知道是子线程更新主线程(UI)线程的问题,同样大家也会给出相对应的解法:使用handle+Thread方法通过发送Message进行更新UI线程。原创 2017-01-09 22:10:32 · 1666 阅读 · 0 评论 -
Android recycleView的研究和探讨
RecyclerViewLibraryA RecyclerView libirary ,has some support, like headerAdapter/TreeAdapter,and PulltoRefreen/Drag一个RecyclerView扩展库,其中主要包含1:针对RecyclerView数据适配器的封装2:RecyclerView上拉刷新,下拉加载原创 2016-02-15 10:04:56 · 1915 阅读 · 0 评论 -
《Android源码设计模式解析》读书笔记——Android中你应该知道的设计模式
建造者模式建造者模式最明显的标志就是Build类,而在Android中最常用的就是Dialog的构建,Notification的构建也是标准的建造者模式。建造者模式很好理解,如果一个类的构造需要很多参数,而且这些参数并不都是必须的,那么这种情况下就比较适合Builder。比如构建一个AlertDialog,标题、内容、取消按钮、确定按钮、中立按钮,你可能只需要单独设置几个属原创 2016-02-24 17:07:32 · 4902 阅读 · 1 评论 -
Android Studio打包apk,aar,jar包 总结
文本我们将讲解android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别。原创 2016-08-30 14:33:43 · 11380 阅读 · 0 评论 -
android 支付宝的植入 《曾经踩过的坑》
最近公司有需求在项目中要植入支付宝支付等功能。 在完成植入的过程中,遇到了一些坑,今天趁趁任务不多做了个总结。分享给大家,希望以小伙伴不要陷入这些坑中以免浪费很多的时间。原创 2016-10-13 17:57:07 · 7314 阅读 · 1 评论 -
TextView自动换行以及内容过长全部显示--终极解决办法
http://blog.csdn.net/wwzqj/article/details/8731859最近在写项目的时候要求内容过长加省略号或者是右边有箭头,点击显示全部内容,下方有想向上的箭头,点击底部箭头进行收回,单行显示。#### TextView显示一行,点击展开显示全部,再次点击单行显示#### 解决TextView显示 自动换行 话不多说,先上效果图:在Android TextVi原创 2017-02-28 18:42:09 · 31126 阅读 · 0 评论 -
自定义GridView实现分割线解析
前两天在些项目的时候碰到常用的GridView要实现一些分割线,之前就是用本方法利用listView和Item的背景颜色的不同线显示分割线。这是最low的一种做法。于是我就简单的写了一个自定义的 GridView。我们可以先看List怎么设置分割线android:dividerandroid:dividerHeight然而我们都知道 GirdView默认是没有网格线的,那么该如何设置呢?如何设置G原创 2017-02-20 09:30:34 · 2684 阅读 · 0 评论 -
android 教你如何判断是否是模拟器还是真机
最近有一些业务需求要判断是否在真机上运行还是在模拟器上运行两种不同的情况下做不同的业务逻辑操作。上网查了查还真有不少的资源。接下来老于接给大家们来总结一下。主要思路:1. 首先要明白 不要采用IMEI的方式。模拟器的IMEI可以修改的。而且平板是没有IMEI的,可以检测设备的MAC地址,模拟器的MAC地址是固定的几种。2.通过调用公开或者隐藏的系统API判断并不靠谱,因为调用结果可以轻易被修改,比如直接修改Android的源代码或者借助Xposed Framework进行修改。3.有基于模拟器特征和原创 2016-11-29 22:36:32 · 31375 阅读 · 5 评论 -
ListView个性化滑动指示器酷炫效果
前几天看到有好多人搞了一个listView的一个指示特效。然后自己参考了一下面对这样的效果年会想起来几种思路? - 自定义scrollView+scrollBar - 自定义ListView+自定义ScrollBar - 自定义 RecycleView - 自定义Behavior - 自定义listView + PopuWindows - 自定义ViewGroup 这几种哪一种是最合原创 2017-04-04 16:49:28 · 2602 阅读 · 0 评论 -
BlockCannery-一个强大的Android程序调试工具,轻松帮你找出卡顿
还在为项目中的内存泄露发愁呢?还在为卡顿现象找不到原因吗?今天介绍一个强大的调试工具——*BlockCannery*。学完这个相信你能收获不少。BlockCannery- 轻松找出Android App界面卡顿元凶BlockCanary 是一个 Android 平台的一个,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的原创 2017-04-20 00:15:30 · 3254 阅读 · 0 评论 -
2017经典面试题必杀技——你值得收藏
最近总结了一些java方面的面试题,给大家分享一下原创 2017-04-23 22:54:46 · 4408 阅读 · 6 评论 -
需求背后程序员的辛酸—(由APP主题颜色随手机壳颜色变化需求带来的思考)
说说最近发生的一些事情近日 某互联网公司就因为 ‘主题颜色随手机壳颜色变化’而发生了一次吵架事件,后来都被开除了!作为一名程序员,大家都知道,产品经理是需要经常与研发人员打交道的一个职业,他们也有一定的技术常识,有相当一部分产品经理都曾经是程序员,他们也开发过很多优秀的产品,后来由于自己的职业规划就转产品经理了,因此这部分人与程序员沟通起来也是相当轻松的,当然也有一部分产品经理直接就是...原创 2018-08-03 09:11:44 · 6943 阅读 · 0 评论 -
SVG前戏—让你的View多姿多彩
什么是SVGSVG的全称是Scalable Vector Graphics,叫可缩放矢量图形。是一种基于可扩展标记语言(XML)。它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降。它的优点在于节约空间,使用方便。svg的优点首先简要解释一下矢量图像格式和位图图像格式的区别。矢量图像用点和线来描述物体,所以文件会比较小,同时也能提供高清晰的画面,适合于直接打...原创 2018-08-07 10:40:22 · 624 阅读 · 0 评论 -
学习React Native必看的几个开源项目
1.Facebook’s F8 Conference App 项目地址 https://github.com/fbsamples/f8app2.Reading来自饿了么RN大神开源的reading项目,已经完成Android和iOS双适配。绝对是一个产品级的开源项目,并且作者还在持续的更新。值得一荐! 项目地址: https://github....原创 2018-05-25 12:00:03 · 3885 阅读 · 0 评论 -
sourcetree 安装-Windows 越过验证
下载地址sourcetree官网地址:https://www.sourcetreeapp.com csdn下载地址: https://www.sourcetreeapp.com sourcetree简介:SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克...原创 2018-04-23 11:09:10 · 864 阅读 · 0 评论 -
除了敲代码,你还有什么副业吗?
学习相关更多的技术,可参考《技术文章集合—184篇文章分类汇总》,再往下看, 我的业余时间都做了哪些事情!前言作为一名程序员,除了敲代码之外的一些副业!什么是副业?副业就是主要事业以外附带经营的事业。我们都是程序员,大多数都是普通人,都在替别人打工,虽然收入在别人眼中挺高,但是在霸都连个首付都付不起。这时,首先得要发展副业,与其拿着死工资,还不如做些啥!我们大部分人写代码发...原创 2018-04-16 14:04:26 · 4882 阅读 · 1 评论 -
11个优秀的Android开源项目
一些不错的开源项目,Android开发者必备,你get到了吗原创 2017-12-04 10:11:27 · 3102 阅读 · 0 评论 -
你真正了解UI线程更新的几种方式吗—面试必备之深度揭秘
你真正了解UI线程更新的几种方式吗——面试必备之UI刷新大解密我们都知道一般面试的时候都会问道Handler的运行机制。有些时候面试官不会直接问道。但是如果问道UI线程更新的方式有哪几种,你知道多少?今天我们用demo来探讨一下主线程中更新的几种方式通过简单的点击按钮来实现更新一张我女神的图片测试效果:首先我们要知道Handler的运行机制:这里不再做过多的讲解。请参考Handler消息机制完全解原创 2017-10-26 23:02:41 · 525 阅读 · 0 评论 -
2017上半年技术文章集合—184篇文章分类汇总
声明 | 本文是于亚豪 原创 终端研发部前言:2017年已经过大半,公众号里技术文章整理和归类了一下,方便给大家查找和阅读。这也是目前 发文的一个统计。原创 2017-09-10 18:22:46 · 4320 阅读 · 1 评论 -
一个强悍而优美的Android视频播放器
一行代码教你教你实现音视频播放器原创 2017-04-07 13:56:27 · 71230 阅读 · 24 评论 -
仿QQ空间之打造个性化可拉伸头部控件
最近有研究了QQ空间可拉伸头部控件的listView。如何去做呢?这里使用了自定义listView的方法。先看效果图吧:究竟如何去做呢? 可以用的方法有: * 1.继承 extends ViewGrop * 2.RecycleView +Behavior+CoordinateLayout * 3.ViewGroup 组合控件 * 4.ListView + headView这次我们主要原创 2017-02-26 22:25:09 · 1873 阅读 · 0 评论 -
这些优秀的音视频开源框架你值得收藏
音视频播放器第三方框架1.一个基于IJKplayer 的多功能视频播放器视频播放器(IJKplayer)的有点:HTTPS支持支持弹幕支持基本的拖动,声音、亮度调节支持边播边缓存支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持支持列表播放,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动5.0的过场效果,调整比例,多分辨率切换原创 2017-04-02 22:32:37 · 39325 阅读 · 6 评论 -
人工智能时代即将到来—作为程序员你准备好了吗
人工智能时代即将到来—作为程序员你准备好了吗原创 2017-08-05 14:23:15 · 6873 阅读 · 0 评论 -
关于NDK和jni你究竟了解多少?
http://blog.csdn.net/banketree/article/details/12167145首先我们要知道Java是如何调用c/c++的什么是JNIjava native interface(java本地接口) ABI: application binary interface (应用程序二进制接口)简介JNI是Java语言提供的Java和C/C++相互沟通的机制,Java可以通原创 2017-03-08 22:54:36 · 3080 阅读 · 0 评论 -
Android 最火的快速开发框架XUtils
最近搜了一些框架供初学者学习,比较了一下XUtils是目前git上比较活跃 功能比较完善的一个框架,是基于afinal开发的,比afinal稳定性提高了不少,下面是介绍:鉴于大家的热情,我又写了一篇Android 最火框架XUtils之注解机制详解xUtils简介xUtils 包含了很多实用的android工具。xUtils 最初源于Afinal框架,进行了大量重构,使得x转载 2016-03-13 16:12:24 · 980 阅读 · 0 评论 -
Android自定义View的实现方法,带你一步步深入了解View(三) 。
在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) 。相信大家在平时使用View的时转载 2015-04-07 13:41:18 · 2180 阅读 · 0 评论 -
Android视图绘制流程完全解析,带你一步步深入了解View(四)
不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析、视图的绘制流程、视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了。如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西。之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲View的工作原理,以及自定义View的方转载 2015-04-07 13:44:08 · 1372 阅读 · 0 评论 -
腾通 VS 百度
腾讯 vs 百度 1 文化百度提倡“简单,可依赖”,我的理解是做出来的产品要靠谱,要有很好的用户体验。以搜索起家的百度,对产品质量相当看中,因为当用户认定你做得不好,没口碑后可立马更换搜索引擎。公司设有专门的质量部门,各个产品都会配备有QA人员,负责产品质量。从每年校招也能看出来,做测试的比例大概是研发的二分之一。而腾讯提倡“拿来主义”、“微创新”。腾讯很多产品都是抄袭别人的,转载 2015-03-18 14:57:20 · 928 阅读 · 0 评论 -
Android 自定义组件<总结篇>
public View addDivider() {return mInflater.inflate(R.layout.te_divider, mContents);}public View addView(int layout) {View view = mInflater.inflate(layout, null);mContents.removeAllViews(原创 2015-01-26 21:33:29 · 1133 阅读 · 0 评论 -
直接拿来用!最火的Android开源项目(一)
摘要:对于开发者而言,了解当下比较流行的开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个Android开源项目。GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项转载 2015-03-06 16:39:55 · 797 阅读 · 0 评论 -
我的匆匆2014
又一年过去了,在键盘上又度过了一个有趣的时光。记得在看匆匆那年的时候,里面的主人翁10年吊死一棵树,最终修成爱情的正果。虽说我们是搞开发,回想起我的2014,回忆起那些点点滴滴,也有着独特的光芒,让给我有无尽的遐想与回味。2014年,不得不说自己已经在工作上习惯关了从未有的习惯,在生活上也习惯了不该有的习惯。为了工作赚钱,每一天晚睡早起,为了过上好一点的生活,每一天都冒着生命危险与众多的上班族原创 2015-01-07 14:09:38 · 4204 阅读 · 56 评论 -
android 自定义组件< 七> :对VelocityTracker的研究
该文章是对VelocityTracker的总结:用来追踪触摸事件(flinging事件和其他手势事件)的速率。用obtain()函数来获得类的实例,用addMovement(MotionEvent)函数将motion event加入到VelocityTracker类实例中,当你使用到速率时,使用computeCurrentVelocity(int)初始化速率的单位,并获得当前的事件的速率,然后使用getXVelocity() 或getXVelocity()获得横向和竖向的速率。原创 2015-01-22 22:20:59 · 1238 阅读 · 0 评论 -
List集合和LinkList的讲解
之前我们在做项目的时候,曾遇到过一个小问题:在设置适配器之后,就是如果想让list集合进行倒叙排列或者是在做拖动listview的Item的时候,想重新改变list的顺序。尤其在做下拉刷新和上拉加载时,需要变换list集合的顺序。这个时候我们要清除的明白list和Linklist的区别:链表和数组的区别?数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数原创 2015-02-12 15:32:51 · 4163 阅读 · 0 评论 -
老于的开发经历
大家好,我是老于。趁着新年的到来之际,此时一想,干android已经快3年了,想为大家想分一下自己的感悟,希望大家能从中收获点什么。自己曾经做过外包,现在回想起来,外包的生活真是非常的耐人寻味啊。大部分人理解外包,给他们的感受一句话就是:外包不是人待的。其实呢,如果你抱着这样的心理就有点愧对干android开发了。记得我11年10月份时,那时候刚出来还是一个乳臭未干的小木瓜,大学的生活是...原创 2015-01-04 14:21:11 · 2567 阅读 · 11 评论 -
自定义组件<六>:深入理解ViewGroup
自定义组件ViewGroup深入理解有前几张环节可以看出来:自定义组件的测量过程和绘制过程想弄懂并不是那么的容易。接下里我就仔细给大家来讲一下测量过程-:onMeasure()以及 布局过程:onLayout()原创 2015-01-22 13:55:26 · 2002 阅读 · 0 评论 -
WebView加载方的方式
webView的加载方式,三种方式,原创 2015-02-06 16:54:05 · 2072 阅读 · 0 评论 -
自定义组件<五>
大家先看一下如何来自定义ViewGroup的:public class MyGridView extends ViewGroup{private Context mContext;public MyGridView(Context context, AttributeSet attrs) {super(context, attrs);mContext = context;m原创 2015-01-16 23:47:21 · 3009 阅读 · 0 评论