基于Android的手机备忘录软件设计
课程设计报告
(本科)
课程:
学号:
姓名:
班级:
教师:
时间:
计算机科学与技术系
结果与分析(可以加页):
1.列表展示
主要功能把备忘录界面展示给用户,用户可以添加和删除备忘录信息,
2.备忘录维护
用户可以很好的将需要或者不需要的备忘录信息进行增添或者删除
运行结果:
3.备忘录定时提醒
这个功能可以很有效的提醒用户关闭备忘录,以免造成不必要的资源浪费。运行结果:
附录:源程序代码
1. AlarmActivity.java
package com.amaker.ch17.app;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import https://www.360docs.net/doc/9e9506545.html,.Uri;
import android.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 savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(https://www.360docs.net/doc/9e9506545.html,yout.alarm);
// 获得Button、TextView实例
Button btn = (Button) findViewById(R.id.cancelButton01);
TextView tv = (TextView)findViewById(R.id.msgTextView01);
// 获得NotificationManager实例
String service = Context.NOTIFICATION_SERVICE;
final NotificationManager 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.notify(ID, n);
// 取消通知
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
nm.cancel(ID);
finish();
}
});
}
}
2. TaskDetailActivity.java
package com.amaker.ch17.app;
import java.util.Calendar;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
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 https://www.360docs.net/doc/9e9506545.html,.Uri;
import android.os.Bundle;
import https://www.360docs.net/doc/9e9506545.html,youtInflater;
import android.view.View;
import android.view.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.TextView;
import android.widget.TimePicker;
import android.widget.AdapterView.OnItemClickListener;
import com.amaker.ch17.app.TaskList.Tasks;
/**
*
* @author 冯春礼
* 备忘录详细信息类,该信息
*/
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 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;
// 保存内容、日期、时间字符串
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("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 != null && time1.length() > 0) {
String[] strs = time1.split(":");
mHour = Integer.parseInt(strs[0]);
mMinute = Integer.parseInt(strs[1]);
}
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 获得ListView
listView = getListView();
// 实例化LayoutInflater
li = getLayoutInflater();
// 设置ListView Adapter
listView.setAdapter(new ViewAdapter());
// 可多选
listView.setChoiceMode(ListView.CHOICE_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);