02 2012 档案
摘要:一、概述 Android支持的传感器种类越来越多了,这确实是一件可喜的事情,两年前在单片机上玩过加速度传感器模块,当时做的是一个摔倒检测的项目,利用相关的算法对三轴数据进行采集、处理、判断来实现检测,既然是摔倒检测,那肯定是一个便携式设备吧,没错,当时做出来的设备是小到可以放进口袋里的。庆幸的是,今天这些东西完全可以在手机上完成了,而且不用涉及到硬件设计的问题,不过今天不是讲如何去移植那个项目,而是讲讲Android上的传感器编程。Android,再一次让我看到你的强大!再一次坚定了我学习你的信心!二、要求 了解、熟悉传感器的编程方法。三、实现 新建工程MySensor,修改/res/l...
阅读全文
摘要:一、概述 Menu,简单来理解就是当你按下手机的“menu”键时所弹出来的窗口,它被广泛应用着,几乎在每个应用中都有它的身影。二、要求 用两种方式实现菜单功能。三、实现 新建工程MyMenu,修改/res/layout/main.xml文件,主要是修改了里面的TextView,完整的main.xml文件如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and
阅读全文
摘要:一、概述 对于SharedPreferences,我吧它理解为一种简单的数据库,它可以把数据像文件一样存放在系统里面,也可以读出来,但它存放的只是一些简单的数值对,如key-values的形式。如果某些应用需要在退出时保存一些简单的数据以便再次被打开时恢复所需的数据,那么就可以用SharedPreferences来实现。二、要求 编写一个简单的应用,要求该应用退出时能保存某些所需要的数据,当应用再次打开时恢复这些数据。三、实现 新建工程MyShared,修改/res/layout/main.xml文件,在里面添加一个EditText,两个Button和一个TextView,完整的mai...
阅读全文
摘要:一、概述 TextToSpeech,就是将文本内容转换成语音,在其他的一些应用中经常可以看到。这个功能还是挺强大的,但是用户利用它来编写应用却很简单。二、要求 能够将文本内容转换成语音并朗读出来;可以一次全部朗读出来,也可以边写边读;可以将文本保存为语音文件。三、实现 新建工程MySpeak,修改/res/layout/main.xml文件,在里面添加一个EditText,两个Button和一个CheckBox,完整的main.xml文件如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <Li
阅读全文
摘要:一、概述 SurfaceView也是一个用来画图的部件,不过由于它的效率比较高,因此一般多用在游戏编程中,在摄像头编程中也会用到,还有它和View比较大的不同是它可以在非UI线程里画图。下面的实现中会提到使用SurfaceView来画图需要注意的几个地方。二、要求 会使用SurfaceView来画图。三、实现 新建工程MySurface,修改/res/layout/main.xml文件,在里面添加一个Button和一个SurfaceView,完整的main.xml文件如下: 1 <?xml version="1.0" encoding="utf-8"
阅读全文
摘要:一、概述 BroadcastReceiver,意思就是广播信息接收者,是Android的四大组件之一。它既可以接收系统广播出来的信息,也可以接收自定义的广播信息,比如说接收系统开机完成的信息,然后让某个程序启动,这就可以实现程序开机启动,又或者,某个程序需要通过Service发出的信息来更新UI,这时也可以使用BroadcastReceiver。二、要求 编写一个程序,能够接收自定义的广播信息,程序在接收到这个信息后把收到的信息显示到屏幕上。三、实现 新建工程MyBroadcast,修改/res/layout/main.xml文件,在里面添加一个Button和一个TextView,完整...
阅读全文
摘要:一、概述 习惯了Linux下的网络编程,在还没用智能机之前就一直想知道怎么得到手机的IP地址(玩智能机之前我是不搞手机应用的)。好了,得知Android是基于Linux内核的,那么不就可以利用之前学的Linux下的网络编程方法来获取IP了吗?呵呵,其实这是比较底层的方法,在Android上,完全可以利用Java的API来实现,而且实现的代码非常简单。下面的实现只可以获取到本地IP(内网IP),不包括外网IP,想获得外网IP的话要用其他方法。二、实现 新建工程GetIp,修改/res/layout/main.xml文件,在里面增加一个TextView文本,完整的main.xml文件如下: ...
阅读全文
摘要:一、概述 我们知道,Service是Android的四大组件之一。在我看来,Service可以理解为一种在后台运行的服务,但它不是运行在一个独立的线程中,而是运行在主线程里,当程序有比较“繁重”的任务要执行时,就可以把它放在Service中执行。Service也有自己的生命周期,与Activity有点类似,但它没有用户界面,只在后台运行。二、要求 编写一个带有Service的程序,在程序中,用户可以启动和停止该服务,可以实现与Service之间的通信。三、实现 新建工程MyService,修改/res/layout/main.xml文件,在里面添加3个Button按钮和1个TextV...
阅读全文
摘要:一、概述 Handler这个类主要用来发送和处理消息的。它有多个发送消息函数,但只有一个处理消息函数handleMessage()。二、要求 程序中有两个线程,一个是UI线程,一个是自己创建的线程,在自己创建的线程中发送消息,在UI线程中接收并处理这个消息。三、实现 不仅是Android,很多其他界面编程都是不允许在其他线程中直接更新UI界面的。因此可以在其他线程中向UI线程发送一些需要更新界面的消息,让UI线程来更新界面。 新建工程MyHandler,修改/res/layout/main.xml布局文件,在里面添加2个Button按钮,1个空的View(主要是作排版用的)和1...
阅读全文
摘要:一、概述 TabHost是一种用来显示标签的组件,不清楚?看一下来电通这个应用就知道了。这个组件用起来与其他组件不太一样,它需要继承TabActivity这个类,还有它的布局文件与我们平时用的也有些不一样。二、要求 实现一个具有三个标签的选项卡,每个标签使用不同的布局作为内容,当切换不同的标签时向用户发出提示。三、实现 声明:这个应用需要用到前面一篇(基础篇(3)的相关内容)。 新建工程MyUI(这个名字随便取),修改/res/layout/main.xml文件,添加3个LinearLayout作为3个标签的布局。完整的main.xml文件如下,注意第2行不再是使用LinearLa...
阅读全文
摘要:一、概述 ListView是一个列表显示控件,它的应用非常广泛,在很多应用程序中都可以看到它的身影,比如来电通,网易新闻等等,特别是QQ。因此非常有必要熟练掌握它。二、要求 能够利用ListView显示一些内容,如数据、文本,某一行被点击时有相应的提示;能够实现简单的ListView的动态插入和删除。三、实现 新建工程MyListView,修改/res/layout/main.xml文件,主要是去掉原来的TextView,添加两个Button和一个ListView,修改后的main.xml文件如下: 1 <?xml version="1.0" encoding=&qu
阅读全文
摘要:一、概述 Notification这个部件的功能是在状态栏里显示消息提醒,比如有未读的短信或者是未接的电话,那么状态栏里都会有显示,更或者是从某个应用(比如QQ,酷我音乐等等)里按Home键回到桌面,这时状态栏里也会显示这个应用的图标,这就是Notification。二、要求程序主界面上有一个Button按钮,当用户点击这个按钮时状态栏会显示一则通知,当按住状态栏下拉时可以看到这个通知在下拉列表里,此时点击这个通知就跳转到另一个界面(相当于查看这个通知)并且能将这个通知在状态栏里取消。三、实现 新建工程MyNotice,在/res/layout/main.xml文件里添加一个Button: &
阅读全文
摘要:一、概述 Button,顾名思义就是按钮的意思,它主要的功能是响应用户按下按钮时的动作。二、应用 新建一个工程,名字为MyButton,在/res/layout/main.xml文件中添加以下内容:1 <Button2 android:id="@+id/button"3 android:layout_width="fill_parent"4 android:layout_height="wrap_content"5 android:text="Click"6 />添加后main.xml文件的内容为: 1
阅读全文

浙公网安备 33010602011771号