写在前面:
安卓的学习也有半年多了,期间也曾写过博客,但大多都是一些琐碎的笔记,基本没用任何参考价值,这几天闲来无事,便想做个小项目来玩玩,巩固一下基本知识,并且完整的记录下来整个开发的过程,以作留念。
/————————我是华丽的分割线—————————-/
本次项目选择了可定时提示的备忘录。原理是利用系统每分钟发送一条时间改变的广播,通过接受这条广播来判断是否为用户设置的时间,如果是则与用户交互提醒用户。
首先,在Eclipse中创建一个Android项目,取名为Notification
类:MainActivity.java
此Activity主要用于用户添加备忘录页面的转跳与已添加备忘录的展示。
在其布局文件activity_main.xml中加入一个Button和一个TextView 。目前还没有实现多事件的共同设置,所以暂时使用TextView显示事件。
因为储存的数据比较少,这里采用SharedPreferences进行存储,在Activity的onCreate()方法中进行成员变量的初始化操作:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
sp = getSharedPreferences("UserNote",MODE_PRIVATE);
}
public void init() {
button = (Button) findViewById(R.id.bt);
title = (TextView) findViewById(R.id.main_title);
note = (TextView) findViewById(R.id.main_note);
time = (TextView)findViewById(R.id.main_time);
}
在onStart()中对按钮bt添加点击事件监听,并通过startActivity(intent)启动AddActivity转跳到添加的Activity:
protected void onStart() {
super.onStart();
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this, AddActivity.class);
startActivity(intent);
}
});
}
在onResume()方法中,获取SharedPerfences中的数据并更新TextView的内容:
protected void onResume(){
super.onResume();
strTime = sp.getString("time","null");
strTitle = sp.getString("title","null");
strNote = sp.getString("text","null");
title.setText(strTitle);
note.setText(strNote);
time.setText(strTime);
System.out.println("onResume");
}
MainActivity.java整体代码如下:
package com.example.notification;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button button;
private SharedPreferences sp;
private TextView title, note,time;
private String strTitle,strNote,strTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
sp = getSharedPreferences("UserNote",MODE_PRIVATE);
}
@Override
protected void onStart() {
super.onStart();
button.setOnClickListener(new OnClickListener() {