自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

让创意的火花散落到屏幕的每一个dp

记录心路历程,让以后的我了解现在的我

  • 博客(258)
  • 资源 (10)
  • 收藏
  • 关注

原创 build 企业级移动端

从13年加入饿了么,一直在移动端摸爬滚打,经历了饿了么物流移动从0-1的完整过程,最近一年一直在后端当练习生,前后端视角拉平之后,想写一篇文章总结一下这些年对移动端搭建的经验。移动开发跟随着Android 和iOS的系统的发展 而不断生长,从起初的几个页面到现在各种动态化模块,AI滤镜,千人千面的运营配置,这一切都是因为手机对人的作用发生了变化,对很多人来说手机就像一个器官,打电话已经是最边缘的功能,这个器官可以看见更多的东西,可以拍照留下记录,可以传感器记录下当下的温度运动状态,全面扩展了人的视听感触,

2020-11-19 22:12:35 355

原创 饿了么物流移动端业务可用性监控体系建设

在这个重视稳定性的年代,很多公司在移动端性能监控上花了很大的力气,对业务可用性监控的投入不足,但是移动端可用是由性能可用和业务可用共同组成,缺一不可,因为业界性能监控已经比较成熟,有很多第三方的平台,所以避开性能监控不谈,下面介绍一下饿了么物流移动端在业务可用性监控体系建设上的一些探索。饿了么物流移动端作为骑手直接使用的配送工具,需要每天承载千万量级的配送单量,骑手app具备以下三个特点:时效要求高,网络环境复杂,重度使用。骑手需要在30分钟内将订单配送到用户手中,中间实施多次订单操作,可谓争分夺秒,如果

2020-11-19 19:43:29 812 1

原创 解决React-Native-Attached-DialogModule-to-host-with-pending-alert-but-no-FragmentManager

问题是这样的,线上的Bugly爆出这样一个错误,而且延续了好多个版本,一直没有解决,崩溃次数已经上千次,因为刚看过RN源码所以斗胆尝试解决一下。 Attached DialogModule to host with pending alert but no FragmentManager (not attached to an Activity). com.facebook.infer.a

2016-09-13 19:45:45 1944

原创 React-Native-源码分析三-JSX如何渲染成原生页面(下)

前文中这次会反推JSX如何最终变化为原生控件的过程,上面这部分算是原生的绘制已经结束,下面开始到JS代码中找,JSX布局如何传达到原生的。经验之谈:要凭借我的半吊子js和C水平要去扒拉React-Native js部分的代码,也是够吃力的,但是我找到了一个很好的工具-webStorm,之前使用sublime text,不能查看类直接的依赖,不能全局查找引用类的地方,在面对几百个类和他们直接错综复杂的

2016-09-13 14:17:37 3962 1

原创 React-Native-源码分析二-JSX如何渲染成原生页面(上)

本文跳过了React-Native 的通讯过程,详细请参考大头鬼写的Java和JS的通讯原理,虽然0.33版本加入了懒加载,原来配置表生成的时机和方式发生了改变,但是原理还是没有改变:通过约定的JSON,解析出moduleName,function name,然后通过本地找到对应的模块中的方法,然后通过反射执行这些方法,实现调用。这篇将从Android原生反推JSX如何最终变化为原生控件的过程。博主

2016-09-13 14:16:59 2685

原创 React-Native-源码分析

用React-Native也有1个月了,好多疑惑一直挂在心头,没有得到很好的答案,有道是: 纸上得来终觉浅,绝知此事要躬行今天来源码中一探究竟,博主使用的环境是 “react”: “15.3.1”, “react-native”: “^0.33.0”,先看第一个问题一切的开始-startReactApplication想要搞清楚这个问题,那首先要知道在start一个React

2016-09-13 14:16:21 2434 2

原创 SwipeRefreshLayout要点详解

SwipRefreshLayout是google提供的support v4包下面的下拉刷新控件,他继承自ViewGroup,内部可以放几乎所有的滚动控件。This layout should be made the parent of the view that will be refreshed as a result of the gesture and can only support one

