基于某Android地手机备忘录软件设计Word文档格式.docx

上传人:b****5 文档编号:18599261 上传时间:2022-12-29 格式:DOCX 页数:33 大小:171.57KB
下载 相关 举报
基于某Android地手机备忘录软件设计Word文档格式.docx_第1页
第1页 / 共33页
基于某Android地手机备忘录软件设计Word文档格式.docx_第2页
第2页 / 共33页
基于某Android地手机备忘录软件设计Word文档格式.docx_第3页
第3页 / 共33页
基于某Android地手机备忘录软件设计Word文档格式.docx_第4页
第4页 / 共33页
基于某Android地手机备忘录软件设计Word文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于某Android地手机备忘录软件设计Word文档格式.docx

《基于某Android地手机备忘录软件设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于某Android地手机备忘录软件设计Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

基于某Android地手机备忘录软件设计Word文档格式.docx

6月22日~6月26日:

修改并完成,提交验收;

设计过程、步骤(可加页):

一.功能结构

二.设计说明

1.备忘录数据存储实现

为了持久地将用户的备忘录信息保存下来,需要将这些信息存储在SQLite数据库中。

备忘录需要保存的信息有:

编号(ID)、提醒日起(Datel)、提醒时间(Time1)、提醒内容(Content)、是否启用(NO_OFF)、是否声音提醒(Alarm)、创建日期(Created)等。

在操作北往里数据表手机,一些属性在几个类中使用,为此我们将其定义为一个常量类,在该常量类中声明。

常量类名称为TaskList,该类有一个内部Tasks继承BaseColumns,在该类中声明URI和列常量等,方便后面使用。

2.备忘录ContentProvidershi实现

为了使备忘录数据表具有通用的数据共享访问机制,需要通过ContentProvider来实现。

这里我们定义一个TaskListProvide类,该类继承ContentProvider,实现了onCreate、query、getType、insert、deleted、update等方法,来支持数据的增、删、查、改等操作。

3.备忘录列表展示

用户可能哟呵常见很多条备忘录信息,而且需要维护这些备忘录信息,例如删除、修改等功能。

这里我们通过一个ListView来展示备忘录列表,通过选项菜单提供微幅数据借口。

4.备忘录维护

备忘录维护是应该用程序的核心,提供了添加、修改备忘录信息的功能。

备忘录信息也通过ListView来展示,ListView的每一项通过自定义View来实现。

通过单击ListView的每一项来设置备忘录信息。

5.备忘录定时提醒

为了更好的提醒用户在特定时间做某项工作,要设置语音和震动等功能,该功能通过定义Activity发出广播,BroadcastReceiver接收广播,并通过Notification提醒用户。

6.程序运行

结果与分析(可以加页):

1.列表展示

主要功能把备忘录界面展示给用户,用户可以添加和删除备忘录信息,很大程度上方便了用户的操作。

运行结果

2.备忘录维护

用户可以很好的将需要或者不需要的备忘录信息进行增添或者删除

运行结果:

3.备忘录定时提醒

这个功能可以很有效的提醒用户关闭备忘录,以免造成不必要的资源浪费。

设计体会与建议:

这个课程设计主要研究了Android平台的架构以及在Android平台上开发备忘录软件, 

此应用除了具备简单备忘功能外,还具备简单数据处理功能,还有闹钟提醒相对高级点的功能。

这个课程设计在Android平台以及在该平台上开发手机备忘录软件上做了大量的工作,但因个人能力有限,还有很多问题需要解决,现对未来可以进行的工作做出以下几点感言:

(l)这个课程设计实现的备忘录客户端是基于Android平台进行开发的,但是还未能真正解析Android的精髓,系统的界面设计也不是很完善,对Android平台进一步研究,能够使系统在设计方面更加快捷和完善。

(2)这个课程设计所开发的系统目前还只是在模拟器上进行运行,还有待移植到真机上进行进一步研究。

