1.简介 SharpMap最新版基于.NET Framework 4,采用C#开发的地图渲染引擎,非常易于使用.我这次研究的是比较稳定发布的V1.1版本.可以在GitHub下载该源码,地址:https://github.com/SharpMap/SharpMap.不想下载的可以在我文章后的链接下载我调试好的源码并且源码中也有一些我自己写的注释(注意如果使用GitHub的源码时要使用VS2013以上的Nuget还原,建议直接下载我调试好的). SharpMap实现功能: (1)符合OpenGIS的…
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 Android热更新开源项目Tinker源码解析系类之三:so文件热更新 转载请标明本文来源:http://www.cnblogs.com/yyangblog/p/6252855.html更多内容欢迎star作者的github:https://github.com/LaurenceYang/artic…
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:https://github.com/Tencent/tinker 首先向微信致敬,感谢毫无保留的开源出了这么一款优秀的热更新项目. 因Tinker支持Dex,资源文件及so文件的热更新,本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更…
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源热更新 Android热更新开源项目Tinker源码解析系类之三:so热更新 转载请标明本文来源:http://www.cnblogs…
通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文[安卓网络请求开源框架Volley源码解析系列]初识Volley及其基本用法.如StringRequest用来请求一段文本信息,JsonRequest(JsonObjectRequest.JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的图片资源.但是我们知道在网络上传输的轻量级数据还包括另外一种即XML.但是Volley中目前还没提供用于请求XML格式…
这篇文章对优秀的开源项目Rich的源码进行解析,OMG,盘他.为什么建议阅读源码,有两个原因,第一,单纯学语言很难在实践中灵活应用,通过阅读源码可以看到每个知识点的运用场景,印象会更深,以后写代码的时候就能应用起来:第二,通过阅读优秀的开源代码,可以学习比人的代码规范.设计思路:第三,参与到开源社区,获得更广阔的的发展前景:第四,面试加分项.所以,有时间的话还是建议大家多读读优秀开源项目的源码. 下面进入今天的主题,这个开源项目的名字叫Rich,地址:https://github.com/wil…
在安卓中当涉及到网络请求时,我们通常使用的是HttpUrlConnection与HttpClient这两个类,网络请求一般是比较耗时,因此我们通常会在一个线程中来使用,但是在线程中使用这两个类时就要考虑到如何将处理结果传出去,通常的解决方法就是采用接口回调技术来解决,代码如下: public static void doGetRequest(final String uri,final HttpCallbackListener listener) throws IOException { new…
Android 开源项目源码解析(第二期) 阅读目录 android-Ultra-Pull-To-Refresh 源码解析 DynamicLoadApk 源码解析 NineOldAnimations 源码解析 SlidingMenu 源码解析 Cling 源码解析 BaseAdapterHelper 源码分析 Side Menu.Android 源码解析 DiscreteSeekBar 源码解析 CalendarListView 源码解析 PagerSlidingTabStrip 源码解析 公共…
一.概要 大家应该都清楚,大家上线app,需要上线各种平台,比如:小米,华为,百度等等等等,我们多数称之为渠道,如果发的渠道多,可能有上百个渠道. 针对每个渠道,我们希望可以获取各个渠道的一些独立的统计信息,比如:下载量等. 那么,如何区分各个渠道呢? 我们需要一个特性的标识符与该渠道对应,这个标识符肯定是要包含在apk中的.那么,我们就要针对每个渠道包去设置一个特定的标识符,然后打一个特定的apk. 这个过程可以手动去完成,每次修改一个字符串,然后手动打包.大家都清楚打包是一个相当耗时的过程,…
为什么读源码 很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已. 那为什么我还要读源码呢?一刚开始为了面试,后来为了解决工作中的问题,再后来就是个人喜好了.说的好听点是有匠人精神:说的委婉点是好奇(底层是怎么实现的):说的不自信点是对黑盒的东西我用的没底,怕用错:说的简单直白点是提升自我价值,为了更高的薪资待遇(这里对真正的技术迷说声抱歉). 源码中我们可以学到很多东西,学习别人高效的代码书写.…