
Android
文章平均质量分 75
唐韧_Ryan
前非著名程序员,现不知名产品人。微信公众号:唐韧
展开
-
Ryan's zone微信公众账号
非常感谢大家一直以来对本人博客的支持,是大家的鼓励让我有信心一直把记录写下去。目前为止,我们的QQ群内有来自各个公司工作一线的朋友,有来自在校学生或处于学习阶段的朋友,在群里,大家都可以学习到新知识、可以为他人答疑解惑,达到共同进步的目的。 为了能与大家分享知识,构建一个沟通的平台,我开通了Ryan‘s zone的微信公众账号Android及iOS开发汇总>,旨在为大家及时推送原创 2013-02-24 19:09:31 · 16051 阅读 · 22 评论 -
Android内容提供者——Content Providers(一)
Content Providers是Android四大组件之一,扮演者非常重要的角色,看下官方文档对它的解释:Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security.翻译 2012-07-26 16:39:06 · 5323 阅读 · 0 评论 -
Android Content Providers(二)——Contacts Provider
接上篇Android内容提供者——Content Providers(一)Contacts Provider是Android中一个强大并且灵活的组件,负责管理系统通讯录的数据,对外提供访问接口来对系统通讯录进行访问和操作。以下是Contacts Provider的组织结构图:可以看出Android的系统通讯录是三层架构,通过URI进行访问。下面看一下每一层的类结构和官方解释:翻译 2012-07-27 12:40:08 · 6402 阅读 · 0 评论 -
Android Content Providers(三)——Contacts Provider
接着上篇Android Content Providers(二)——Contacts Provider继续,接下来要说明的是顶层的Contacts,Contacts是聚合联系人表,在之前讨论的RawContacts是原始联系人表,在Android通讯录的架构中,分为聚合联系人、原始联系人和数据表三层。数据表主要存储数据和与原始联系人相关联的ID,Data表的字段Data在之前已经说明过,原始联系人翻译 2012-07-28 11:23:57 · 6861 阅读 · 2 评论 -
二维码、条形码扫描——使用Google ZXing
我在项目中用到了二维码扫描的技术,用的是Google提供的ZXing开源项目,它提供二维码和条形码的扫描。扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码。可以到http://code.google.com/p/zxing/下载ZXing项目的源码,然后按照官方文档进行开发,我这里使用的ZXing是经过简化版的,去除了一些一般使用不必要的文件,项目工程截图原创 2012-08-05 12:49:46 · 64831 阅读 · 104 评论 -
Android实现滑动菜单—SlidingMenu
近期在整理一套Android开发包RTCommon,主要集成一些工具类封装成公共API,同时集成一些第三方控件或是工具包,力图提高Android开发效率和速度,目前编写和集成工作正在逐步进行中,待公共开发包完成时,大家可以使用我的工程作为依赖工程引入自己的项目,使用我封装的一些工具类来提高自己的开发效率。今天要说明的一个第三方控件滑动菜单也是我即将要添加到公共开发包中的一个控件。本Demo是借助j原创 2013-05-09 11:15:08 · 6782 阅读 · 7 评论 -
Android Studio使用教程(一)
今年的Google全球开发者大会虽然没有新的Android系统和设备,但是还是推出了一些不错的产品,Android Studio就是其中之一。这个基于Intellij IDEA开发的Android IDE让很多人眼前一亮,其实时编写布局文件实时预览并适配多屏的功能可以说让苦于界面布局开发的人看到了希望。代码自动提示、运行响应速度、都比Eclipse来的要好。但这次推出的版本毕竟是预览版,所以改进的原创 2013-05-17 19:37:28 · 93727 阅读 · 25 评论 -
Android Studio使用教程(二)
以下是本次Google I/O大会发布的IDE Android Studio使用教程第二篇:在 Android Studio使用教程(一)中简要介绍了Android Studio的基本使用,包括安装、新建工程、工程结构以及主题设置。今天接着讲第二篇,主要包括如下内容:从Eclipse导入工程到Android StudioEclipse工程与Android Studio的区别原创 2013-05-19 22:36:02 · 114951 阅读 · 40 评论 -
Android网络请求库——android-async-http
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通原创 2013-04-19 14:20:06 · 21894 阅读 · 5 评论 -
Activity有几点你可能不知道的
做Android的同学说起Activity,那绝对是熟悉的不能再熟悉了,但是越熟悉的东西往往越陌生。我们真的了解她吗?她是我们所认识的那样吗?或许是,或许不是!了解与否,让我们往下看。首先借Android官网的这张图来展现Activity的生命周期,这张金字塔图比起那张所有书上都有的生命周期流程图绝对要来的爽快:从上图可以看到,最右边下方的Android机器人代表启动一个Activit原创 2013-03-27 21:11:15 · 6997 阅读 · 5 评论 -
Android端与服务端基于TCP/IP协议的Socket通讯
什么是TCP/IP协议?百度百科的解释:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议原创 2012-12-09 03:37:47 · 54053 阅读 · 23 评论 -
Android下拉刷新ListView——RTPullListView
下拉刷新在越来越多的App中使用,已经形成一种默认的用户习惯,遇到列表显示的内容时,用户已经开始习惯性的拉拉。在交互习惯上已经形成定性。之前在我的文章《IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新》中介绍过如何在IOS上实现下拉刷新的功能。今天主要介绍下在Android上实现下拉刷新的Demo,下拉控件参考自Github上开源项目PullToRefresh,并做简原创 2012-11-19 11:21:20 · 7214 阅读 · 4 评论 -
Android广播、Service、Activity综合使用
加上这篇介绍Android广播的,我的BLOG中就对Android中四大组件Activity、BroadcastReceiver、ContentProvider、Service都做了介绍,感兴趣的同学可以翻阅我之前的博客对这些内容进行了解。今天主要介绍Android中广播(BroadcastReceiver)的基本使用,同时附上一个Demo,Demo覆盖除了ContentProvider之外其他三原创 2013-03-17 16:55:30 · 8114 阅读 · 3 评论 -
仿Android ISC 4.0效果对话框
Android 4.0冰淇林三明治系统已经推出有一段时间了,这次推出的系统在UI上有了很大的提升,摆脱了以前那种难看的土鳖界面,我做了一个类似Android 4.0效果的弹出框,可以在非4.0系统上有类似4.0效果的风格,有两种风格,拿出来分享 一下。首先看下效果图:这是选择对话框,一般在退出或做选择操作时用到,另一个是列表选择框,效果如图:下面就来原创 2012-07-22 17:15:57 · 7517 阅读 · 9 评论 -
Android中Service(服务)详解
Service是Android中四大组件之一,在Android开发中起到非常重要的作用,先来看一下官方对Service的定义:A Service is an application component that can perform long-running operations in the background and does not provide a user interfac翻译 2012-07-21 18:21:20 · 127442 阅读 · 17 评论 -
仿微信首次启动滑动界面效果
用过微信的都知道,第一次启动时会出现一系列操作说明或功能说明的画面,滑到底然后就进入正式界面,今天我也参考网络资源模仿着做了一个。首先看下工程结构图:首先看布局文件main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/m原创 2012-07-16 17:55:14 · 16357 阅读 · 30 评论 -
Android布局优化
文章地址:http://ryantang.me/blog/2014/01/24/android-optimise-layout/原创 2014-01-25 13:13:35 · 4989 阅读 · 0 评论 -
Android事件传递机制
本篇内容将结合Android源码来分析Android的事件传递机制。众所周知,点按、滑动、触摸构成了Android等智能设备的基本操作,几乎所有的应用都通过对触摸屏的操作来进行应用程序的使用。那么,在Android中,触摸事件是如何响应及传递的呢,通过本篇内容你将有一个初步的了解。原创 2014-01-03 12:52:26 · 4500 阅读 · 0 评论 -
百度地图API实现定位与目的地导航
前几天百度举办了百度世界大会,可惜没去参加,之前参加了百度的开发者大会,在会上也了解了百度的产品,百度现在朝着平台化的方向在发展,感觉很不错,也试用了百度的产品,现在就用着百度的网盘,今天看了下百度地图的开放API,然后做了个Demo,这里分享出来。如果应用主要针对国内市场的话,用百度地图还是一个比较不错的选择。另外,百度还有一个PCS(Personal cloud storage)个人云存储,我原创 2012-09-05 23:34:53 · 62434 阅读 · 28 评论 -
Android模拟神器——Genymotion
文章地址:http://ryantang.me/blog/2013/08/16/genymotion/原创 2013-08-24 23:36:18 · 4503 阅读 · 1 评论 -
Android推送服务——百度云推送
Hi,我的博客已经搬家到ryantang.me ,欢迎大家继续支持!文章地址:http://ryantang.me/blog/2013/08/06/baidu-push-service/原创 2013-08-08 23:14:25 · 4647 阅读 · 0 评论 -
Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西。最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就顺便整理记录下来,作为这一个多月来博客的重新开火做饭吧。从今天起我会陆续恢复博客的更新,也希望大家继续支持。今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Univer原创 2013-07-03 22:30:46 · 21149 阅读 · 11 评论 -
Android应用崩溃后异常捕获并重启
在Android应用开发中,偶尔会因为某些异常导致正在使用的应用出现异常并强制关闭,这样导致不友好的用户体验。为了解决这个问题,我们需要捕获出现的异常并做处理。在Java中有两类异常,分别是Error和RuntimeException,前者是不需要我们去处理的,我们处理的往往是后者。那么如何捕获线程在运行时的异常呢,我们可以使用自定义类实现Thread.UncaughtExceptionHan原创 2013-07-15 21:21:42 · 15711 阅读 · 5 评论 -
使用WakeLock使Android应用程序保持后台唤醒
在使用一些产品列如微信、QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态。针对前面的例子,收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进原创 2013-03-02 14:06:12 · 68050 阅读 · 30 评论 -
Android AlarmManager实现不间断轮询服务
在消息的获取上是选择轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了。但如果只是一般的消息检测比如更新检查,可能是半个小时或一个小时一次,那用轮询也是一个不错的选择,因为不需要额外搭建推送服务器,不用额外配置推送服务。另外推送现在一般以维持长连接的方式实现,在手机客户端也会耗费一定的电量。今天就介绍一个在Android上实现轮询机制原创 2013-07-13 11:40:50 · 41063 阅读 · 26 评论 -
2013年7月Android设备版本及屏幕尺寸分布
Google公布了截止到今年7月8号前的Android设备系统版本及屏幕尺寸的分布情况,值得注意的是,4.x版本的占比已经超过了统治很长一段时间的2.x版本,这个信号对开发者来说值得注意的是,需要开始把4.x以上版本的开发放到主要位置了,包括新API的使用以及版本适配等。下面来看看这次数据的具体情况。原创 2013-07-10 11:06:12 · 10450 阅读 · 10 评论 -
直接保存对象的数据库——db4o
在实际开发中,数据的存储是必不可少的,常用的有数据库存储和文件存储。数据库目前有关系型数据库和文档型数据库(No-SQL)。关系型数据库以字段、类型、约束、表关系来存储和管理数据,比较常见的比如Oracle、MySql等都属于RDBMS,文档型数据库是一种可分布式的文档结构数据库,没有关系型数据库中传统意义上的表,比较常见的比如MongoDB、CouchDB等。今天主要介绍下,在java开发中原创 2012-12-02 17:32:48 · 8243 阅读 · 2 评论 -
我的Android之旅——学习、项目、心态
学习Android也一年多了,项目做了五六个,有大有小,有难有易。一直以来都没有好好总结过,今天周六休息,就写下这一年多从事Android以来的一些感想和小经验。涉及学习、项目和一些个人感受。1.学习篇 我是从11年5月份开始接触并学习Android的,在那之前有过一年的J2EE的经验,做过三个J2EE的项目,从08年开始接触Java,所以到去年学习Androi原创 2012-07-25 11:53:24 · 24438 阅读 · 117 评论 -
百度定位SDK实现获取当前经纬度及位置
使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API中的定位SDK,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,同时可以设定位置通知点,当到达某一位置时,发出通知信息等方式来告知用户。jar包下载以及官方文档请参照:百度定位原创 2012-09-06 16:16:13 · 26946 阅读 · 16 评论 -
Android跨进程通信——Activity
在Android应用开发中,会用到跨进程通信的方式,什么是跨进程通信,例如,在第三方应用中调用拨号、短信、邮件等,在这个过程中发生数据的传递,当前应用(一个进程)调用另一个应用(第二个进程),这就是Android中的跨进程通信。在Android中,一共有四种跨进程通信的方式,分别是通过Activity、BroadcastReceiver、ContentProvider和AIDL(Android原创 2012-10-11 11:26:46 · 6836 阅读 · 3 评论 -
Android中IntentService的原理及使用
在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Ac原创 2012-11-04 17:29:23 · 35591 阅读 · 11 评论 -
使用百度地图API实现驾车导航
前面两篇文章提到了使用百度API实现定位等功能,现在做了一个利用百度地图API实现驾车导航的功能,不仅仅是驾车导航,利用这套API还可以实现公交以及步行的导航功能,这里只介绍如何实现驾车导航,步行和公交大同小异。首先来看看最后实现效果: 进入应用后首先显示蓝色点为当前位置,可以输入目的地来形成导航线路(图1),也可以点选地图上任意点来形成导航线路(图2,3),选定原创 2012-09-14 16:08:07 · 18087 阅读 · 9 评论 -
Activity横竖屏切换时生命周期变化
关于Activity横竖屏切换的声明周期变化:1、新建一个Activity并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、按crtl+f12切换成横屏时onSaveInstanceState-->onPause-->onStop-->onDestroy-->onCr原创 2012-07-15 18:16:57 · 10065 阅读 · 0 评论 -
JNI和NDK的区别
以前对JNI和NDK的概念不是很清楚,今天特意看了一下,一下这篇文章讲的比较清楚,作为概念理解可以看一下。NDK(Native Development Kit)“原生”也就是二进制android常用的开发方式是java封装的库,而这些库的底层实现是由C/C++实现,如媒体,图形库等java调用这样实现就需要用JNI(Java Native Interface)转载 2012-07-14 11:57:29 · 2647 阅读 · 1 评论 -
Android实用小技巧
1、去掉所有Activity界面的标题栏 修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"2、去掉所有Activity界面的TitleBar 和StatusBar 修改AndroidManifest.xml 在application原创 2012-07-14 09:27:43 · 3486 阅读 · 2 评论 -
Activity四种启动模式(launchMode)
我们在开发项目的过程中,会涉及到该应用中多个Activity组件之间的跳转,或者夹带其它应用的可复用的Activity。例如我们可能希望跳转到原来某个Activity实例,而不是产生大量重复的 Activity。这样就需要我们为 Activity 配置特定的加载模式,而不是使用默认的加载模式。Activity 有四种加载模式[1] standard 模式 这是默认模转载 2012-07-15 19:18:47 · 1763 阅读 · 1 评论 -
Android应用开发中如何进行单元测试
本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性。下面我们先大概了解下单元测试,以及单元测试的作用。 单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向转载 2012-07-15 19:15:23 · 2553 阅读 · 1 评论 -
Android中.9.png详解(很详细)
.9.png是Android中对图片失真处理的一个解决方案,以下链接描述的非常详细,留着备用!http://www.cnblogs.com/qianxudetianxia/archive/2011/04/17/2017591.html转载 2012-07-15 19:44:35 · 5910 阅读 · 0 评论 -
Android中截取当前屏幕图片
该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。实现的代码如下:[html] view plaincopy/** * 获取和保存当前屏幕的截图 */ private void GetandSaveCurrentImage() {转载 2012-07-15 19:31:14 · 2803 阅读 · 0 评论 -
图片左右滚动控件(带倒影)——重写Gallery
今天在网上找了些资料,做了一个图片左右滚动的Demo,类似幻灯片播放,同时,图片带倒影效果,运行效果如下图: 实现方式是重写Gallery,使用自定义的Gallery来实现这一效果,工程一共三个文件,一个Activity,一个自定义的Gallery,还有就是一个适配器Imag原创 2012-10-09 19:39:45 · 4951 阅读 · 5 评论