- 博客(133)
- 资源 (8)
- 收藏
- 关注
转载 Android内存泄漏总结
本文转自https://github.com/francistao/LearningNotes/blob/master/Part1/Android/Android%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%80%BB%E7%BB%93.md该github下有很多Android技术的知识点,强烈推荐下!#Android 内存泄漏总结内存管理
2017-09-14 22:05:01 5584
原创 ArcGIS for Android Runtime100 基本操作(三)——离线数据空间查询
空间查询是地理信息中的一个概念,指的是通过空间数据进行空间数据库的查询操作。 在ArcGIS for Android里,通常采用FeatureTable类来展示空间数据,每个空间表包含了一系列的字段,一个图形和一个空间参考系。而空间数据的来源主要包括在线获取,离线的geodatabase数据、VTPK数据和MMPK数据的读取等。 目前来说离线数据还是以geodataba
2017-09-11 18:39:10 10457 3
原创 ArcGIS for Android Runtime100 基本操作(二)——地图控件的常见操作
以前我刚开始学习ArcGIS时候,看得最常见的一篇博客是Ersi中国官方写的一篇《ArcGIS for Android地图控件的5大常见操作》
2017-09-08 21:15:41 15583 10
原创 ArcGIS for Android Runtime100 基本操作(一)——图层加载和切换
之前我打算通过代码移植的方式来学习ArcGIS for Android Runtime100,博文地址是:http://blog.csdn.net/bit_kaki/article/details/7719648。但是觉得效果不太理想,因为这个版本的变化实在太多,即使修改后代码不报错,但是因为很多方法的改变,也会给自己留下很多坑,因为方法改变,自己实际上还是错了。 所以我打算重新开贴
2017-08-30 19:03:09 21203 4
原创 天天加班,你以为你就可以升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰了么?
工作的意义 对于我们绝大多数人来说,工作最基本的意义是我们可以通过自己的劳动换取酬劳来养活自己,尤其是对于刚毕业的学生,拥有一份全日制的工作意味着自己走出校园,踏上社会,自己真正开始独立起来。在养活自己的基础上,我们才会考虑一些其他的,比如收入的高低、自己是否能得到进步、工作内容是否愉快、工作环境是否满意、公司前景等等,然后根据自己的个人需求进行抉择,选择自己满意的工作。
2017-08-18 19:59:35 18568 42
原创 ArcGIS for Android Runtime 100 升级实践(一)地图加载,图形和符号初始化
去年的Esri大会,随着最新的ArcGIS 10.5产品的发布,全新的ArcGIS Runtime 100.0也随之发布。ArcGIS Runtime 100.0 可谓是有了个天翻地覆的改进,比如跨平台、3D地图的加载以及多样的地图离线选择等。其实这里面我最感兴趣的是可以加载MMPK数据,MMPK是一种全新的移动地图包,有很多创新和优势,总结起来是一下几点:数据存储于压缩的Mobile
2017-08-16 22:45:41 10827 1
原创 随笔小感,或许就叫一见误终身
今天偶然翻看了下人人网,现在已经沦落为了个二流直播网站了,唏嘘不已。看了下自己的一些日记,感觉不错,贴几篇在自己的博客上,以示怀念。 前段时间,又断断续续地看了遍天龙八部。 天龙八部一直是我最喜欢的武侠小说之一,对我爸来说,也算是。 不过我爸一直不太喜欢天龙八部的结局,他觉得太惨了,他觉得如果是最后乔峰和阿紫姑娘在一起了,那这
2017-08-14 21:13:07 5320
原创 ArcGIS for Android 离线数据图例加载
图例是地图展示里常用的辅助展示工具。曾经我采用过将图例截成图片转为2进制保存到数据库里,然后在加载图层时候调取对应图片作为图例展示。但是后来知道geodatabase数据其实就是个空间数据库,如果是通过geodatabase数据加载图层,图斑都是geodatabase数据里的空间数据Geometry根据样式Symbol进行动态渲染,所以这个Symbol如果能提取出来,也就是我们要的图例了。根据这个
2017-08-09 19:35:58 8408 1
原创 ArcGIS for Android 离线数据空间分析--叠加分析
上一章我们以I查询为例讲述了在ArcGIS for Android里如何进行离线数据空间查询,通过ArcGIS 10.2以上的SDK里中QueryParamters类里设置查询参数,然后到对应空间数据库里查询即可。在了解如何空间查询以后,接下来我们以叠加分析为例说下ArcGIS for Android里如何进行离线数据的空间分析。 空间分析,顾名思义就是对空间数据进行分析,所
2017-08-02 16:29:25 9300 10
原创 百度坐标,火星坐标和WGS84之间转换Java代码
本篇的算法来源于http://cnodejs.org/topic/564c0a27e4766d487f6fe38d。然后我将它改成了Java版本。具体各个坐标系的介绍参考http://blog.csdn.net/bit_kaki/article/details/52733788,可以看出两者的算法基本相似 。 计算可以计算出结果,但是根据http://www.gpsspg.com/m
2017-07-31 16:03:15 16384 7
原创 ArcGIS for Android中坐标的转换
在我们的GIS应用项目里,常常遇见坐标转换的问题。最常见的就是WGS84坐标转其他坐标系,原因是WGS84坐标系是目前GPS数据采集所用的坐标系,而我国实际生产项目里常用的地图却是北京54坐标系,西安80坐标系以及中国大地2000坐标系等。所以当我们用设备采集到GPS经纬度以后,需要将其进行坐标转换才可以正确显示到我们使用的地图上。 对于坐标转换,有一种高精度而且任何时候都可以采用的
2017-07-28 14:34:14 13606
原创 Android Butterknife 框架源码解析(3)——Butterknife 8.7.0源码分析
前两篇分别说了下ButterKnife的用法以及讲了下什么是注解,接下来就是要说一下ButterKnife的源码了,通过源码来看ButterKnife是如何实现的。 首先我们看看@BindView注解的源码:@Retention(CLASS) @Target(FIELD)public @interface BindView { /** View ID to which the
2017-07-19 19:28:42 7351
原创 Android Butterknife 框架源码解析(2)——谈谈Java的注解
注解是Java里一个重要的概念,可以用来修饰类、字段和方法等。它的基本结构就是一个@加上一个字符串,放在需要修饰的类、字段、方法前面,比如我们熟悉的@Override,在一个方法前面加上它,表明接下来的方法执行时候会重写其父类中相应方法。而在我们的ButterKnife框架里,功能的实现基本上都是依靠注解来完成。所以,我们先来研究下注解到底是什么?注解是什么 注解的英文是Anno
2017-07-12 18:48:41 6975
原创 Android 自定义搜索框
现在市场上Android软件流行的搜索框,普遍来说都是点击之后进入一个新的页面,在新的页面里展示出历史搜索、热门搜索,输入字以后显示联想关键词,点击这些词或者搜索按钮时候再进行搜索。然而在平板上,横屏展示时候再用这样的方式就很糟糕,加上我们产品搜索库的底层为地图,搜索内容的内容也多是数字内容,于是联想关键词也没有太大意义。于是最后设计出来的搜索框就是这样一个需求:1.搜索框在不同模块的提示
2017-07-11 20:04:36 8315
原创 Android Butterknife 框架源码解析(1)——ButterKnife的使用
ButterKnife是目前常用的一种依托Java注解机制实现辅助代码生成的框架,有了它,妈妈再也不用担心我写大量枯燥的findViewById以及OnXXXListener响应事件了,一行代码就搞定,自从接触它以后我就再也离不开它了。既然如此,我也就抽个时间,好好研究了一下它,总结一下它的使用方法和原理。 配置编译环境因为ButterKnife用到了注解处理器,所以比起一般的框架多了
2017-07-10 16:27:49 7510 2
原创 毕业两年
六月真是个诡异的一月,对我来说这个月就是从每个周末比工作日都要忙的一个月。先是参加尚宝宝婚礼,再是搬家,最后是猪的毕业季以及公司的半年会,庆幸的是每件事都还比较顺利。这里单说下搬家,虽然是租的房子,但前后也花了我整整半个月,把屋子包括厨房、卫生间打扫了一遍,把锅碗瓢盆、床单被套啥的都清洗一遍,再把个人物品都整理清楚,感觉自己都快累得瘦了几斤。果然是多租几年房子才知道自己拥有房子的可贵,搬家实在是太
2017-07-04 22:21:38 5062 1
原创 《Android群英传》笔记7——事件拦截机制分析
我们平时点击屏幕时候,屏幕会根据我们不同的操作,比如单点、滑动、双击等做出不同的响应事件,这个过程我们称之为屏幕触摸事件。Android为这些触摸事件封装了一个类——MotionEvent,如果重写onTouchEvent()方法,就会发现该方法里就是用的MotionEvent这个参数。我们可以看官方里是这样介绍这个类的:* Object used to report movement (
2017-06-05 23:01:10 6178
原创 ArcGIS for Android 自定义地图比例尺
在我们进行地图相关开发时候,避免不了要绘制比例尺。在百度,高德的地图API里都提供了比例尺控件,但是ArcGIS for Android里并没有提供。不过没关系,我们可以自己绘制一个比例尺来。 在绘制比例尺前,我们先了解几个概念: 1.PPI,Pixels Per Inch的所写,表示的是每英寸所拥有的像素数目; 2.Px,像素,表示图像中的一个最小单位;
2017-05-31 19:52:15 19047 94
原创 《Android群英传》笔记6——自定义ViewGroup
之前说过了自定义View,而对于自定义ViewGroup来说,主要是定义和管理该ViewGroup里的子View。所以自定义ViewGroup里往往需要重写onMearsure()方法来完成对各子View的测量,重写onLayout()方法来完成对各子View的位置布局,重写onTouchEvent()来完成响应事件。至于为啥没有说onDraw()方法呢,其实在draw阶段,ViewGroup都是
2017-05-26 15:09:05 6885
原创 《Android群英传》笔记5——自定义View
自定义View本文是读了《Android 群英传》第三章--Android体控件架构与自定义空间详解--之后的读书笔记,感谢作者,在此特别推荐此书。 Android给我们提供了常用组件,然而随着开发的深入,这些组件渐渐无法满足我们各式各样的需求,此时就需要我们在已有的组件上创建新的功能,甚至是直接自己写一个新的View控件,来满足自己的需要。这就是我们常说的自定义View
2017-05-25 18:39:47 6952 1
原创 Android okhttp+rxjava实现多文件下载和断点续传
首先先感谢风神,核心代码源于他的这篇微博http://blog.csdn.net/cfy137000/article/details/54838608,思路很棒。基于他的代码做了一些改动,实现我所需功能。 先说下我的需求。我的需求是PC端先进行更新数据的管理,然后移动端登录时候会自动访问服务,传入mac值,获取需更新数据的信息。如下图所示:
2017-05-19 21:50:58 17136 54
原创 Android APK版本更新下载
今天做了下APK版本更新的功能。其实关于APK版本更新相关的文章网上挺多的,功能实现上也并不难。基本思路就是讲当前APK的版本号和服务器上保存的最新APK包的版本号进行对比,如果当前版本小于最新版本,则进行下载更新。流程图如下: 引用的第三方jar包有okhttp,okio(为了支持okhttp)和gson:compile 'com.squareu
2017-05-17 20:48:18 10946 8
原创 《Android群英传》笔记4——View绘制流程分析及重写
View的绘制流程分析与重写本文是读了《Android 群英传》第三章--Android体控件架构与自定义空间详解--之后的读书笔记,感谢作者,在此特别推荐此书。 从上篇博客,我们了解到Android里View是所有UI组件的基类,Android里所有控件和布局都是直接或者间接自View实现的。View的绘制就如我们日常画画一样,首先需知道画画内容的大小,然
2017-05-14 22:06:28 6751
原创 《Android群英传》笔记3——Android控件架构
Android控件架构本文是读了《Android 群英传》第三章--Android体控件架构与自定义空间详解--之后的读书笔记,感谢作者,在此特别推荐此书。 Android里每一个界面都来来自于Window类,该类是一个抽象类,提供了绘制窗口的一组通用API。可以将之理解为一个载体,各种View在这个载体上显示。如图所示:
2017-05-12 16:19:20 5674
原创 《Android群英传》笔记2——Android组件架构
Android组件架构本文是读了《Android 群英传》第一章--Android体系和系统架构调用栈--之后的读书笔记,感谢作者,在此特别推荐此书。 在Android的应用层里,Android的APP组件架构,即我们常说的四大组件:Activity,Service,Content Provider和Broadcast Receiver,组成了一个Android程序的最基本元素。
2017-05-05 10:22:09 5923
原创 《Android群英传》笔记1——Android系统架构
Android 架构系统 Android作为一个移动操作系统,研发初期即被Google收购。靠着Google这棵大树,加上其开源的特性,因而发展十分迅速。 这是一张常见的Android系统机构图,由此可见Android的系统架构一共有四层,分别是Linux内核层、库和运行时层、应用框架层以及应用层。 1、Linux内核层 Linux内核层是
2017-05-04 23:03:52 5808
原创 svn 锁住了,并且无法clean up 的解决方法
在更新svn时候有时候会遇到这样的问题,更新到一半时候因为一些特殊情况断掉了,此时再继续更新会显示: Working copy "XXX" locked. "XXX" is already locked. Please execute the 'Clean up' command. 如图所示:
2017-04-20 10:41:56 34063 3
原创 Android Activity生命周期和状态
本文是读了《Android 群英传》第八章--Activity和Activity调用栈--之后的读书笔记,详情见书。 Activity算得上是Android里最常见也最重要的组件了,一般情况下都被翻译为“活动”,但实际上我一直都是把它理解为“界面”,毕竟在Android四大组件里,只有Activity是和view直接进行交互的。从一开始学习接触Android开始,接触的第一行代码
2017-04-14 18:34:13 7562
原创 Android textview和listview实现水平自动滚动的走马灯效果
当我们遇到需要在一个textview里显示较长文字时候,往往有以下几种考虑: 1.换行,Android里本身也是这样在考虑; 2.可以进行水平或者垂直滑动; 3.采用走马灯效果。 其实这三种要实现都不难,根据实际情况进行选择就是了。不过我在具体实现走马灯时候遇到了一些问题,后来参考了下大神的代码,得以解决,记录
2017-04-13 16:19:08 9924 1
原创 Android 通过反射调用获取内置存储和外置sd卡根路径(适用于各个版本)
Android系统里版本众多,设备型号众多,所以文件的路径有很多种。获取内存路径的方法有很多,最常见的是Environment和File 里的诸多方法,比如Environment.getDataDirectory()和File.getPath()等,以及网上查的形形色色各种方法。但是在不同的Android版本和设备里,这些方法对于获取设备内部存储没什么问题,但是获取SD卡路径往往有问题。后来自
2017-04-10 16:49:03 15362 19
原创 Android文件相关操作整理
Android开发里经常涉及文件相关的操作,于是整理了下,将涉及文件操作放到了一个类里,调用时候比较方便。 主要包含了一下几类内容: 1.文件创建、读写、拷贝、删除; 2.整个文件夹下文件获取、复制、删除; 3.压缩、解压文件; 4.判断文件是否存在; 5.数据流和字节数组转换; 6.获取
2017-03-08 17:27:17 5903
原创 Android 后台记录GPS轨迹并转为80参数service
我们知道Android里都是用LocationManager来管理定位相关的操作, LocationListener来进行位置变化时候的监听,获取结果有三种条件下的经纬度坐标。 于是在写后台service时候主要是将每次监听到的经纬度记录下来,最后在转变为80的坐标。
2017-03-08 09:48:31 6826
原创 2016年末,Android岗位BAT等大厂面试题知识点小结(一)Android基础部分
前段时间网上到处都传一个比较火的帖子,名叫《2016年未,腾讯,百度,华为,搜狗和滴滴面试题汇总》,自己也看了看,发现知识点挺广的,所以试着尽力小结了下,也算是自我学习。对于各种知识点的详细解释,我给出自己认为比较好的博客的链接。不过毕竟自己还是菜鸟一枚,特别是在JVM这块,难免有错,希望各位多多指点下。 1.View的绘制流程;自定义View如何考虑机型适配;自定义View的事件分发机制
2017-01-03 21:37:29 10938
原创 Error:Execution failed for task ':app:compileRetrolambdaDebug'.错误解决
今天从SVN更新数据编译时遇到了问题,一个实习生不小心把gradle相关进行了更改并上传,我改回来后编译遇到了这个问题:Error:Execution failed for task ':app:compileRetrolambdaDebug'.> A problem occurred starting process 'command 'C:\Program Files\Java
2016-12-07 13:44:25 14279 4
原创 一个有关callout的错误
今天遇到一个BUG,调试了几个小时。BUG的情况是这样的,我用的是cordova,从html页面跳转到一个activity里后,activity里主线程运行完了没错,各种线程执行到一半时候系统崩溃;我注释掉这些线程,但是主线程结束后系统还是崩溃,而且报错是和这个activity毫无关系的地方(其实报错的地方是对的,被我忽视了,是有关popuwindow的错误)后来终于找到是上一个activ
2016-11-25 19:21:45 6817
原创 Android 6.0动态获取权限开源项目
Android 6.0 相比之前的Android版本有一个很大的不同点,就是动态获取权限,即不仅在Manifest文件里设置各种权限,在使用一些危险权限时候还得动态的弹出个对话框让客户去选择授予这个权限。 基本内容和代码就不重复了,大家可以参考这一篇:http://gudong.name/%E6%8A%80%E6%9C%AF/2015/11/10/android_m_permis
2016-11-16 17:11:22 7371
原创 Arcgis for Android在地图上画多边形并进行边长、周长和面积的测量
Arcgis for Android的地图操作里,放大缩小地图、图层切换、定位、测距测面等都是它的一些基本操作,封装后一般调用就是了,很简单。不过最近有了个需求,在地图上画一个多边形时候同时进行多边形的边长、周长和面积的计算,于是重新又写了下这个方法。代码不难,但是觉得挺有意思,于是写博文记录一下。 首先,需要在地图上画多边形。我们看到的每个地图都是一个图层,要在地图上画个多边形
2016-11-07 16:42:58 16026 7
原创 一些常用的符号小结
最近在做一些单位符号时候发现,比如平方米其实是有专门的符号可以放在字符串里显示出来,而且也是只占一个字符,显示效果非常好。于是抽空整理了一些符号,记录下来以备用:1.平方米符号:㎡2.打钩符号:√,✓,✔;3.摄氏度符号:℃4.带圈数字: ①②③④⑤⑥⑦⑧⑨⑩5.带点数字: ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕
2016-11-07 13:39:55 6849
原创 Android mac地址获取的方法小结及可能出现的问题
这段时间项目遇到个问题,客户把移动设备回厂修理后再安装我们的项目,运行会报错。后来经过我仔细排查发现一个很诡异的问题,就是无法获取mac地址了。于是我仔细把获取mac地址的一些资料看了看,加上一些调试,总算是解决了这个问题。现在决定把这块小结下,以免再次遇到问题。 mac地址又称为物理地址,和ip地址不同的是,mac地址由网卡决定,也就是一个设备只能有一个mac地址,所以经常作为唯一标
2016-10-11 15:08:09 20340
移动地图包(.mmpk)测试数据
2017-09-25
ArcGIS for Android 离线数据空间分析--叠加分析
2017-08-02
Android 后台记录GPS轨迹并转为80参数
2017-03-08
Android录屏及播放
2016-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人