相信随着研究的进一步深入,这些问题会逐步得到解决,相信基于Android平台的备忘录软件会有很好的应用前景。

附录:

源程序代码

1.AlarmActivity.java

packagecom.amaker.ch17.app;

importandroid.app.Activity;

importandroid.app.Notification;

importandroid.app.NotificationManager;

importandroid.content.Context;

import.Uri;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.TextView;

/**

*@author冯春礼

*提醒用户

*/

publicclassAlarmActivityextendsActivity{

publicstaticfinalintID=1;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.alarm);

//获得Button、TextView实例

Buttonbtn=(Button)findViewById(R.id.cancelButton01);

TextViewtv=(TextView)findViewById(R.id.msgTextView01);

//获得NotificationManager实例

Stringservice=Context.NOTIFICATION_SERVICE;

finalNotificationManagernm=(NotificationManager)getSystemService(service);

//实例化Notification

Notificationn=newNotification();

//设置显示提示信息,该信息也会在状态栏显示

Stringmsg=getIntent().getStringExtra("

msg"

);

//显示时间

n.tickerText=msg;

tv.setText(msg);

//设置声音提示

n.sound=Uri.parse("

file:

///sdcard/fallbackring.ogg"

//发出通知

nm.notify(ID,n);

//取消通知

btn.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

nm.cancel(ID);

finish();

}

});

}

}

2.TaskDetailActivity.java

importjava.util.Calendar;

importandroid.app.AlarmManager;

importandroid.app.AlertDialog;

importandroid.app.DatePickerDialog;

importandroid.app.Dialog;

importandroid.app.ListActivity;

importandroid.app.PendingIntent;

importandroid.app.TimePickerDialog;

importandroid.content.ContentUris;

importandroid.content.ContentValues;

importandroid.content.DialogInterface;

importandroid.content.Intent;

importandroid.view.LayoutInflater;

importandroid.view.ViewGroup;

importandroid.widget.AdapterView;

importandroid.widget.BaseAdapter;

importandroid.widget.CheckedTextView;

importandroid.widget.DatePicker;

importandroid.widget.EditText;

importandroid.widget.ListView;

importandroid.widget.TimePicker;

importandroid.widget.AdapterView.OnItemClickListener;

importcom.amaker.ch17.app.TaskList.Tasks;

*

*备忘录详细信息类,该信息

