自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cheyiliu的专栏

每天进步一点点

  • 博客(120)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何写出好代码,其实就这么简单

以上来自: http://coolshell.cn/articles/7236.html再次膜拜大神,说到我心里去了~~~

2017-03-03 10:12:02 942

原创 关于android架构的文章工程等

Flux Architecturehttps://github.com/lgvalle/android-flux-todo-appClean Architecturehttps://github.com/android10/Android-CleanArchitecturehttps://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-arc

2016-01-21 10:17:42 2247

原创 我的Cocos2d-x 3.3之旅

引子《捕鱼达人1》一出来,我就觉得这游戏太炫了,然后我就知道了cocos这个引擎,还记得当时还看了一本《教你做自己的捕鱼达人》(名字好像是这个),但限于当时工作节奏太忙而暂时阁在一旁没继续深入了解这个引擎。后来又发现了小米机顶盒的launcher居然是使用cocos开发的,后来的后来,也就是去年年底项目不是特别紧张的时候,我决定抽空深入学习下这个人气很旺的、市场占有率很高的、开源的引擎。学习开源

2015-03-04 22:01:15 1514

原创 android拍照&图片选择&裁剪兼容性问题

简单列举下自己遇到的问题分类及解决方法拍照6.0的权限模型的变更导致的问题推荐解法:https://github.com/googlesamples/easypermissions7.0的FileProvider引入的兼容问题推荐解法:按部就班用file provider实现选择&裁剪4.4选择图片文件后不返回文件路径的兼容性问题推荐解法:正确取得图片文件的路径其他像图片旋转问题等问题网上都有解决方

2017-10-13 17:08:16 386

原创 短 URL 系统是怎么设计的?

“正确的原理上面是几种典型的错误回答,下面咱们直接说正确的原理。正确的原理就是通过发号策略,给每一个过来的长地址,发一个号即可,小型系统直接用mysql的自增索引就搞定了。如果是大型应用,可以考虑各种分布式key-value系统做发号器。不停的自增就行了。第一个使用这个服务的人得到的短地址是http://xx.xx/0 第二个是 http://xx.xx/1 第11个是

2017-02-16 17:34:14 925

原创 android圆角listview实现源码

实现截图实现要点listview的设置 <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="13dp"

2017-02-04 17:37:55 932

原创 android:lineSpacingExtra的兼容性处理

点击查看

2016-12-19 10:46:37 1585

原创 Create Hello-jni with android studio 2.2

点击查看点击查看

2016-11-16 10:18:14 661

原创 android view相对于根布局的坐标获取

android之View坐标系看下图就明白了: 引自官方文档: Position The geometry of a view is that of a rectangle. A view has a location, expressed as a pair of left and top coordinates, and two dimensions, expressed as a

2016-10-30 20:20:16 4724 1

原创 项目的本质目标是什么?

项目的本质目标是什么? 项目的本质目标是什么? 项目的本质目标是什么?运营 运营 运营

2016-10-19 21:42:59 1367

原创 Volley磁盘缓存代码学习

见链接

2016-09-16 19:49:41 747

原创 关注了王石的新闻vs没关注万科的股票

mark,具体见2016年的走势 http://finance.sina.com.cn/realstock/company/sz000002/nc.shtml

2016-09-11 15:52:16 904

原创 对Clean Architecture的一些理解

Clean Architecture的思路:以数据为中心, 沿着数据的加工过程展开(最初获取数据->中间加工逻辑->最终展示)。如果中间加工逻辑简单 或者数据获取层简单, 简单的Mvp能应付; 如果数据存取复杂了或者加工逻辑复杂了就会导致mvp的m/p层变大; 解决办法就是再拆。比如拆出repository层或者用例层。另外注意一点是依赖方向很重要。更多阅读

2016-08-01 19:51:17 2464

原创 火山/映客直播里用到的库

Boltshttps://github.com/BoltsFramework/Bolts-Androidbutterknifehttps://github.com/JakeWharton/butterknifeevent bushttps://github.com/greenrobot/EventBus金山视频云https://github.com/ksvc/KSYMediaPlayer_A

2016-07-27 15:49:01 3271 2

原创 js桥

梳理如下: 基础交互 高级交互

2016-07-23 18:07:59 2612

原创 android Fragment 源码分析

