文章分类 - Android
摘要:Android每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)
阅读全文
摘要:Parcel 是一种轻量级高效率的Inter-process communication (IPC)通信机制.使用Parcels,android系统可以将实体对象分解为可以在进程之间传递的基元对象。Parcels同样可以进程之内的数据传输,例如,一个android有多个activities,activity之间使用Intent传递数据User,例如// inside CollectDataActivity, construct intent to pass along the next Activity, i.e. screenIntent in = new Intent(this, Proc
阅读全文
摘要:1 Service的概念Service是android系统提供服务的四种组件之一,是运行于后台的一种服务程序,一般很少与用户交互,没有可视化界面Service不是独立的进程,除非特别指定,Service运行于应用程序的主进程中Service不是线程,因此不能再主线程之外进行工作Service主要有以下两个特征应用程序通知系统需要在后台进行一些操作的组件,通过调用Context.startService()来启动service,直到service运行完毕或者明确终止应用程序暴露给其它应用程序功能性接口。通过调用Context.bindService()建立连接进行通信2 Service生命周期S
阅读全文
摘要:Intent的中文意思是“意图,意向”,可以理解为不同组件之间通信的媒介或者信使。目标组件需要通过intent来声明自己的条件,一般通过<intent-filter>元素来实现。Intent由以下几部分组成:动作(action),数据(data),分类(category),类型(Type),组件(Component)和扩展信息(Extra),通过这些可以启动其他组件并携带信息, Intent在寻找目标组件时有两种方法,第一通过组件名称直接指定,第二通过Intent filter过滤指定,以下为官方给出的Intent构造函数。Intent()Create an empty inten
阅读全文
摘要:Parsing data from an XML file is a very common goal in mobile applications. This tutorial will provide you with a hands on approach for reading XML data with a SAX parser. SAX is an abbreviation for “Simple API for XML”, and it is a very powerful tool for reading XML.SAX Parser Pros and ConsOne of t
阅读全文
摘要:1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。JSON具有以下这些形式:对象是一个无序的“‘名称/值’对”集合。一
阅读全文
摘要:上一节中介绍了在Android中使用Google Map的方法,这一节继续介绍如何显示地理位置。Android位置服务需要用到android.Location包。LocationManager Service位置服务的核心组件是LocationManager系统服务,在创建LocationManager实例时,只需要调用getSystemService(Context.LOCATION_SERVICE)来创建LocationProvidersAndroid设备获取位置的方法有两种:GPS 和 Network.GPS: 精度高(5-10m) 速度比Network慢 耗电严重Network ...
阅读全文
摘要:Google的地图服务在全世界来说也是最抢眼的,在Android中也可以使用地图服务,使用MapView可以实现。1创建新项目,在Build Target时选择“Google APIs”,也就是要添加Google的API jar文件map.jar2创建AVD时,target同样选择“Google APIs”3获得“Google Map API Key”,使用jdk的keytool生成MD5 key,Keytool这个文件一般位于%JAVA_HOME/bin目录下。在开发Android程序时,一般是在debug模式下进行的,这时的SDK的build tools会自动使用debug模式下的证书对应
阅读全文
摘要:本讲内容:AndroidDialog 对话框1、Dialog介绍2、AlertDialog的基本使用3、自定义对话框 Custom Dialog一、Dialog介绍Dialog也是Android中常用的用户界面元素,他同Menu一样也不是View的子类。让我们看一下它的继承关系:这里要留意一下他的直接子类 AlertDialog,和间接子类 DatePickerDialog,ProgressDialog,TimePickerDialog,其中后三个我们在前面的章节已经讲过,今天我们把重点放在AlertDialog上。二、AlertDialog的基本使用AlertDialog对话框是Dialog
阅读全文
摘要:本讲内容:菜单 menu1、选项菜单 OptionsMenu2、上下文菜单 ContextMenu3、子菜单 SubMenu组成Android用户界面的除了View以外,还有菜单和对话框,这一讲我们就共同学习一下菜单的使用。菜单是用户界面中最常见的元素,使用也非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),下面分别举例说明。一、选项菜单 OptionsMenuAndroid手机上有个Menu按键,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单
阅读全文
摘要:本讲内容:ImageSwitcher 图片切换器 和 TextSwitcher 文本切换器源代码下载:Lesson45_ImageSwitcher.zip(727.41 KB, 下载次数: 229)Lesson45_TextSwitcher.zip(45.91 KB, 下载次数: 69)一、ImageSwitcher 图片切换器我们可以看到很多网站首页里的有个图片轮显控件,用来显示站内重点新闻等,在这些网站里很多采用了JQuery等JS框架提供的轮显插件,而在Android里也有这个ImageSwitcher提供了类似的功能。那么我们就一起做一个例子感觉一下:1、新建一个项目:Lesson45
阅读全文
摘要:本讲内容: ViewFlipper视图切换组件 ViewAnimator我们在上一讲用到了两个非常好用的ImageSwitcher和TextSwitcher视图切换组件。今天我们再一起学习另一个功能更强大的视图切换组件 ViewFlipper,它可以在任意视图和视图组合之间切换。在学习之前我们有必要看一下 ViewAnimator 对象。我们制作视图动画时会发现有个ViewAnimator类,这个类的价值我画一个图给大家看就行了:下面我们来看例子:1、新建一个项目 Lesson46_ViewFlipper2、在main.xml写入下面代码:<?xml version="1.0&
阅读全文
摘要:本讲内容:标签页的实现 TabHost TabWidget TabActivity使用Tab标签页控件,可以在同一个空间里放置更多内容。譬如Android自带的拨号程序及通讯录等,就使用了Tab标签功能:2011-4-29 18:07 上传下载附件(127.95 KB)下面我们用实例的方式来学习如何制作上面类似的标签效果,其实还是很简单的。我同样是把解释写到示例的注释里了,注释是我的理解并不准确,方便你记忆而已。1、新建一个项目 Lesson44_Tab ,Activity起名叫 MainActivity2、编写 main.xml 内容如下,这次的形式和普通布局文件有所区别,请注意看写法:&l
阅读全文
摘要:本讲内容:ExpandableListView,ExpandableListActivity 可扩展列表 二级列表 手风琴效果accordion本讲源代码下载:Lesson43_ExpandableListView1.zip(42.54 KB, 下载次数: 92)ExpandableListView的效果很实用,配置时有那么一点啰嗦,也容易出错,我在这里例子里会尽量去掉所有干扰信息,好让大家使用时容易借鉴。好我们先看一下运行效果:点击一级列表,展开下一级:点击二层列表(嵌套的列表)的某一项:下面我们来看代码:1、新建一个项目 Lesson43_ExpandableListView2、main.
阅读全文
摘要:本讲内容:SlidingDrawer 抽屉类今天我们一起学习看起来很炫、功能很强、又容易学会的抽屉类。先用一个最简单的例子来入门。一、实例 HelloSildingDrawer1、新建一个项目 Lesson42_HelloSlidingDrawer2、在Eclipse中打开main.xml,在Graphical Layout 视图里,拖拽SlidingDrawer 这个组件出来。2011-4-29 16:10 上传下载附件(66.44 KB)切换到文本方式,在SlidingDrawer标签中增加一行android: orientation="horizontal"给内容区添
阅读全文
摘要:Gallery 画廊Gallery是一个内部元素可以水平滚动,并且可以把当前选择的子元素定位在它中心的布局组件。我们还是直接看看例子的运行效果。下面上代码,相关解释都放在代码里了。1、建立一个新项目 HelloGallery2、拷贝wallpaper_0.jpg…wallpaper_9.jpg 10个图片文件到res/drawable目录3、res/layout/main.xml文件的内容如下:<?xml version="1.0" encoding="utf-8"?><framelayoutandroid:layout_height=
阅读全文
摘要:本讲内容: ListView 组件点此下载:lesson12.zip(144.74 KB, 下载次数: 304)(请不要怀疑你看到的,放心我核对过^_^)十四、列表组件 ListView列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据。下面看一个例子:新建一个项目Lesson8_ListViewTest,Activity name是MainListViewTest 。MainListViewTest.java的代码是:packageandroid.basic.lesson8;import android.app.Activity;impo
阅读全文
摘要:本讲内容:ProgressBar SeekBar RatingBar点击下载:lesson11.zip(129.18 KB, 下载次数: 258)十一、ProgressBar 进度条在某项延续性工作的进展过程中为了不让用户觉得程序死掉了,需要有个活动的进度条,表示此过程正在进行中。Android中使用ProgressBar来实现这一功能:1、简单的进度条在xml中添加:<ProgressBarandroid:id=”@+id/ProgressBar01″android:layout_width=”wrap_content”android:layout_height=”wrap_conte
阅读全文
摘要:本讲内容:Spinner,AutoCompleteTextView,DatePicker,TimePicker点此下载:lesson10.zip(179.79 KB, 下载次数: 394)七、Spinner 下拉列表spinner就相当于Html中的下拉列表框,在下面的例子里我们共同学习一下spinner的使用。在这一小节,让我们建一个小关于色彩的下拉列表,当某一个选项被选择时,弹出一个吐司消息。1、建一个新的项目,打开res/values/strings.xml文件,写入如下代码:<string-array name="colors">定义了一个字符串数组,包
阅读全文
摘要:本讲内容:Button TextView EditView CheckBox RadioGroup ImageView ImageButton一、Button 按钮按钮是程序中最常见的一个元素,我们通过一个例子感受一下,代码的讲解都写在注释里了,所以我就直接上代码和代码的运行结果。packageandroid.basic.lesson9;import android.app.Activity;import android.os.Bundle;import android.view.View;//不熟悉内部类的朋友可以留意一下这里的导入方式import android.view.View.OnC
阅读全文

浙公网安备 33010602011771号