ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:158.13KB ,
资源ID:19618351      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19618351.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android的手机备忘录软件设计Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Android的手机备忘录软件设计Word下载.docx

1、 修改并完成,提交验收;设计过程、步骤(可加页):一功能结构二设计说明1.备忘录数据存储实现为了持久地将用户的备忘录信息保存下来,需要将这些信息存储在SQLite数据库中。备忘录需要保存的信息有:编号(ID)、提醒日起(Datel)、提醒时间(Time1)、提醒内容(Content)、是否启用(NO_OFF)、是否声音提醒(Alarm)、创建日期(Created)等。在操作北往里数据表手机,一些属性在几个类中使用,为此我们将其定义为一个常量类,在该常量类中声明。常量类名称为TaskList,该类有一个内部Tasks继承BaseColumns,在该类中声明URI和列常量等,方便后面使用。2.备忘

2、录ContentProvidershi实现 为了使备忘录数据表具有通用的数据共享访问机制,需要通过ContentProvider来实现。这里我们定义一个TaskListProvide类,该类继承ContentProvider,实现了onCreate、query、getType、insert、deleted、update等方法,来支持数据的增、删、查、改等操作。3.备忘录列表展示 用户可能哟呵常见很多条备忘录信息,而且需要维护这些备忘录信息,例如删除、修改等功能。这里我们通过一个ListView来展示备忘录列表,通过选项菜单提供微幅数据借口。4.备忘录维护 备忘录维护是应该用程序的核心,提供了添

3、加、修改备忘录信息的功能。备忘录信息也通过ListView来展示,ListView的每一项通过自定义View来实现。通过单击ListView的每一项来设置备忘录信息。5.备忘录定时提醒 为了更好的提醒用户在特定时间做某项工作,要设置语音和震动等功能,该功能通过定义Activity发出广播,BroadcastReceiver接收广播,并通过Notification提醒用户。6.程序运行结果与分析(可以加页): 1.2.列表展示主要功能把备忘录界面展示给用户,用户可以添加和删除备忘录信息,很大程度上方便了用户的操作。运行结果3.备忘录定时提醒这个功能可以很有效的提醒用户关闭备忘录,以免造成不必要的

4、资源浪费。运行结果:设计体会与建议:这个课程设计主要研究了Android平台的架构以及在Android平台上开发备忘录软件,此应用除了具备简单备忘功能外,还具备简单数据处理功能,还有闹钟提醒相对高级点的功能。这个课程设计在Android平台以及在该平台上开发手机备忘录软件上做了大量的工作,但因个人能力有限,还有很多问题需要解决,现对未来可以进行的工作做出以下几点感言: (l)这个课程设计实现的备忘录客户端是基于Android平台进行开发的,但是还未能真正解析Android的精髓,系统的界面设计也不是很完善,对Android平台进一步研究,能够使系统在设计方面更加快捷和完善。 (2)这个课程设计

5、所开发的系统目前还只是在模拟器上进行运行,还有待移植到真机上进行进一步研究。相信随着研究的进一步深入,这些问题会逐步得到解决,相信基于Android平台的备忘录软件会有很好的应用前景。附录:源程序代码1. AlarmActivity.javapackage com.amaker.ch17.app;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.content.Context;import .Uri;import an

6、droid.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;/* * author 冯春礼 * 提醒用户 */public class AlarmActivity extends Activity public static final int ID = 1; Override protected void onCreate(Bundle savedInstanceStat

7、e) super.onCreate(savedInstanceState); setContentView(R.layout.alarm); / 获得Button、TextView实例 Button btn = (Button) findViewById(R.id.cancelButton01); TextView tv = (TextView)findViewById(R.id.msgTextView01); / 获得NotificationManager实例 String service = Context.NOTIFICATION_SERVICE; final NotificationM

