![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
嘹咋咧
正确的时间做正确的事情。
展开
-
JNI开发方案一 : cgwin+ndk
首先来看一下什么是NDKNDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK 集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。转载 2015-10-25 09:26:27 · 531 阅读 · 0 评论 -
美团Android DEX自动拆包及动态加载简介
美团Android DEX自动拆包及动态加载简介概述作为一个android开发者,在开发应用时,随着业务规模发展到一定程度,不断地加入新功能、添加新的类库,代码在急剧的膨胀,相应的apk包的大小也急剧增加, 那么终有一天,你会不幸遇到这个错误:生成的apk在android 2.3或之前的机器上无法安装,提示INSTALL_FAILED_DEXOPT方法数量过转载 2016-09-16 08:13:23 · 360 阅读 · 0 评论 -
手机淘宝Android客户端架构
手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人提交的代码编译不过,所有人都会被堵塞在那里,所以单个工程是不可能的事情。 只要是包含了很多业务的客户端,都会面临这个问题,各个业务代码量越来越多,新需求又源源不断的来,业务团队之间要是有直接依赖,那转载 2016-09-16 08:14:47 · 4207 阅读 · 0 评论 -
消息队列设计精要
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你转载 2016-09-16 08:24:54 · 379 阅读 · 0 评论 -
大众点评支付渠道网关系统的实践之路
业务的快速增长,要求系统在快速迭代的同时,保持很好的扩展性和可用性。其中,交易系统除了满足上述要求之外,还必须保持数据的强一致性。对系统开发人员而言,这既是机遇,也是挑战。本文主要梳理大众点评支付渠道网关系统在面对这些成长烦恼时的演进之路,以及过程中的一些思考和实践。在整个系统的演进过程中,核心思路是:大系统做小,做简单(具体描述可参考《高可用性系统在大众点评的实践与经验》)。在渠道网关系转载 2016-09-16 08:32:24 · 523 阅读 · 0 评论 -
Android 开发中的日常积累
Android 开发中的日常积累HTTP2.0测试是否支持http2.0,需翻墙httpvshttpschrome 插件HTTP/2 and SPDY indicatorHTTP/2 资料汇总HTTP 2.0的那些事http2-spec从启用 HTTP/2 导致网站无法访问说起Android 性能优化Android性能优化视频,文档以及工具胡凯-性能优化Andr转载 2016-09-16 08:38:58 · 2372 阅读 · 0 评论 -
View.MeasureSpec
一:MeasureSpec介绍 MeasureSpec 是Android对外提供的获取控件测绘的工具类,它用于View的,onMeasure()测绘的时候,它对外提供三个主要方法: //获取控件的模式 int getMode(int measureSpec) ; //获取控件的大小 int getSize(in原创 2016-09-20 15:46:19 · 314 阅读 · 0 评论 -
Android系统回收Activity的优先级
下面是进程的重要程度,按从高到低排序,当系统需要回收资源的时候,排在下面的优先被杀掉。 1.前台进程 a.该进程有用户正在交互的activity,即调用过onResume()的Activity b.该进程有绑定到正在交互的Activity的service。(service可以绑定到activity,待研究,可能类似于google play服务的支付界面) c.转载 2016-10-10 14:33:13 · 1642 阅读 · 0 评论 -
android View介绍
1. View的介绍Android里View就是一个矩形窗体的抽象, ViewGruop就是view容器抽象。简单看下view坐标表示说明: a) view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()获取到的值都是相对父容器的坐标。b) view获取宽高getHeight(),getWidth()2原创 2016-09-08 16:55:13 · 274 阅读 · 0 评论 -
windows系统使用NDK编译jni工程
一:需求说明:NKD7以上的版本支持编译so动态库了。例如我们用ndk编译ndk下的示例工程hello-jni。a)Ndk的目录 D:\soft\code\NDK_10\android-ndk-r10db)hello-jni的目录 D:\soft\code\NDK_10\android-ndk-r10d\samples\hello-jni 注意:Ndk的目录根据自己的原创 2016-11-03 15:01:01 · 826 阅读 · 0 评论 -
Linux里vi介绍
一: VI介绍1.1 简单介绍Vi是linux系统里的文本编译器。Vi主要有两种状态,命令模式和编辑模式。 命令模式:通过vi命令打开文件后默认就会命令模式。改米模式下可以控制光标的移动,替换字符串等。 编辑模式:针对文件的增删改查的操作。 末行模式:执行待定命令。例如保存,退出。 当前是那种模式,看下vi编辑器界面下方有没有insert,有就是编辑模式,原创 2016-10-18 21:12:52 · 1868 阅读 · 0 评论 -
携程App网络服务通道治理和性能优化
App网络服务的高可靠和低延迟对于无线业务稳定发展至关重要,过去两年来我们一直在持续优化App网络服务的性能,到今年Q2结束时基本完成了App网络服务通道治理和性能优化的阶段性目标,特此撰文总结其中的经验教训,为以后的工作打下基础。携程App无线网络服务架构2014年携程为无线服务开发了MobileGateway,有两种类型:TCP Gateway和HTTP Gateway转载 2016-09-12 21:28:48 · 1698 阅读 · 0 评论 -
OkHttp
一: 介绍 Android网络请求框架较多,原生的有HttpClient、HttpUrlConnection;第三方的有okhttp、Volley等。原生的请求较为原始,使用起来比较繁琐。第三方的okhttp是著名公司Square的开源框架,使用方便,有详细的介绍文档。详细信息可以参考square官网http://square.github.io/okhttp/。二:注意事项原创 2016-09-08 10:34:28 · 561 阅读 · 0 评论 -
字母条
一:代码链接二:需求描述 看很多应用里都有字母条的效果,例如在联系人里就有字母条,方便用户快通过名字的首字母快速定位想找的联系人。 实现要求就是在手机里完整显A~Z的字母,当用户点击特定字母的时候,给出回调,同时把选中的字母颜色置红。三:实现思路1. 想要画出完整的字母,需要继承view,重写ondraw方法. canvas.drawText(String text , fl原创 2016-09-01 13:51:30 · 467 阅读 · 0 评论 -
NDK开发方式二: adt-bundle-windows-x86 +NDK9
Android通过Cgwin开发NDK时候,比较繁琐,尤其一些安装包的下载很慢很痛苦。Google提供的adt-bundle-windows-x86就支持NDK开发。要求: 1.adt-bundle-windows-x86 2. NDK7以上 下面演示如何编译一个so文件出来: 使用工具:转载 2015-10-25 09:31:54 · 889 阅读 · 0 评论 -
Android JNI实现计算器demo
通过JNI实现四则运算详细步骤1.创建android工程MathJni 2.声明jni类型的java类MathUtilpackage com.mathjni;/** *@authorluyg *@desc实现四则运算的JNI方法 */publicclassMath原创 2015-10-26 19:39:04 · 929 阅读 · 0 评论 -
Android统一界面的实现
Android统一界面的实现 一. 需求介绍及描述 现在Android应用追求界面简洁统一,例如qq的顶部导航栏,都是按钮+标题+右边按钮组件的样式(如图1,图2)。 (图1) (图2)下面介绍下这种需求的实现: 基本的需原创 2015-10-12 16:02:10 · 664 阅读 · 0 评论 -
android自定义编辑框
例如实现上边这种编辑框,左边带标题,右边可以输入。 获取到焦点的线加深。离开焦点的时候,检测输入信息是否合法。不合法给出提示信息。实现思路: 1)自定义编辑框布局。布局里包含一个完整的这种结构的布局文件。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro原创 2015-10-15 09:52:35 · 3192 阅读 · 0 评论 -
bus应用的实现
一:源码工程 二:需求 实现公交app查看站点的效果,车过了的站点是蓝色的,车到的当前站点是红色,车未到的站点是灰色的。有一个按钮,点击可以模拟站点的刷新。 三:思路 1. 可以加载多个站点,并且超过一屏幕可以滑动,得集成横向滑动组件HorizontalScrollView,命名TitleBusBarScoller,它里边有个当前站原创 2016-09-01 11:44:04 · 1107 阅读 · 0 评论 -
ShareSDK第三方账号授权
申请开放平台账号和App key1. 到对应的开放平台上注册账号QQ: open.qq.comWeibo: open.weibo.com2. 注册好账号后选择添加移动应用,填好信息,提交审核,审核通过后会获得App key和密钥。注:Android签名,下载签名工具 app_signatures.apk(如下图),安装到手机上,输入包名,即可生成Android签名,每个转载 2016-09-05 10:13:02 · 1493 阅读 · 0 评论 -
Android进程保活方法
Android进程保活招式大全目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题。本文对 Android进程拉活进行一个总结。Android 进程拉活包括两个层面:A.提供进程优先级,降低进程被杀死的概率B.在进程被杀死后,进行拉活本文下面就从这两个方面做一下总结。1. 进程的优先级Android系统将尽量长时间地保持应用进程,但转载 2016-09-16 14:56:33 · 695 阅读 · 0 评论 -
Android的性能实践
Android最佳性能实践(一)——合理管理内存有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全新系列的博文,来把这些建议进行整理和分析,帮助大家转载 2016-09-16 09:03:28 · 446 阅读 · 0 评论 -
Android常用的开源框架
Android开源框架库分类,挑选出最常用,最实用的开源项目,本篇主要介绍的是优秀开源框架库和项目,UI个性化控件会独立介绍。UI个性化控件IndexDependency InjectionsAndroidAnnotationsButter KnifeDaggerNetworkingAndroid Lite HttpAsynchronous Http C转载 2016-09-16 08:44:16 · 671 阅读 · 0 评论 -
引导页[文字动态出来]
一:效果及介绍 1.每个引导页里有一张背景图片,有个文字序列,并且文字是逐行显示出来的. 2. 底部的指示器是可以动态变化的,根据图片的多少决定总数,选中那个就会变亮。 3.适配器可以自动滑动。 二:实现思路 a)实现引导页,肯定要使用v4包里的ViewPager组原创 2016-09-01 10:46:05 · 1350 阅读 · 0 评论 -
客户端开发需要知道的工具
1.项目管理 : 禅道 禅道 :开源项目管理,可以方便项目里不同操作项目.产品经理录制需求,开发可以分解任务,完成任务。 测试可以测试项目,提交bug等。还可以看到项目的进度,燃烧图等。 2.代码版本管理 : git、svn 项目组成员多的话,项目的代码修改频繁,所以要有代码远程版本管理,把代码存放到服务器上,大家同步服务器的代码,修改后在提交,保证代码的唯一性。主流的版本控制原创 2016-12-09 09:57:58 · 1824 阅读 · 0 评论