publicclassTaskDetailActivityextendsListActivity{

//备忘录信息列表

privateListViewlistView=null;

//提醒日期

privateintmYear;

privateintmMonth;

privateintmDay;

//提醒时间

privateintmHour;

privateintmMinute;

//日期显示TextView

privateTextViewdateName,dateDesc;

//时间显示TextView

privateTextViewtimeName,timeDesc;

//提醒内容TextView

privateTextViewcontentName,contentDesc;

//是否开启提醒

privateinton_off=0;

//是否声音警告

privateintalarm=0;

//显示日期、时间对话框常量

staticfinalintDATE_DIALOG_ID=0;

staticfinalintTIME_DIALOG_ID=1;

//保存内容、日期、时间字符串

privateStringcontent,date1,time1;

//备忘录ID

privateintid1;

//多选框

privateCheckedTextViewctv1,ctv2;

//访问布局实例

privateLayoutInflaterli;

//初始化方法

privatevoidinit(Intentintent){

Bundleb=intent.getBundleExtra("

b"

if(b!

=null){

id1=b.getInt("

id"

content=b.getString("

content"

date1=b.getString("

date1"

time1=b.getString("

time1"

on_off=b.getInt("

on_off"

alarm=b.getInt("

alarm"

if(date1!

=null&

&

date1.length()>

0){

String[]strs=date1.split("

/"

mYear=Integer.parseInt(strs[0]);

mMonth=Integer.parseInt(strs[1]);

mDay=Integer.parseInt(strs[2]);

if(time1!

time1.length()>

String[]strs=time1.split("

:

"

mHour=Integer.parseInt(strs[0]);

mMinute=Integer.parseInt(strs[1]);

}

publicvoidonCreate(BundlesavedInstanceState){

//获得ListView

listView=getListView();

//实例化LayoutInflater

li=getLayoutInflater();

//设置ListViewAdapter

listView.setAdapter(newViewAdapter());

//可多选

listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

//获得Calendar实例

finalCalendarc=Calendar.getInstance();

//获得当前日期、时间

mYear=c.get(Calendar.YEAR);

mMonth=c.get(Calendar.MONTH);

mDay=c.get(Calendar.DAY_OF_MONTH);

mHour=c.get(Calendar.HOUR_OF_DAY);

mMinute=c.get(Calendar.MINUTE);

//响应列表单击事件

listView.setOnItemClickListener(newOnItemClickListener(){

publicvoidonItemClick(AdapterView<

?

>

av,Viewv,intposition,

longid){

switch(position){

//设置是否开启提醒

case0:

ctv1=(CheckedTextView)v;

if(ctv1.isChecked()){

on_off=0;

}else{

on_off=1;

}

break;

//设置提醒日期

case1:

showDialog(DATE_DIALOG_ID);

//设置提醒时间

case2:

showDialog(TIME_DIALOG_ID);

//设置提醒内容

case3:

showDialog1("

请输入内容:

//设置是否开启语音提醒

case4:

ctv2=(CheckedTextView)v;

if(ctv2.isChecked()){

alarm=0;

setAlarm(false);

alarm=1;

setAlarm(true);

default:

}

protectedvoidonResume(){

super.onResume();

//初始化列表

init(getIntent());

//ListViewAdatper,该类实现了列表的每一项通过自定义视图实现

classViewAdapterextendsBaseAdapter{

//列表显示内容

String[]strs={"

是否开启"

"

日期"

时间"

内容"

开启闹钟"

};

//获得列表列数

@Override

publicintgetCount(){

returnstrs.length;

//返回列表项

publicObjectgetItem(intposition){

returnposition;

//返回列表ID

publiclonggetItemId(intposition){

//获得当前列表项视图

publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

Viewv=li.inflate(R.layout.item_row,null);

switch(position){

//是否开启该条备忘录

case0:

ctv1=(CheckedTextView)li

.inflate(

android.R.layout.simple_list_item_multiple_choice,

null);

ctv1.setText(strs[position]);

if(on_off==0){

ctv1.setChecked(false);

}else{

ctv1.setChecked(true);

returnctv1;

//提醒日期

case1:

dateName=(TextView)v.findViewById(R.id.name);

dateDesc=(TextView)v.findViewById(R.id.desc);

dateName.setText(strs[position]);

dateDesc.setText(mYear+"

+mMonth+"

+mDay);

returnv;

//提醒时间

case2:

timeName=(TextView)v.findViewById(R.id.name);

timeDesc=(TextView)v.findViewById(R.id.desc);

timeName.setText(strs[position]);

timeDesc.setText(mHour+"

+mMinute);

//提醒内容

case3:

contentName=(TextView)v.findViewById(R.id.name);

contentDesc=(TextView)v.findViewById(R.id.desc);

contentName.setText(strs[position]);

contentDesc.setText(content);

//是否声音提示

case4:

ctv2=(CheckedTextView)li

ctv2.setText(strs[position]);

if(alarm==0){

ctv2.setChecked(false);

ctv2.setChecked(true);

returnctv2;

default:

break;

returnnull;

//显示对话框

protectedDialogonCreateDialog(intid){

switch(id){

//显示日期对话框

caseDATE_DIALOG_ID:

returnnewDatePickerDialog(this,mDateSetListener,mYear,mMonth,

mDay);

//显示时间对话框

caseTIME_DIALOG_ID:

returnnewTimePickerDialog(this,mTimeSetListener,mHour,mMinute,

false);

returnnull;

//设置通知提示

privatevoid

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1