自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (25)
  • 收藏
  • 关注

原创 android 进阶知识

1. java 必备知识(排序不分先后)反射(iOS中与运行时runtime类似)动态代理(cglib和原生)异常处理多线程知识(线程池等)2 android 框架mvp 个人比较喜欢的mvvmflux(facebook)感觉有点过重,解耦较彻底3 一些进阶细节知识(参见艺术探索)Activity 启动模式Binder自定义View、动画( xfmode

2016-04-11 19:47:47 675

转载 android的一些大神博客(留底)

转自 https://github.com/android-cn/android-dev-com国外部分开发者信息vatarGithubBlogDescriptionhttps://github.com/googlehttp://android-developers.blogspot.com/Google Android Deve

2015-08-16 22:59:42 1198

原创 iOS 进阶知识(框架)

iOS技术:runtimeOpenGL(CoreGraphics、QuartzCore、Core animation以及spring弹簧动画、音视频剪辑处理)xmpp即时通信流媒体(ffmpeg+本地server+html5、VCL)比较生僻知识(iOS7 推出的语音识别库 、蓝牙、内购、ios8 扩展(today 、share)、coreText)画图三方(图表 core Plot

2014-12-21 15:13:31 996

原创 Android Architecture Components 之Lifecycle-Aware 的源码及trick

见我的简书 https://www.jianshu.com/u/c717eefe3f42一 背景google的Architecture Components Components(lz 简写AAC)出来好久了,但一直没时间阅读源码,趁最近空挡,阅读了AAC的源码,分享下阅读的理解。二 AAC是个什么东西其实,AAC就是google提出的一种app开发框架,里面最基础的应该就是Lifecycle-A...

2018-04-09 19:49:37 356

原创 ConstraintLayout 使用简介

一 背景ConstraintLayout 是目前是android studio 2.2 以后的默认根布局。 到目前为止,大家还是习惯常用的布局。同事先尝试了下ConstraintLayout优化布局层次,笔者也使用了下,发现确实比较好用。下面我们一起来试着使用布局吧~~二 demo来看下有个简单的布局是这个样子的image.png

2018-01-29 17:51:33 324

原创 ListView的一个典型crash cannot be cast to android.widget.AbsListView$LayoutParams

1. 背景一个新版本的代码,在4.x版本进入某个页面的时候,必现crash。看到必现,心情就放松了一半。大致的crash信息如下:FATAL EXCEPTION: mainjava.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.wi

2018-01-29 17:50:35 1074

原创 添加Intent.FLAG_ACTIVITY_CLEAR_TOP 都做了些什么

背景最近老是看到各种面试中的lanchMode和Intent Flag, 大多数分析停留在表面, 并且有些还自相矛盾。lz 最近做一个需求需要用Intent flag, 查阅了下相关资料, 并从源码论证了原因。添加Intent.FLAG_ACTIVITY_CLEAR_TOP我们来看看系统是怎么做的? 别问我怎么找到源码的,我不告诉你是通过androidxref查找的。整体流程

2018-01-29 17:49:49 653

原创 recyclerView 进阶知识

详见我的简书 http://www.jianshu.com/p/de0aace99e15一 初级篇1. 请参照csdn上我的两篇:a android 5.0新特性 RecyclerView使用初级b Group分组列表的实现 RecyclerView ,实现不同类型的item组合列表二 进阶知识点:1. 设置Item的间距public class S

2017-07-28 18:51:02 523

原创 2016年干货小结

详见我的简书: http://www.jianshu.com/p/304ab3be30da16年过来,进了传说中的某厂,福利不错~~技术知识方面也有一些其他的收获,总结如下,对比一下技术:总体上来说,新东家程序员不用关心底层,只需关注业务逻辑和ui就好。老东家需要自己定义的地方比较多1. 架构上:新东家 mvvm + DataBinding猪厂那边则是传统mvc

2017-07-28 18:49:25 375

原创 Android内存泄漏分析总结

详见我的简书 http://www.jianshu.com/p/f03c808c45741. android studio 下如何dump heapPaste_Image.png如图所示,在android studio下dump内存操作还是比较方便的。大致就是在minitor里面操作。恩,直接将得到的hprof导入mat(如果是使用 android

2017-07-28 18:48:20 456

原创 Gradle plugin自定义

详见我的简书 http://www.jianshu.com/p/c8b3f6f829bb背景最近组里gradle大神带大家一起飞,lz也趁机学习一下Gradle相关的知识。我们工程中的gradle的脚本几乎是我所见过的最复杂的工程(另一个是Tinker),里面有自定义的plugin,也有自己执行的一些脚本,如lint,时间监听,findbugs,Checkstyle等,也使用gra

2017-07-28 18:45:48 1243

原创 PagerAdapter闪屏坑的修复

详见 http://www.jianshu.com/p/29b708c62b33背景最近在填前同事的一个坑时,不小心遇到另外一个坑。 在一个礼物面板,原实现是gridView + ViewPager实现的(有几页礼物),在送用户免费礼物时,刷新ViewPager里面的item时,出现了闪屏。其实很多童鞋知道,PagerAdapter在调用notifyDataSetChang

2017-07-28 18:44:33 1269

原创 TabLayout double click 标题回顶部

背景产品同学要求了一个很反常的需求,双击tab标题,回到页面顶部,哎,作为一名程序猿首先想到的是pk掉,无奈之下做了本功能。于是就发现了google 的sdk里面的bug,哎,写这些代码的人多半是实习生(锅先甩出去,逃~~)实现双击回顶部这里的实现实际上很简单,唯一难点在于怎么区分单击还是双击(tab切换)。不多说,很快就写出如下代码:tabLayout.setOnTa

2017-07-28 18:42:55 675

原创 属性动画源码分析

详见我的简书 http://www.jianshu.com/p/29fbf22bbbe3分析版本api 24首先我们要找一个入口,就从ObjectAnimator.ofInt(this, "width", 0, -20).start()开始吧,其他动画都是类似的。先看参数构造ObjectAnimator.ofInt(this, "currentProgress",

2017-07-28 18:41:26 503

原创 IjkPlayer 源码阅读一 初始化

详见我的简书 http://www.jianshu.com/p/9b0675da83801 背景公司的底层播放器实际上是ffplayer作为基础修改的,当然需要好好学习研究。 记录下来,作为以后备忘。(发觉人老了,就容易忘事)。ps 入坑需谨慎,很容易入门到放弃。2 分析入口分析的连接https://github.com/Bilibili/ijkplayer版本

2017-07-28 18:39:36 4837 1

原创 Android ANR 分析学习总结

我的简书Android ANR 分析学习总结1. 什么情况下会发生anr(1). KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应(2). BroadcastTimeout(10 seconds) --BroadcastReceiver在特定时间内无法处理完成(3). ServiceTimeout(20 seconds

2016-10-12 20:31:34 2610

原创 android studio 2.2 cmake ffmpeg 简单的播放器(这里只有视频解码)

背景在上一次的初次使用cmake编译jni后,这次cmake文件再次升级。利用网上的代码来编译一个简单的播放器。本文参照 Android+FFmpeg+ANativeWindow视频解码播放 一文,在cmake下重新编译。特将过程分享给大家。gradle 配置apply plugin: 'com.android.application'android { compi

2016-10-10 09:24:32 3855 8

原创 data-binding 踩坑记

原文见 我的简书 1. 如何向单个view传递多个binding参数a. 在BindingAdapter中定义@BindingAdapter({"position", "info"}) public static void renderView(View view, int position, Info info) { view.renderView(

2016-10-02 14:49:28 720

原创 Android Studio 2.2 JNI编译及Rxjava使用初级

原文见我的简书http://www.jianshu.com/p/9a0280416fb3jni-2.png背景最近几天刚好无事由于在新公司,业务上安排不是很满。android studio 2.2以后,jni比较方便开发了。本文是使用jni进行初级的demo需求。一个图片的高斯模糊效果。算法参见(https://github.com/GankLi/Demo/tr

2016-10-02 14:46:32 1838 3

原创 MVVM + data-binding 快速入门

参见我的简书 :MVVM + data-binding 快速入门前言简书上data-binding 的文章不少,但真正用来实现MVVM架构的文章不多。有些是官方的guide(https://developer.android.com/topic/libraries/data-binding/index.html) 的翻译版本,且官方的guide的架构主要采用 data-bind

2016-08-29 14:27:58 2437

原创 JsBridge 源码分析

原文可参考我的简书: http://www.jianshu.com/p/fce3e2f9cabc源码:https://github.com/lzyzsd/JsBridge1 背景近年来混合框架很火,一些大型的公司如BAT的移动客户端app几乎都采用了混合架构。这样实现有什么好处呢?首先就必须了解采用webview开发和采用原生开发的客户端的优缺点。这里我仅列举个人的观点

2016-05-31 12:51:31 1872

原创 音频开发ijkplayer小结 android

我的简书:http://www.jianshu.com/p/55fbfd5b564a最近接触到一些音频开发的操作和一个音频开发的三方库:github:https://github.com/Bilibili/ijkplayer。有人会问为什么使用三方库:最直接原因当然是因为系统的MediaPlayer支持格式不多或者是版本限制。具体只支持格式:http://developer

2016-04-20 23:34:50 13815 1

翻译 Butterknife 简单使用

介绍Activity中使用@Bind来对id进行绑定。class ExampleActivity extends Activity { @Bind(R.id.title) TextView title; @Bind(R.id.subtitle) TextView subtitle; @Bind(R.id.footer) TextView footer; @Overri

2016-04-12 13:47:47 636

原创 IntelliJ IDEA spring mvc +mybatis 环境搭建服务器(下)

上篇是使用xml配置来完成mysql数据库的操作,本文将使用注解形式,当然由于本文是较基础的入门级,存在许多地方欠考虑的地方,请大家多包涵。由于代码较简单就省略注释和讲解了。来自我的简书: http://www.jianshu.com/p/32f15e199572直接使用类来生成Mapper:package com.nothing.Mapper;import com.noth

2016-04-11 22:16:36 1104

原创 recyclerView 的坑

一 recyclerView 的bug 1.https://code.google.com/p/android/issues/detail?id=77846该问题现在还没有解决。本人是在recyclerView 从内存中重启的时候 ,想保存一个排序和原始数据恢复位置时遇到。这里特别指出fragment的生命周期:onCreateView -> onViewCreated

2016-04-06 18:50:51 2015

原创 IntelliJ IDEA spring mvc +mybatis 环境搭建服务器(中)

我的简书连接:http://www.jianshu.com/p/1730df498855这里使用的是xml配置mybatis,如喜欢注解,请待下一篇。1 修改配置,引入json、mybatis在pom.xml中添加mybatis-spring、mybatis、mysql-connector-java(用于mysql连接)、jackson-core、jackson-datab

2016-03-20 17:44:23 1435

转载 蘑菇街 App 的组件化之路·续

转自: http://limboy.me/ios/2016/03/14/mgj-components-continued.html前几天在「移动学习分享群」分享了关于蘑菇街组件化方面的一点经验,由于时间和文字描述方面的限制,很多东西表述的不是很清楚,让一些同学产生了疑惑,casatwy老师也写了篇文章来纠正其中的一些实现,看完之后确实有不少启发。统一的调用实现将「URL 调

2016-03-19 15:03:23 3285

转载 蘑菇街 App 的组件化之路

转自 http://limboy.me/ios/2016/03/10/mgj-components.html在组件化之前,蘑菇街 App 的代码都是在一个工程里开发的,在人比较少,业务发展不是很快的时候,这样是比较合适的,能一定程度地保证开发效率。慢慢地代码量多了起来,开发人员也多了起来,业务发展也快了起来,这时单一工程开发模式就会显露出一些弊端耦合比较严重(因为没有明

2016-03-19 14:52:53 1861

转载 iOS 组件化方案探索

转自 :http://blog.cnbang.net/tech/3080/看了 Limboy(文章1 文章2) 和 Casa (文章) 对 iOS 组件化方案的讨论,写篇文章梳理下思路。首先我觉得”组件”在这里不太合适,因为按我理解组件是指比较小的功能块,这些组件不需要多少组件间通信,没什么依赖,也就不需要做什么其他处理,面向对象就能搞定。而这里提到的是较大粒度的业务功能,

2016-03-19 14:45:29 506

转载 从零开始的Android新项目2 - Gradle篇

转自:http://blog.zhaiyifan.cn/2016/03/14/android-new-project-from-0-p2/ 相信大家的项目用上gradle都已经很久了,但用得如何呢?这里分享一下我的gradle脚本,大部分都是去年6月左右就开始用上的,有一部分比如签名的安全保存则是最近才自己动手,做了令自己觉得还不错的方案。module类型的区分科普小结,可

2016-03-19 14:32:55 761

原创 IntelliJ IDEA spring mvc +mybatis 环境搭建服务器(上)

图片贴不过来,可以看我的简书(http://www.jianshu.com/users/c717eefe3f42/latest_articles)所需软件Intellij IDEA Ultimate (一定要这个版滴,不过需要收费,别问我为什么,说多了都是泪,半夜没睡找不到tomcat部署项目,建议用最新版)Tomcat (下下来,解压即可使用,测试方式进入tomcat解压包的

2016-03-06 22:40:42 1239

原创 android 逆向 初级系列(二)

1 引言    最近利用空闲时间学习了下smali语法,当然是为逆向破解服务的。本文是android apk的初级逆向教程,适用于菜菜鸟入门。本文的例子crackMe文件仅仅是在Java层加入了条件判断。本文将一步步解析破解过程(主要是使用工具过程)。升华篇的广告屏蔽什么的都可以在本文基础上实践练习。

2016-02-01 13:21:04 924 1

原创 NestedScrollView 嵌套 ListView 实现滑动折叠效果

NestedScrollView 嵌套 ListView 替代 RecyclerView实现折叠效果

2016-01-30 16:53:18 7492 6

转载 36个Android开发常用代码片段

转自:http://www.phpxs.com/code/1001775拨打电话123publicstatic void call(Context context, String phoneNumber) {        context.startActivity(newInten

2016-01-30 14:25:40 853

原创 android design Behavior 初见

1. 先上图2. 引言     在android design 库中,增添了许多的控件,如前文转载的文章Android Design Support Library的代码实验 。该库中CoordinatorLayout是其中比较强大的类,承担协调View的责任。如一个view的滚动,相应的另一个view做对应处理。其强大处理能力得益于其内部类Behavior。传统实现两个v

2016-01-06 18:39:20 646

原创 android shell 常用的命令

在cmd   先输入adb shell(1-2):1. 查看当前resume的是哪个activity:      dumpsys activity | grep mResumedActivity2.resume的Activity   dumpsys activity | grep mFocusedActivity3 卸载apk:   adb uninst

2015-12-25 21:06:40 529

原创 ViewDragHelper 实现侧滑(二)

1 引言  android support v4中比较强大的类ViewDragHelper。自定义View(三) switch开关按钮 ViewDragHelper的使用初级 该文章粗略简述了ViewDragHelper的使用。本文进一步升级 使用ViewDragHelper类实现侧滑效果。注这里实现效果类似侧拉删除效果。(如果想实现侧拉删除效果需要自定义回调函数和处理逻辑   参照本文也

2015-12-12 16:58:05 697

转载 Android批量打包提速 - 1分钟900个市场不是梦

黎明前的黑暗使用Ant或者Gradle来给程序进行多渠道批量打包,通常都是在manifest文件中写入一个meta标签:meta-data android:name="CHANNEL" android:value="xxx" />meta的key值固定,通过循环改变meta中的value值来实现市场渠道的写入。Ant批量打包实现相对麻烦,以前写的时候多亏了 谦虚的天下-

2015-12-06 17:05:41 432

转载 Gradle多渠道打包 (1)

原文链接: http://stormzhang.com/devtools/2015/01/05/android-studio-tutorial6/由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。友盟多渠道打包废话不多说,以友盟统计为例,在A

2015-12-06 17:02:22 379

原创 Android Studio编译大工程报错:java.exe'' finished with non-zero exit value 1 or exit value 2

在公司 好好的项目在家突然没法跑 遇到如下问题:1. java.exe'' finished with non-zero exit value 1找了下原来在我低配机子 项目都没法跑:dexOptions { javaMaxHeapSize"xx"}修改下参数。2 java.exe'' finished with non-zero exit value 2这个报错

2015-11-28 20:41:39 649

andriod 的xml解析

Andriod sax解析 Thread+Handler 使用简单的ViewHolder对listView进行优化 详见博客

2015-04-22

iOS 断点续传(NSURLConnection简易封装)

iOS 断点续传 NSURLConnection 含进度条回调方法 文件名自动获取

2015-04-18

andriod 图片上传

本部分是Andriod 文件上传的客户端部分建议和服务器端一起阅读。文中含中文乱码解决

2015-04-14

andriod、iOS服务器端代码之文件上传

含文件上传 下载 和简易的文件注册的服务器端代码,该代码含浏览器端上传文件的简易jsp代码。具体博客见

2015-04-14

andriod、iOS服务器端代码

这是使用java+servlet编写的简单的服务器端源代码,客户端可使用iOS、andriod。实现功能:实现一个指定链接下载,和一个注册功能。 具体见博客http://blog.csdn.net/nothingl3

2015-04-14

ios 实例 Storyboard

ios 5.1 Storyboard 多视图切换包括实现自定义协议delegate等

2013-05-30

iOS.5.Recipes

本文是全英文版ios5的基础教程,下载请慎重~~

2013-05-30

核心动画编程指南

本文档介绍了在使用核心动画时所涉及的基本概念。核心动画的是Objective - C的框架,它通过简单的动画编程接口来提供一套高性能的动画引擎。

2013-05-30

iOS人机界面指导手册

用户钟爱那些专门为移动设备设计的iOS程序。例如,用户非常希望程序能够与设备屏幕相衬,并且能够响应那些用户熟识的手势。虽然用户可能不知道人机交互设计原则, 诸如“直接操控”“一致性”,但却能觉察的出遵守原则和违背原则的程序之间的差别。当你开始设计iOS程序时,一定要意识到是什么让iOS设备如此独特,并且学会使用交互设计原则,以便用户能爱上你的程序。

2013-05-30

UITableView中行的操作

这篇文章主要讲的表格的操作包括:标记行、移动行、删除行、插入行。 这次就不从头建立工程了,在http://www.oschina.net/code/snippet_164134_9876下载工程。这个工程就是最简单的产生一个表格并向其中写入数据。用Xcode 4.2打开它,在这个工程基础上实现以上操作。(包含截图)

2013-05-27

UITableView与UITableViewCell

UITableView用来以表格的形式显示数据。关于UITableView,我们应该注意: (1)UITableView用来显示表格的可见部分,UITableViewCell用来显示表格的一行。 (2)UITableView并不负责存储表格中的数据,而是仅仅存储足够的数据使得可以画出当前可见部分。 (3)UITableView从UITableViewDelegate协议获取配置信息,从UITableViewDataSource协议获得数据信息。 (4)所有的UITableView实现时实际上只有一列,但是我们可以通过向UITableViewCell中添加子视图,使得它看起来有好几列。

2013-05-27

分组的表格

为了做一个有分组的表格,我想到了树形结构的数据。记得前边在介绍Picker控件时,曾经使用过我国部分省市名称的信息,这里,我们再次使用那个信息。在那篇文章已经建好了一个plist文件,所以后面我们会直接将该文件拖放到新工程中。在文章的最后会将代码上传。

2013-05-27

UITableViewCell

上篇文章介绍了如何用UITableView显示表格,并讲了几种UITableViewCell的风格。不过有时候我们需要自己定义UITableViewCell的风格,其实就是向行中添加子视图。添加子视图的方法主要有两种:使用代码以及从.xib文件加载。当然后一种方法比较直观。 我们这次要自定义一个Cell,使得它像QQ好友列表的一行一样:左边是一张图片,图片的右边是三行标签:

2013-05-27

UIDatePicker与UIPickerView

UIDatePicker是一个可以用来选择或者设置日期的控件,不过它是像转轮一样的控件,而且是苹果专门为日历做好的控件。本文是实例教程,文章后给出源代码

2013-05-26

使用Tab Bar切换视图和ToolBar切换视图

上一篇文章提到了多视图程序中各个视图之间的切换,用的Tool Bar,说白了还是根据触发事件使用代码改变Root View Controller中的Content View。这次,我们还是讲一讲切换视图,不过这次使用的是Tab Bar。

2013-05-26

iOS开发6:UIActionSheet与UIAlertView

iOS程序中的Action Sheet就像Windows中的 “确定-取消”对话框一样,用于强制用户进行选择。当用户将要进行的操作具有一定危险时,常常使用Action Sheet对用户进行危险提示,这样,用户有机会进行取消操作。 Alert相当于Windows中的Messagebox,跟Action Sheet也是类似的。不同的是,Alert可以只有一个选择项,而Action Sheet却至少要两个选项。

2013-05-26

iOS_5_Core_Image_教程

Core Image滤镜能够一次给图像或视频帧叠加运用多种效果,当多个滤镜叠加处理起来仍然是有效率的,因为它们创建了一个单独的可修改的滤镜应用到图像中去,而不是每个滤镜一个个来处理图像。

2013-05-22

object-c基础教程

本文为ios的开发语言object-c的基础语法

2013-05-22

实例_iPhone_SDK_编程入门教程.

本文为中文教程,ios sdk版本较低,不过,适合初学者,操作讲解较细。

2013-05-22

ios5 如何用Core Plot绘制柱状图

使用第三方框架core Plot 绘制常用的柱状图,讲解较为详细,适合初学者。

2013-05-22

IOS 5手势识别教程:二指拨动、拖移以及更多手势

中文翻译教程,添加减速运动 设置手势识别器依赖 添加一个自定义的UIGestureRecognize

2013-05-21

如何创建一个类似 Instagram 的使用 Web Service 作后台的应用

用一个空白的启动项目,所有的UI已经建立,本教程将介绍如何: • 如何使用 Objective-C 连接到一个基于 JSON 网络 API • 如何使用 PHP 创建一个简单的 JSON API • 如何为此 API 实现用户授权 • 如何拍照、应用特效,并发送只 JSON 服务。

2013-05-21

AFNetworking速成教程

AFNetworking 非常受开发者欢迎 – 它赢得了读者的青睐:2012年最佳的iOS Library奖(2012 Best iOS Library Award.) 所以现在本文介绍如何在程序中有效的使用它。

2013-05-21

iOS5 Tutorials

本文是全英文的较好的实践性教程,包含很多内容,如动画,cocos2d 游戏基础,OpenGL ES 2.0,UIPageViewController,UIKit粒子系统,Core Image等还包含关键词中初学者部分

2013-05-21

js 简单的连连看

用数字做的连连看 连线法则为任意相同数字对可连线

2012-05-10

空空如也

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

TA关注的人

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