- 博客(149)
- 资源 (26)
- 收藏
- 关注
原创 Android实现滑动菜单—SlidingMenu
近期在整理一套Android开发包RTCommon,主要集成一些工具类封装成公共API,同时集成一些第三方控件或是工具包,力图提高Android开发效率和速度,目前编写和集成工作正在逐步进行中,待公共开发包完成时,大家可以使用我的工程作为依赖工程引入自己的项目,使用我封装的一些工具类来提高自己的开发效率。今天要说明的一个第三方控件滑动菜单也是我即将要添加到公共开发包中的一个控件。本Demo是借助j
2013-05-09 11:15:08 6694 7
原创 iOS学习笔记44——实现滑动菜单SlidingMenu
左右滑动切换出菜单或子界面现在被越来越多的用在了各种移动应用中,例如Facebook等等,今天借助Github上John的项目实现此功能,先上效果图: 操作上,可以点击顶部的菜单按钮呼出左右隐藏视图,也可以滑动主视图进行呼出!实现上:1.到之前连接中下载或Clone工程到本地,我们需要的是里面的名为SWRevealViewCon
2013-04-23 15:56:48 11637 5
原创 Android网络请求库——android-async-http
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
2013-04-19 14:20:06 21756 5
原创 一个不成功的产品史——我的移动互联网
今天不谈技术,谈谈一个不成功的产品史!自我介绍一下,我是一名北航在读研究生,目前研二,在爱立信联合实验室实习,技术上负责Android和iOS开发(2011年3月开始Android开发、2012年2月开始iOS开发),同时带领着实验室一支小团队,负责项目和团队管理,另外还兼顾产品设计。自研一开始就进入北航和爱立信合作的校企实验室,那时是2011年底,正是移动互联网在中国落地并开始蓬勃发展的时期
2013-04-06 17:39:44 8575 7
原创 iOS学习笔记43——iOS6下自定义UI控件外观效果
尽管iOS原生的UI控件就已经有很不错的显示效果,但是App开发者仍然希望自己的产品与众不同,所以自定义UI外观成了每个App产品开发必做之事。今天就来做一个在iOS6下实现自定义UI的demo,内容及Demo来源于国外iOS博客raywenderlich,先看看美化前后效果差别(左边为美化前,右边为美化后): 整个
2013-04-05 16:33:29 10729 4
原创 Android中App安装位置详解
Android应用可以安装在本机自带存储,同时也可以安装到外部存储(SD卡)。自从API 8后也就是Android2.2后,我们能使APK安装到外部存储上。这是一个可选的特性,在工程的manifest文件中可以进行配置: xmlns:android="http://schemas.android.com/apk/res/android" android:installLocatio
2013-04-03 16:10:00 9345 2
原创 Activity有几点你可能不知道的
做Android的同学说起Activity,那绝对是熟悉的不能再熟悉了,但是越熟悉的东西往往越陌生。我们真的了解她吗?她是我们所认识的那样吗?或许是,或许不是!了解与否,让我们往下看。首先借Android官网的这张图来展现Activity的生命周期,这张金字塔图比起那张所有书上都有的生命周期流程图绝对要来的爽快:从上图可以看到,最右边下方的Android机器人代表启动一个Activit
2013-03-27 21:11:15 6947 5
原创 Tabhost中子Activity使用startActivityForResult后获取不到回调值问题的解决办法
最近一段时间没有更新博客了,是因为一直忙于一个Android的项目,给某企业做一款基于北斗定位的物流车载终端。这个项目的难点在于平板的通信方式不是采用传统使用自带的通信模块,而是使用串口通过车载部标仪来进行通讯。对此,需要使用到NDK来开发和串口的通信服务,这个项目中我主要负责Android平板的所有界面和交互制作、以及业务逻辑的实现。我的另一名同学负责串口通信的开发,二人合作开发这个项目。整个项
2013-03-24 12:01:40 5343 3
原创 Android广播、Service、Activity综合使用
加上这篇介绍Android广播的,我的BLOG中就对Android中四大组件Activity、BroadcastReceiver、ContentProvider、Service都做了介绍,感兴趣的同学可以翻阅我之前的博客对这些内容进行了解。今天主要介绍Android中广播(BroadcastReceiver)的基本使用,同时附上一个Demo,Demo覆盖除了ContentProvider之外其他三
2013-03-17 16:55:30 8010 3
原创 Android拍照、相册选取、裁剪图片综合Demo
在《Android相机、相册获取图片显示并保存到SD卡》中说明了在直接调用Android相机拍照时返回Bitmap所引发的一个问题。今天,把在上篇附上的Demo加强了一下,增加了截图的功能。具体需求是:拍照或相册选取完毕后,先进入系统裁剪界面,裁剪完毕后再显示或保存图片,下面看下截图部分所要调用的代码://截取图片 public void cropImage(Uri uri, int o
2013-03-10 16:33:13 35996 20
原创 Android相机、相册获取图片显示并保存到SD卡
如题,这个需求本不是一个很复杂的过程,但是却存在一些隐患,我也是最近在项目中碰到这个问题,将Android通过相机或相册获取图片并最终显示在界面上做了一个小研究,现将一些结果和附上的一个Demo叙述如下:做过类似需求的同学都知道,在Activity中通过如下代码可以启动相机,然后在重写的onActivityResult方法中可以获取到返回的照片数据:Intent openCameraI
2013-03-09 09:26:00 57728 29
原创 使用WakeLock使Android应用程序保持后台唤醒
在使用一些产品列如微信、QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态。针对前面的例子,收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进
2013-03-02 14:06:12 67755 30
原创 Android中在ScrollView中显示ListView
在以前一个项目中碰到这么一个需求,要将一个ListView嵌套在一个外部ScrollView当中,试了后发现,ListView的高度出了问题,始终只显示一点,并且滑动也有问题,Android默认是禁止将ListView潜逃在ScrollView里面的,虽然这种设计不被推崇,但是后来到Stackoverflow上找到了一个解决方法,那就是在为ListView设置Adapter后,重新计算子item的
2013-02-28 16:22:13 2930 3
原创 iOS学习笔记42—利用dispatch_once创建单例
在之前有一篇学习笔记中,记载了一篇如何在OC中实现单例的文章:《IOS学习笔记4—Objective C—创建单例》自苹果引入了Grand Central Dispatch (GCD)(Mac OS 10.6和iOS4.0)后,创建单例又有了新的方法,那就是使用dispatch_once函数,当然,随着演进的进行,还会有更多的更好的方法出现。今天就来简要介绍下如何利用dispatch_once
2013-02-28 16:02:48 38201 4
原创 Ryan's zone微信公众账号
非常感谢大家一直以来对本人博客的支持,是大家的鼓励让我有信心一直把记录写下去。目前为止,我们的QQ群内有来自各个公司工作一线的朋友,有来自在校学生或处于学习阶段的朋友,在群里,大家都可以学习到新知识、可以为他人答疑解惑,达到共同进步的目的。 为了能与大家分享知识,构建一个沟通的平台,我开通了Ryan‘s zone的微信公众账号Android及iOS开发汇总>,旨在为大家及时推送
2013-02-24 19:09:31 15947 22
原创 我的2012——移动开发在路上
2012已经过去,这算一篇农历2012年度总结吧!这次总结我想分成3各部分分别来写,分别是学习、工作、生活,似乎很简单的三样,但确实有很多值得总结和回顾的,包括经验、教训和改进之处,下面就逐一展开吧!第一部分:学习仍然处于学生阶段,学习自然是头等大事。2012,从研一过度到研二,心态变了、方法变了,学习上收获了很多,也找到了一些方法,在这里分享总结。首先,学习环境是至关重要的,
2013-02-07 19:55:25 5045 13
原创 IOS学习笔记41——苹果推送机制APNs(二)
上一篇介绍了一下APNs的基本原理和处理流程,通过介绍,对APNs的机制有了大致的了解后,我们就来看看如何把APNS服务集成到我们自己的项目中来,首先登陆我们的Apple Developer后台为将要使用推送服务的App新建一个App ID,如下图,点击新建后输入基本信息:新建完毕后找到我们刚申请的App ID,把“Enable for Apple Push Notificat
2013-01-25 07:48:43 11983 6
原创 IOS学习笔记40——苹果推送机制APNs(一)
推送是解决轮询所造成的流量消耗和电量消耗的一个比较好的解决方案,在Android上,虽然Google提供了GCM(之前为C2DM),但在国内基本等于没用,各大Android应用基本都自己架设推送Server或是使用第三方推送平台,例如新浪微博使用第三方推送平台“个推”(非广告)。今天要学习的是苹果提供的推送服务APNs(Apple Push Notification services)基本原理
2013-01-08 20:29:42 34549 6
原创 IOS学习笔记39——拍照、从相册选图并对图片进行裁剪
2013第一篇,大家新年快乐!感谢一直关注我博客的同学们,有你们的支持我才有动力越做越好!有阵子没写博客了,因为前阵子着实比较忙,没时间整理,今天主要实现一个小Demo,我们知道在Instagram或Path上,头像都是正方形的,得到这种头像图片肯定要对原图进行截取,今天抽时间整理了下,先记录如下!早前写过一篇《IOS学习笔记22—文件操作(NSFileManager)结合相册小例子》,随着iOS
2013-01-05 16:13:58 37921 9
原创 IOS学习笔记38——NSJSONSerialization使用
在之前的学习笔记《IOS学习笔记33—XML解析之KissXML的使用》中介绍了如何解析XML格式的数据,今天简要介绍下如何解析JSON格式的数据,JSON数据结构以其轻量化的结构体和良好的可读性被越来越广泛的运用,特别在移动开发上,手机的流量是宝贵资源,更要求使用轻量级的数据格式进行数据传输。关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如SBJson、JSONFramwor
2012-12-18 08:46:46 25562 2
原创 Android端与服务端基于TCP/IP协议的Socket通讯
什么是TCP/IP协议?百度百科的解释:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议
2012-12-09 03:37:47 53697 23
原创 IOS学习笔记37——ViewController生命周期详解
在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它。ViewController是IOS开发中MVC模式中的C,ViewController是view的controller,ViewController的职责主要包括管理内部各个view的加载显示和卸载,同时负责与其他Vi
2012-12-06 06:32:57 48412 8
原创 直接保存对象的数据库——db4o
在实际开发中,数据的存储是必不可少的,常用的有数据库存储和文件存储。数据库目前有关系型数据库和文档型数据库(No-SQL)。关系型数据库以字段、类型、约束、表关系来存储和管理数据,比较常见的比如Oracle、MySql等都属于RDBMS,文档型数据库是一种可分布式的文档结构数据库,没有关系型数据库中传统意义上的表,比较常见的比如MongoDB、CouchDB等。今天主要介绍下,在java开发中
2012-12-02 17:32:48 8116 2
原创 IOS学习笔记36—解决键盘遮挡输入框(UITextField)问题
在IOS开发中,如果输入框(UITextFiled)在界面的下半部分,那么,当键盘出现的时候,势必会挡住输入框,就下下面这样: 这样的效果造成了很不好的用户体验,在这一点上,Android或许就做的好一点,在Android中,只要有输入框的地方,不管EditTex
2012-11-20 14:37:40 19429 7
原创 Android下拉刷新ListView——RTPullListView
下拉刷新在越来越多的App中使用,已经形成一种默认的用户习惯,遇到列表显示的内容时,用户已经开始习惯性的拉拉。在交互习惯上已经形成定性。之前在我的文章《IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新》中介绍过如何在IOS上实现下拉刷新的功能。今天主要介绍下在Android上实现下拉刷新的Demo,下拉控件参考自Github上开源项目PullToRefresh,并做简
2012-11-19 11:21:20 7116 4
原创 Android中IntentService的原理及使用
在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Ac
2012-11-04 17:29:23 35385 11
原创 2012移动开发者大会(MDCC)——观点分享
10月19号到20号我参加了今年的移动开发者大会,大会由创新工厂和CSDN举办。两天的会议收获很多,学习和见识到了很多新的东西,开拓了眼界,同时也丰富了自己的知识。一直没有时间整理这些信息,这个内容也是我分很多天分别整理出来的,今天在爱立信实验室做了一个Presentation,将近四十分钟。在这里把内容分享出来,感兴趣的朋友可以看看,可能我所讲的很多内容PPT里都没有包括,PPT只是个提纲,内容
2012-11-02 15:23:38 4978 8
原创 用Java风格使用OC——NSString类别
Objective-C是IOS开发的基本语言,用过OC的同学都知道,OC的方法名很长,但是表达的意思非常明确,估计设计者也是站在见名知意的角度上去考虑,这种语法风格特别适合母语是英语的人学习,上手会很快,因为写程序就和用英语说话一样。但是对与母语非英语的人来说,过长的方法名在理解上和记忆上就有点吃力了,相信开发IOS的朋友都有一种感觉,当要使用一个方法时,一下记不住方法名,然后去网上搜或查官方文档
2012-10-18 10:25:43 6823 3
原创 IOS学习笔记35—Xcode4.5后国际化的使用
前些天升级到Xcode4.5,现在正在用Xcode4.5+IOS6开发项目,当使用国际化时,遇到了一点问题,之前版本Xcode上新建Localizable.strings后,添加语言的“+”号不见了,找了半天无果,自己研究了下,后来在Stackoverflow上找到了解决方案,原来Apple把这个“+”号换地方了。下面来看看如何使用。首先新建一个名为Localizable.string
2012-10-17 14:16:32 10079
转载 Xcode 4.5_ IOS6 新特性
@synthesize by default(属性自动绑定)在xcode4.4以前,当我们想为类添加一个新的属性,一般都要对应写实例变量和相应的synthesis,但是在Xcode 4.4之后,synthesis现在会对应property自动生成。默认行为下,对于属性foo,当开发者没有写相应的synthesis的时候,编译器会自动在实现文件中为开发者补全synthesis,就好像你写了@synt
2012-10-15 17:43:29 3896
原创 Android跨进程通信——Activity
在Android应用开发中,会用到跨进程通信的方式,什么是跨进程通信,例如,在第三方应用中调用拨号、短信、邮件等,在这个过程中发生数据的传递,当前应用(一个进程)调用另一个应用(第二个进程),这就是Android中的跨进程通信。在Android中,一共有四种跨进程通信的方式,分别是通过Activity、BroadcastReceiver、ContentProvider和AIDL(Android
2012-10-11 11:26:46 6714 3
原创 图片左右滚动控件(带倒影)——重写Gallery
今天在网上找了些资料,做了一个图片左右滚动的Demo,类似幻灯片播放,同时,图片带倒影效果,运行效果如下图: 实现方式是重写Gallery,使用自定义的Gallery来实现这一效果,工程一共三个文件,一个Activity,一个自定义的Gallery,还有就是一个适配器Imag
2012-10-09 19:39:45 4866 5
原创 Android无线调试——抛开USB数据线
开发Android的朋友都知道,真机调试需要把手机与PC相连,然后把应用部署到真机上进行安装和调试。长长的USB线显得很麻烦,而且如果需要USB接口与其他设备连接的话显得很不方便。今天介绍一种不通过USB线就可以进行真机调试的方法。首先让手机与电脑处于同一局域网下,然后下载一款名为adbWireless的应用(到Google Play商店可以搜索到),下载安装后运行软件,会显示手机在当前局域网
2012-10-09 18:07:30 20125 5
原创 仿微信聊天气泡效果实现
微信聊天窗口的信息效果类似iphone上的短信效果,以气泡的形式展现,在Android上,实现这种效果主要用到ListView和BaseAdapter,配合布局以及相关素材,就可以自己做出这个效果,素材可以下一个微信的APK,然后把后缀名改成zip,直接解压,就可以得到微信里面的所有素材了。首先看一下我实现的效果:
2012-09-20 20:03:45 22303 33
原创 使用百度地图API实现驾车导航
前面两篇文章提到了使用百度API实现定位等功能,现在做了一个利用百度地图API实现驾车导航的功能,不仅仅是驾车导航,利用这套API还可以实现公交以及步行的导航功能,这里只介绍如何实现驾车导航,步行和公交大同小异。首先来看看最后实现效果: 进入应用后首先显示蓝色点为当前位置,可以输入目的地来形成导航线路(图1),也可以点选地图上任意点来形成导航线路(图2,3),选定
2012-09-14 16:08:07 17844 9
原创 基于通讯录的名片社交——CardBox
CardBox是我在爱立信实验室开发的一款应用,在之前我的Android之旅——学习、项目、心态中有简单介绍,这款应用从构思到UI设计到最后的实现都由我们独立完成,由爱立信中国实验室的老师指导,最开始,这款应用是做为一个进入实验室的练习应用开发,随着功能的增加和知识的完善,这个练习应用逐渐越做越好,现在已经是第五个版本,从最初的单打独斗,到现在带领一个五人的团队开始开发,经历了很多,也学习了很多,
2012-09-13 13:28:45 3568
原创 百度定位SDK实现获取当前经纬度及位置
使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API中的定位SDK,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,同时可以设定位置通知点,当到达某一位置时,发出通知信息等方式来告知用户。jar包下载以及官方文档请参照:百度定位
2012-09-06 16:16:13 26757 16
原创 百度地图API实现定位与目的地导航
前几天百度举办了百度世界大会,可惜没去参加,之前参加了百度的开发者大会,在会上也了解了百度的产品,百度现在朝着平台化的方向在发展,感觉很不错,也试用了百度的产品,现在就用着百度的网盘,今天看了下百度地图的开放API,然后做了个Demo,这里分享出来。如果应用主要针对国内市场的话,用百度地图还是一个比较不错的选择。另外,百度还有一个PCS(Personal cloud storage)个人云存储,我
2012-09-05 23:34:53 62256 28
原创 IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
移动应用开发中有这么一种场景,就是在列表中显示的数据刷新,有点击刷新按钮刷新的,也有现在最流行的由Twitter首先推出的下拉刷新功能,在IOS中,使用下拉刷新更新UITableView中的数据也用的非常多,最典型的就是新浪微博的客户端,使用下拉的形式来更新最新的微博信息。在Android开发中,有相应的开源项目来实现下拉刷新,这里主要讲如何在IOS中实现下拉刷新的功能,我们用到一个EGOTa
2012-09-04 10:51:27 27270 8
原创 IOS学习笔记33—XML解析之KissXML的使用
IOS中有关XML的解析有很多方法,之前在使用GDataXML解析XML文档一文中说明了如何使用Google提供的XML解析类来解析XML文件,今天使用另一个开源项目KissXML来解析XML文件,引入开源项目及配置项目的方式和之前那篇文章中一样,到KissXML源码下载源码并按照之前文章中提到的方式配置好即可。配置完毕后,在AppDelegate.m(我建的是一个Empty工程)中引入如下头
2012-08-30 17:53:39 17523 2
iOS图片异步加载SDWebImage
2013-07-07
Android图片异步加载-ListView、GridView、ViewPager
2013-07-03
解决键盘遮挡输入框
2012-11-20
IOS下拉刷新Demo实现
2012-09-04
使用Delegate在两个ViewController间传值
2012-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人