基于Android日历及记事功能完整实现的设计与实现.doc
文本预览下载声明
《移动通信程序设计》
课程设计
题 目 基于andriod的功能的日历
二O年月日
1概述 1
2 总体设计 2
3详细设计 3
3.1、绘画基础 5
3.2框架绘画 5
3.3 核心技术 10
3.4 触摸事件 14
3.5 键盘操作 16
4进行编码: 18
4.1登录 18
4.2事情记录 20
4.3 对闹铃的设置 21
4.4记事列表 23
4.5 闹铃 24
4.6 对记事的编辑 25
5 结束语 26
6参考文献 27
实现基于Android 的日历及记事功能 Android 作为目前较为流行的智能手机操作系统已成为大多数人的首选。在美国乃至世界的很多地方的出货量已经超越Iphone, 成为世界上最大智能手机操作系统。因此, 世界各地的程序员都跃跃欲试地想学习Android 的开发, 并希望从中捞得属于自己的第一桶金。在此给出一个基于Android 的日历系统的完整实现过程。
关键词: Android; 日历; 记录; 提醒
1概述
在日常工作中,特别强调时间的重要性,需要完成的事情也越来越多,因此对日历的需求也是巨大的,由于在日常生活中我们不可能将随身携带,我们可以将软件做到移动终端,在此情形下,基于andriod的技术带有记事功能的日历就诞生。
要实现的日历除了常规的日历功能外, 还可以显示与当前日期相关的信息, 如今天是今年的第几周等等。效果图
图1 在手机上所显示的日历图标
的主界面
3.1、绘画基础
由于实现的日历系统要涉及文本技术,因此, 要简单介绍Android 的文本技术。通常在Android.view.View 或其子类的onDraw 方法中进行。该方法的定义如下:
protected void onDraw(Canvas canvas);
其中Canvas 对象提供了大量用于绘图的方法, 这些方法主要包括绘制像素点、直线、圆形、弧、文本, 这些都是组成复杂图形的基本元素。如果要画更复杂的图形, 可以采用组合这些图形基本元素的方式来完成,下面来看一下文本基本方法。
绘制text 指定的文本方法是:public native void drawText (String text, float x, float y, Paintpaint);
绘制text 指定的文本。文本中的每一个字符的起始坐标由pos 数组中的值决定方法是:public void drawPosText(String text, float[] pos, Paint paint);
绘制text 指定的文本。text 中的每一个字符的起始坐标由pos 数组中的值决定。并且可以选择text 中的某一段连续的字符绘制的方法是:public void drawPosText(char[] text, int index, int count, float[] pos,Paint paint);
参数的含义如下:
(1) text: drawText 方法中的text 参数表示要绘制的文本。
drawPostText 方法中的text 虽然也表示要绘制的文本, 但每一
个字符的坐标需要单独指定。如果未指定某个字符的坐标, 系
统会抛出异常。
(2) x: 绘制文本的起始点的横坐标。
(3) y: 绘制文本的起始点的纵坐标。
(4) index: 选定的字符集合在text 数组中的索引。
(5) count: 选定的字符集中字符个数。
3.2框架绘画2 可以看出, 日历的上部是3 行文字, 显示了当前日期的相关信息。下面来看看如何布局显示这些文字的组件。在日历主界面的上半部需要放置4 个组件, 1 个ImageView组件和3 个TextView 组件。其中ImageView 组件用于显示左上角的图像。3 个TextView 组件用于显示当前日期的信息。由于目前还没有当前日期的信息。因此, 这3 个TextView组件暂时设置了固定的信息。
下面开始在main.xml 文件中设置这4 个组件。在修改main.xml 文件的内容之前, 先复制一个calendar.png 文件, 作为日历的logo (修改AndroidManifest.xml 文件中的应用程序图标)。建立一个Calendar 工程, 并编写main.xml 文件。
?xml version=1.0 encoding=utf-8?
LinearLay out xmlns:android = http://schemas.android.
com/apk/res/android
android:orientation = vertical android:layout_width =
fill_parent
android:layout_height=fil
显示全部