8、anager nm = (NotificationManager)getSystemService(service); / 实例化Notification Notification n = new Notification(); / 设置显示提示信息,该信息也会在状态栏显示 String msg = getIntent().getStringExtra(msg); / 显示时间 n.tickerText = msg; tv.setText(msg); / 设置声音提示 n.sound = Uri.parse(file:/sdcard/fallbackring.ogg / 发出通知 nm.not

9、ify(ID, n); / 取消通知 btn.setOnClickListener(new OnClickListener() Override public void onClick(View v) nm.cancel(ID); finish(); ); 2. TaskDetailActivity.javaimport java.util.Calendar;import android.app.AlarmManager;import android.app.AlertDialog;import android.app.DatePickerDialog;import android.app.D

10、ialog;import android.app.ListActivity;import android.app.PendingIntent;import android.app.TimePickerDialog;import android.content.ContentUris;import android.content.ContentValues;import android.content.DialogInterface;import android.content.Intent;import android.view.LayoutInflater;import android.vi

11、ew.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.CheckedTextView;import android.widget.DatePicker;import android.widget.EditText;import android.widget.ListView;import android.widget.TimePicker;import android.widget.AdapterView.OnItemClickListener

12、;import com.amaker.ch17.app.TaskList.Tasks; * * 备忘录详细信息类,该信息public class TaskDetailActivity extends ListActivity / 备忘录信息列表 private ListView listView = null; / 提醒日期 private int mYear; private int mMonth; private int mDay; / 提醒时间 private int mHour; private int mMinute; / 日期显示TextView private TextView

13、dateName, dateDesc; / 时间显示TextView private TextView timeName, timeDesc; / 提醒内容TextView private TextView contentName, contentDesc; / 是否开启提醒 private int on_off = 0; / 是否声音警告 private int alarm = 0; / 显示日期、时间对话框常量 static final int DATE_DIALOG_ID = 0; static final int TIME_DIALOG_ID = 1; / 保存内容、日期、时间字符串

14、private String content, date1, time1; / 备忘录ID private int id1; / 多选框 private CheckedTextView ctv1, ctv2; / 访问布局实例 private LayoutInflater li; / 初始化方法 private void init(Intent intent) Bundle b = intent.getBundleExtra(b if (b != null) id1 = b.getInt(id content = b.getString(content date1 = b.getString(

15、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(strs0); mMonth = Integer.parseInt(strs1); mDay = Integer.parseInt(strs2); if (time1 ! time1.length() String strs = time1.split(:

16、mHour = Integer.parseInt(strs0); mMinute = Integer.parseInt(strs1); public void onCreate(Bundle savedInstanceState) / 获得ListView listView = getListView(); / 实例化LayoutInflater li = getLayoutInflater(); / 设置ListView Adapter listView.setAdapter(new ViewAdapter(); / 可多选 listView.setChoiceMode(ListView.C

17、HOICE_MODE_MULTIPLE); / 获得Calendar实例 final Calendar c = 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.setOnItemClickList

18、ener(new OnItemClickListener() public void onItemClick(AdapterView av, View v, int position, long id) switch (position) / 设置是否开启提醒 case 0: ctv1 = (CheckedTextView) v; if (ctv1.isChecked() on_off = 0; else on_off = 1; break; / 设置提醒日期 case 1: showDialog(DATE_DIALOG_ID); / 设置提醒时间 case 2: showDialog(TIM

19、E_DIALOG_ID); / 设置提醒内容 case 3: showDialog1(请输入内容: / 设置是否开启语音提醒 case 4: ctv2 = (CheckedTextView) v; if (ctv2.isChecked() alarm = 0; setAlarm(false); alarm = 1; setAlarm(true); default: protected void onResume() super.onResume(); / 初始化列表 init(getIntent(); / ListView Adatper,该类实现了列表的每一项通过自定义视图实现 class

20、ViewAdapter extends BaseAdapter / 列表显示内容 String strs = 是否开启, 日期时间内容开启闹钟 ; / 获得列表列数 Override public int getCount() return strs.length; / 返回列表项 public Object getItem(int position) return position; / 返回列表ID public long getItemId(int position) / 获得当前列表项视图 public View getView(int position, View convertVi

21、ew, ViewGroup parent) View v = li.inflate(R.layout.item_row, null); switch (position) / 是否开启该条备忘录 case 0: ctv1 = (CheckedTextView) li .inflate( android.R.layout.simple_list_item_multiple_choice, null); ctv1.setText(strsposition); if (on_off = 0) ctv1.setChecked(false); else ctv1.setChecked(true); re

22、turn ctv1; / 提醒日期 case 1: dateName = (TextView) v.findViewById(R.id.name); dateDesc = (TextView) v.findViewById(R.id.desc); dateName.setText(strsposition); dateDesc.setText(mYear + + mMonth + + mDay); return v; / 提醒时间 case 2: timeName = (TextView) v.findViewById(R.id.name); timeDesc = (TextView) v.f

23、indViewById(R.id.desc); timeName.setText(strsposition); timeDesc.setText(mHour + + mMinute); / 提醒内容 case 3: contentName = (TextView) v.findViewById(R.id.name); contentDesc = (TextView) v.findViewById(R.id.desc); contentName.setText(strsposition); contentDesc.setText(content); / 是否声音提示 case 4: ctv2 =

24、 (CheckedTextView) li ctv2.setText(strsposition); if (alarm = 0) ctv2.setChecked(false); ctv2.setChecked(true); return ctv2; default: break; return null; / 显示对话框 protected Dialog onCreateDialog(int id) switch (id) / 显示日期对话框 case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); / 显示时间对话框 case TIME_DIALOG_ID: return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false); return null; / 设置通知提示 private void setAlarm(boolean flag

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

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