类图角色ViewGroup,视图容器, 核心方法addView, removeViewFragment,用于定义生命周期接口,供开发侧使用(生命周期类同activity)FragmentActivity, 持有FragmentManager并用它来管理Fragment的生命周期FragmentManager,抽象类,仅用来定义操作Fragment的接口 FragmentManagerImp

2016-06-15 20:46:00 773

原创 逻辑全在view里, 感情全在酒里

如题

2016-05-28 21:01:50 642

原创 java中的SPI机制

spi概念 我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。 为了实现在模块装配的时候能不在程序里动态指明,这就需要一种服务发现机制。java spi就是

2016-05-22 11:46:58 804

原创 来自谷歌的MVP的示例

来自谷歌的MVP的示例https://github.com/googlesamples/android-architecture类图相关链接https://github.com/cheyiliu/All-in-One/wiki/%E5%85%B3%E4%BA%8Eandroid%E6%9E%B6%E6%9E%84%E7%9A%84%E6%96%87%E7%AB%A0%E5%B7%A5%E7%A

2016-04-10 11:28:10 774

原创 遭遇DNS劫持

遭遇DNS劫持前段时间,遭遇DNS劫持,导致客户端不能连接到公司服务器,损失大大的……什么是DNS劫持以下内容来自百度百科,DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。 DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)

2016-04-09 17:53:27 1666

原创 android java和js交互