2016-06-19 19:09:55 2884 1

原创 想不通HTTPS如何校验证书合法性来看

简介 HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用 TLS/SSL 加密的 HTTP 协议。 HTTP 协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议

2016-06-15 23:03:03 3477 2

原创 AndFix学到的东西

AndFix已经使用了一段时间了,但是到AndFix上看了一下,最近2个月都没有更新代码了,有141个issues和3个pull request没人处理,其实AndFix的Contributors就俩个人,一个是rogerAce还有个是supern lee,虽然快要沦为了阿里的KPI项目,但是并不妨碍AndFix在业界的地位-一个低成本快速接入的Bugxiuf第一方案。第二方案Nuwa,Nuwa的原

2016-06-05 22:38:37 1216

原创 EventBus要点解析

使用流程register(object)eventBus.post(event)举个简单例子基类Activitypublic class CommonActivity extends AppCompatActivity { protected EMEventBus eventBus; @Override protected void onCreate(Bundle saved

2016-05-25 21:09:10 1186

原创 借助Packet Capture实现无Root抓请求

背景是这样的,有一天运营的同事反馈达达可以抓到我们的订单,简单查看了一下流程,发现达达先会下载一个插件,安装后,会提示信任一个vpn证书,然后就可以获取到我们的订单。

2016-05-19 22:00:27 37078 14

原创 重构一个快不可维护的项目

历史原因,接手了一个一直堆业务逻辑,没有重构过的项目,简单看了一下代码就感觉麻头皮,满目都是一个方法里面大段的代码,阅读起来极度困难,可以合并的类没有合并,导致一个请求回调之后需要发送4个Event,这些都让我感觉重构迫在眉睫。首先我将重构分为代码质量的重构和业务逻辑的重构,因为业务迭代还在继续,这时候进行大量的业务逻辑重构,肯定为影响业务进度,所以我第一步的工作重点就是代码质量的重构。代码规范

2016-05-05 22:59:10 908

原创 慵懒的午后

人结婚之后很多想法会改变,尤其是在老婆怀孕之后,我更关注生活的品质,也开始从麻木中慢慢体会到精致的细节。我正处于青春和中年的交界处,偶尔迸发尚存的青春热情,大部分时候,都是冷眼看待周围的一切,主动放弃和小伙伴们一起聚餐,早早的下班回家陪老婆吃饭。不是想提早进入中年男人的状态,而是想到老婆一个人在家可能会孤独,我不回去做饭,她可能又随便将就一顿,每当想到这里,聚会就没有那么好玩了。 慵懒的午后,陪着

2016-04-24 17:07:04 909

原创 队列在Android中是使用

先科普一下队列: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素成为出队。因为队列只允许在一段插入,在另一

2016-03-27 01:37:28 7592

原创 实现一个复杂的悬浮窗

且看这次的背景,产品需要实现这样一个dialog考虑到dialog中界面的复杂,使用dialog有点难以控制生命周期,所以我们想使用Activity来实现,但是实现了之后,发现了坑爹的事情,在按了home键之后在service中启动activity会有5秒钟的延时,具体请看这在产品上是不能忍受的,所以又回到了dialog上。先实现悬浮窗小圆球,这个不难,但是很快遇到了第一个坑,在小米和魅族上,悬浮框

2016-03-22 13:30:57 2048 2

原创 逆光

主要讲述上世纪80年代初,上海造船厂钳工廖星明与出身干部家庭的夏茵茵的爱情故事。廖星明虽然出身贫困,但知识可改变命运,于是他专注学习,努力掌握文化知识,并致力于科普作品写作。男女主角勇敢地冲破世俗门第观念的阻挠,最终有情人终成眷属。老电影的魅力就是那一草一木都值得慢慢回味,那斑驳的画质主导了斑驳的回忆,作为90后的我,思绪中开始有记忆的那时,可能就是电影中那男女主角的衣服发型,像爸妈在老照片中的样

2016-03-19 17:38:50 857 4

原创 APP市场推广统计有效推广量新思路

豌豆荚的黑科技 日前,在一次下载[包名浏览器.apk]的时候搜索到了豌豆荚的网站,那就直接下载吧,可是下载后发现,文件有点大,安装到手机上之后,果然不是我要下载的软件,而是豌豆荚.apk,随机破口大骂,豌豆荚太猥琐了,误导用户下载自己的app,但是已经安装好了豌豆荚,那只能借用一下,心里嘀咕,安装好[包名浏览器]就把你给卸载掉。当我点开豌豆荚的时候,奇怪的事情发生了,豌豆荚自动的搜索到了[包名浏

2016-02-28 16:49:56 1574

原创 Genymotion 安装arm-v7架构app的问题解决

关于arm架构app安装在x86上的原因可以参考这篇博客说来惭愧,人家已经给出了解决方案,但是这个问题我搞了半天,一直都报 an error occurred while deploying a file install_failed_no_machine_abis为什么尼,我下载了无数遍Genymotion_ARM_Translation, Genymotion_ARM_Translat

2016-02-24 11:22:07 3776 1

原创 OkHttp header 中不能传中文的坑

运营同事反馈说,有不止一个魅族用户说,登录不上我们的应用;我听到这个问题,很自信的回复他,肯定是用户的网络有问题,最多是后端的接口挂了,和app 没有关系。但是bugly上看了一下,突然发现有个bug IllegalArgumentException: Unexpected char ... in header value: ... at com.squareup.okhttp.Headers

2016-02-19 18:08:43 6101 1

原创 你只是看起来很努力

你只是看起来很努力这是一本书的名字,而且是我的二货老婆买给我的,可能她要告诉我什么,我读了俩章感觉感慨良多。很长时间,焦虑一只困扰着我,我下班之后不敢玩,会抱着电脑,看看技术动态,看看设计模式,看看Android源码,我努力的营造一种努力学习的氛围,就像我高中学习化学一样,我极力的想学好化学,但是一次考试比一次差,然后我每个周末都去书店买一本化学资料,但是没有一本我是认真做完的,都是走马观花的看一

2016-02-16 21:02:02 1136 2

原创 react native Image 控件显示图片方式总结

React Native 每一个控件都能让人把玩半天,每一个都能让你玩的泪流满面,这里总结一下Image控件的几种使用方式,不用想也是踩着坑过来的。

2016-01-27 23:41:03 7128

原创 如何用React-Native Post Form 表单

今天使用react native 默认发送’Content-Type’: ‘application/json’ 的请求,但是现在想发送Form表单,该怎么写尼

2016-01-27 23:06:56 10547 2

原创 Android定位sdk稳定打点实践

去年我和定位sdk打交道比较多,用过了腾讯定位,百度,现在换成了高德,说实话,腾讯的sdk在普通业务中还行,如果在重定位的o2o应用中,那么准确性,开发体验,文档api,耗电,耗流量方面都和百度,高德有点差距,腾讯最新的sdk没有体验,所以不知道现在如何。百度定位sdk,在api完善程度,电量,流量,精准度都和高德不相上下。下面来说一说,使用定位sdk稳定打点的体验。 这里说的稳定打点,是指相对稳定

2016-01-19 23:18:24 3352 5

原创 React-native Android 在Jenkins上配置自动打包方案

使用jenkins来实现自动化构建,可以简化开发测试的流程,原来debug包都不会做混淆,现在用了jenkins会自动的打混淆包,除了环境不一样,其他配置debug和release包都一样,这样就可以避免代码混淆带来的问题,早日发现早日治疗。推荐大家在废弃的电脑上搭建一个Jenkins。具体的搭建流程见[这里](http://my.oschina.net/u/930967/blog/299058)

2015-11-28 15:08:25 6217

原创 Android Intent跳转第三方地图导航大全

国内地图最大的三家:百度,高德,腾讯(最近地图事业部有点起色),当我们想使用导航功能的时候,如果业务很重那么可以使用上面任何一家的SDK,但是如果就是纯粹的附加功能,那么就可以选择Intent调整的方式,几行代码搞定一个要引入几M大的SDK的功能。下面是三家的调起说明百度地图公交、驾车、步行导航调起Android百度地图,展示指定导航模式下从起点到终点的路线规划。//移动APP调起Androi

2015-11-28 12:50:00 10254

原创 Android 直接转拨分机号码

背景今天产品经理给我提出一下需求,公司的客服电话号码:101057,但是我们部门业务的分机号码需要再按一个3键,这样在APP中点击联系客服之后,总是让用户再去选择3,很可能选错。所以问我能不能直接转接3号分机,我就抱着试试看的态度,找了资料,还真给我发现了这个黑科技,在一个台湾非技术论坛里面。这样的,如果拨打101057然后转拨3号键,在拨号页面可以直接打101057,3在iPhone 上可以逗号可

2015-11-03 22:21:19 3733 1

原创 Android 解析包时候出现错误

这是发生在凌晨1点的错误,当一切就绪各种功能都ok,就准备发布的时候,突然发现小米4的升级出现了下载包成功,但是覆盖安装apk报解析包出现错误的问题,但是我的mx4 pro确没有这个问题,首先想到的是系统区别,小米4用的是Android 4.4.4 而mx4 Pro 是5.0系统,又找了一个4.3的机器,发现还是不能安装,在这都快精疲力尽的时候出这样的错误,真是想死了,已经打算加班到天明了,但是静下

2015-09-25 22:26:06 2021 2

原创 this class is not key value coding-compliant for the key progressVIew

刚学swift很容易出现的错误,线一不小心就连错了,很明显我就这样的错误了,将一个将view上多连了一根线到progressive的name上删掉即可

2015-09-03 14:04:29 1172

原创 Android 长链接的尝试

产品需要不停的上传位置,首先想到Service,获取到位置就上传,但是如果时间间隔缩小到3秒一次,那么HTTP的方式就不太适用了,比较用户多的时候,那服务器的压力是成本的增长的,业界通用的方法,比如携程听说整个app就一个TCP通道,使用自定义的协议,所有的请求和返回都走这个通道,携程除了隔三差五的来点事故,其他技术还是不错的,那么我自然想到了长链接,使用TCP三次握手之后的长链接进行位置上传。关于

2015-07-03 09:01:41 1222

原创 JSONArray构造方法在不同API上的区别

话说都是血与泪,幸好发布的灰度版本,但是也让我查了俩天,一个bug在某些人手机上会出现,定位到SDK版本不同的时候,找到了一个低端机用的是4.3系统,成功的复现了。 结论是:**new JSONArray(null) 这句在不同的API上出现了问题,有人问,你sb啊,传个空进去,我只能说不是我的锅。。。 不管怎么说用鲜血找到了这个bug.** 下面是结论: API 19 一下的构造方法

2015-06-30 17:26:04 2098 1

原创 error: Multiple substitutions specified in non-positional format

遇到这个问题,知道是资源格式出了问题,但是不知道什么问题,查了发现是String资源中出现了%。 解决方案: 上交20% 或者%前加转义\

2015-05-27 12:01:12 2603

原创 点击确定让dialog不消失

网上找到了,用反射机制可以随时设置dialog是否消失: 使用反射: 在你的setPositiveButton中添加: /** * 不隐藏dialog * * @param dialog */ private void stillShowDialog(DialogInterface dialog) { try {

2015-05-13 10:42:33 2305

原创 Android sudio修改包名后,不显示logcat

今天把一个项目的包名全部调整了一下,发型logcat不刷新了,知道是某个地方有配置文件没有改变,各种查折腾了以后没有找到解决方案,死马当活马医,把项目在as中删掉,然后重新加载一次,logcat尽然出现了,看git记录发现很多配置文件的都被改动了。

2015-04-11 18:27:57 1381 1

原创 魅蓝note连接360wifi,几分钟就断开的问题解决方法

事情是这样的,买了个肾6,把mx3给了女朋友用,没想到这货一个星期就给我摔碎了,没办法修要600还不如再买一个,就这样听魅族狗林屌的话,买了一个魅蓝note,什么都好就是学校的网络里面用笔记本分享的wifi连接不上。刚开始一直把问题放在电脑上,设置共享网络也没有用,后来发现其他的手机都可以连接上,只有这台魅蓝note连接不上,本人身为Android开发工程师,这点问题搞不定太没有面子了,无奈和女朋友

2015-04-08 16:42:04 5178 2

原创 ListView 可以滑动的上下间距

要给LsitView设置padding,那个距离是不会跟着滑动上去的,需要设置一个属性 android:clipToPadding=”false”Set ListView’s clipToPadding attribute to false. This will enable padding around the ListView and scrolling to

2015-03-22 15:35:00 1359 1

原创 DecimalFormat 四舍五入Float类型的坑

今天又踩了一个坑,使用DecimalFormat来完成四舍五入,但是传入的是float类型,几轮测试才发现一个问题,传入的float会被转为double类型,大家都知道float是4位,double是8位,强转肯定会造成进度丢失。

2015-03-19 16:53:53 7761

原创 改变ActionBar右侧三个小点的颜色

使用的是Support v7 21+的兼容库来实现 material style,改变ActionBar右侧三个小点的颜色

2015-03-11 13:20:56 8261 1

原创 Missing styles. Is the correct theme chosen for this layout

一张图解决问题

2015-03-05 12:00:20 1284 1

原创 Gson Expected BEGIN_ARRAY but was STRING

刚开始看到Gson解析报这样的错误,感觉Gson很low,定位问题也不说清楚,google查了一会,发现StackOverFlow上的情况和我的不太一样,一长串的Json贴出来,格式也乱,看不出什么头绪。但是折腾了一会,耐心看了一下,发现Gson说的已经很明确,需要一个Array数组,得到的却是一个String,仔细检查了一遍Json,果然发现服务器端一个String,对应着我本地的int[]

2015-03-04 11:56:29 9788 8

原创 能早睡的程序员,不简单

《33岁的IT高管突发心梗离世》看到这条新闻,我已经见怪不怪,自己刚毕业半年,已经尝到了不规律生活的厉害。但是欲罢不能,每天看看这样,玩玩那样,就到1点钟了,第二天萎靡不振,神经衰弱,焦躁易怒,没有一点年轻人的活力。这样的生活从什么时候开始的我已经记不清了,刚上大学的时候,因为第二天要上课,每天11点睡觉已经很迟了,后来课程表调整了,整个宿舍的睡觉时间都调整到了12点,第二天可以睡懒觉,也不觉

2015-01-29 22:34:06 1469 12

Android studio 使用NDK demo

Android studio 使用ndk导出.so包,并且调用

2015-01-06

嵌套Fragment和支持的库

大话Fragment管理 http://blog.csdn.net/mobilexu/article/details/11711865#comments 下载demo

2014-04-06

使用FragmentTabHost实现底部Tabhost

因为TabActivity已经过时,所以使用FragmentTabHost实现底部的tabHost

2013-08-27

AndroidListView滑动删除开源项目drag-sort-listview-master

很炫的AndroidListView 滑动删除效果,直接移植试用。

2013-07-17

异步访问网络的封装库android-async-http-master

异步访问网络的封装库android-async-http-master,多状态监控,方便重写,可以直接拿到项目中用。

2013-07-17

SlidingMenu最新demo和所需Lib

SlidingMenu最新demo和所需Lib 附问题解决方法地址保证可用http://blog.csdn.net/xujinyang1234/article/details/9152583

2013-06-22

Listview显示网络图片demo--真正简单好用

Listview显示网络图片 ,不会出现内存溢出问题,移植方便

2013-06-21

HorizontalScrollView实现网页新闻栏目滑动效果

今天无聊想实现一下网易新闻中栏目滑动的效果,想到了用HorizontalScrollView结合GridView来实现基础的功能:

2013-06-05

Android的widget使用listview布局

Android的widget使用listview布局,快速上手,可以直接用在项目里面

2013-04-19

连接mysql的jar

mysql连接myeclipse必须文件

2012-09-25

空空如也

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

TA关注的人

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