android本地java代码和javascript的交互java调用js通用设置 mWebView = (WebView) findViewById(R.id.web_view); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.addJavascriptInterface(t

2016-03-28 17:44:44 680

原创 android反编译工具之jadx简介

jadxhttps://github.com/skylot/jadxusagejadx[-gui] [options] <input file> (.dex, .apk, .jar or .class)options: -d, --output-dir - output directory -j, --threads-count - processing thread

2016-02-23 14:56:13 2345

原创 android 如何优雅地给Activity和Fragement传入参数

传参给Fragmentpublic class MyFragment extends Fragment { private static final String ARGS_KEY = "ARGS_KEY"; private int mKey = -1; public static MyFragment newInstance(int type) { Bundle

2016-02-18 18:06:53 978

原创 ndk-stack的使用

问题及解决方法jni开发过程中native崩溃log样式如下F/libc (12115): Fatal signal 11 (SIGSEGV) at 0x37413144 (code=1), thread 12115 (om.example.test)I/DEBUG ( 257): *** *** *** *** *** *** *** *** *** *** *** *** **

2015-12-11 22:26:55 2837

原创 IntentService源码分析

实现思路thread + handler暴露唯一接口onHandleIntent给子类实现消息队列保证任务的顺序性巧妙的自动退出机制,其关键点stopSelf(int startId), Stop the service if the most recent time it was started was startId.onStartCommand(Intent intent,

2015-12-03 18:22:01 835

原创 cocos2d-x-3.x-026 移植cocos的jnihelper及用法说明

jni helper源码来自cocos 3.8, 头文件 “`ifndef ANDROID_JNI_HELPER_Hdefine ANDROID_JNI_HELPER_Hinclude include typedef struct JniMethodInfo_ { JNIEnv * env; jclass classID; jmethodID methodID;

2015-11-28 10:06:53 1760 2

原创 android javah 找不到类

C:\androidStudio\android-libac\sample>javah  -d  jni   -classpath    C:\tools\adt-bundle-windows-x86_64-20131030\sdk\platforms\android-19\android.jar;.\bin\classes      com.xx.secure.maps.NativeHelp

2015-11-23 15:58:23 1295 1

原创 走马观花了解jvm spec

目的深入理解java,学习了解,本文记录一些个人认为有用的一些知识点1.2 Java虚拟机Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件格式——Class文件格式所关联,Class文件中包含了Java虚拟机指令集(或者称为字节码、Bytecodes)和符号表,还有一些其他辅助信息。2 Java虚拟机结构如果只是要去“正确地”实现一台Java虚拟机,其实并不如大多数人所

2015-10-24 18:20:52 1332

转载 深入理解Android之Gradle

转自: http://blog.csdn.net/innost/article/details/48228651深入理解Android之Gradle格式更加精美的PDF版请到:http://vdisk.weibo.com/s/z68f8l0xTYrZt 下载Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之

2015-10-07 21:38:33 947

原创 Android在线热更新hot fix - AndFix试用

Android在线热更新hot fix - AndFix试用开源库地址https://github.com/alibaba/AndFix原理方法替换run demo具体步骤参考开源库地址注意,执行apkpatch.bat -f 3.apk -t 1.apk -o output -k xx.keystore -p xxx-a yy -e xxx生成的是一个目录,我们用到的是目录里面的xxx

2015-09-17 16:44:18 2916

原创 短信或h5页面唤起android app

android短信或h5页面唤起app需求点击短信或h5内链接跳转:若androud手机安装了目标app则跳到该app某页面;若没安装则跳到app的html下载页思路通过scheme机制实现页面唤起。实现android app内页面scheme配置 <activity android:name="com.example.test4link2app_t

2015-09-12 19:50:23 8489 4

原创 Intent Filter match过程源码分析

主流程主线流程:先match action, 再match data, 最后match category时序图简化后的代码public final int match(String action, String type, String scheme, Uri data, Set<String> categories, String logTag) { if (acti

2015-08-06 21:05:31 2294 1

转载 手机淘宝的高质量持续交付探索

转自: 前言随着移动互联网的迅速普及,手机淘宝业务在迅速的成长,目前已经发展成为拥有40多个bundle(业务模块)的超大APP产品,在这后面有着数百名的研发人员的努力工作。业务的成长和人员的倍增给技术架构、团队合作、产品的交付都带来了巨大的挑战。本文将会讲述手机淘宝研发团队在两年的时间为了达到高质量持续交付的目标而做出的种种努力。希望借此机会向大家分享手淘的经验与

2015-08-02 11:16:16 946

原创 LocalBroadcastManager源码分析

源码分析/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. *

2015-07-26 20:05:47 1156

原创 android 百分比控件的使用

概述谷歌官方推出这个百分比库对android的屏幕适配肯定有很大的帮助,当然具体好不好用还得根据不同的使用场景来分析。这个支持包里的内容有:百分比相对布局PercentRelativeLayout,百分比帧布局PercentFrameLayout,百分比线性布局PercentLinearLayout。先跑demo赶紧来尝鲜吧。我先对原来的工程做了拆分: lib库工程,仅包含百分比控件的源代

2015-07-06 08:34:13 4372 1

原创 代码才是公司资产

代码才是公司资产 仓库授权 代码进仓前要严格reviewreview 标准:代码规范 执行:代码评审,方案评审 总结:小组总结学习工作中一些小点 0.input, 明确合理的输入 1.do job, 先高内聚实现,这点大部分人都能做到 2.output, 如何返回结果,如何给调用方暴露接口 4.提高自己的角度 1

2015-07-03 11:06:37 1602

原创 好书推荐之:重构-改善既有代码的设计

下载地址高清 1.3M 重构-改善既有代码的设计

2015-07-02 16:15:02 1075

原创 android5.1 系统alarmManger轮训间隔最小是1分钟了

今天同事遇到一问题, 用alarm manager来做定时任务, 比如每隔5秒执行一次操作。 结果在5.1的机器上的测试结果是每隔60秒才执行一次,而在低于5.1的系统上则是按预期的以5秒为周期执行。。。一顿google之后发现5.1为了做耗电量的优化,android将alarm manager的行为改了, 间隔小于1分钟的定时请求,系统将其调整为1分钟。。。这意味着, 之前的用alarm mana

2015-06-19 23:49:13 3501

原创 告别手写parcelable

在eclipse中推荐parcelable code generator用法下载该开源项目导入到IDE参照下载下来的实例编写json文件来描述目标类运行该java工程生成的目标类在output文件夹拷贝生成的类到需要它的工程(注意:这整个使用过程没有接下来在android studio中的方法简单)在android studio中推荐安装插件, android parcelabl

2015-06-18 22:06:21 6143

原创 人穷久了或者累久了会sb

人穷久了或者累久了会sb 穷且不思变的 累而不知总结的所谓OOP,不过是对世界的认识,总结与表达而已程序的通用结构(架构)思想 模块化:人是一个模块,形成组织模块,形成公司模块,社会模块……;从细了看,原子,分子,器官,人…… 问题领域决定了模块的颗粒度 一个萝卜一个坑,萝卜可以替换,因为萝卜都相似 且解耦:

2015-06-13 07:29:57 2377 5

google protocal buffer 2.6.1 及实例

资源包含: protobuf-2.6.1.zip源码; protoc-2.6.1-win32; protobuf-java-2.6.1.jar; 一个序列化反序列化实例

2015-04-06

空空如也

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

TA关注的人

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