作业帮 > 体裁作文 > 教育资讯

安卓写日记

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/23 06:35:16 体裁作文
安卓写日记体裁作文

篇一:Android日记

本科毕业设计(论文)开题报告

学生姓名赖兆彬 学 号1121403指导教师 成长生徐敬虹 学 院信息技术学院 专 业 计算机科学与技术 交稿日期 2014年9月28日

教务处制

一、开题报告

1

2

3

4

篇二:基于android的日记本开发

西南科技大学 课程设计报告

课程名称: 软件设计基础设计名称: 基于android的日记本开发姓 名:学 号: 班 级: 通信1003班 指导教师:起止日期: 11.28——12.12

西南科技大学信息工程学院制

方 向 设 计 任 务 书

学生班级: 通信1003班 学生姓名:学号:

设计名称:基于android的日记本开发 起止日期: 11.28——12.12指导教师:

方 向 设 计 学 生 日 志

2

基于android的日记本开发

一、 摘要(150-250字)

伴随着无线移动设备的迅速发展,手机的日益普及成为主流,在这一关键时期,Android系统的推出使手机发展进入了一个新的领域。世界上一些知名移动设备生产厂商对于Android智能机的开发热情日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化使人们从手机中获得更多乐趣,方便着人们的生活,使Android得到了社会越来越多的认同。本次设计主要描述了基于android开发一个简易日记本的技术方法。

关键字:Android; DbAdapter;Activity;diary 二、 设计目的和意义

在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了高校师生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的时间,高校课程种类繁多,并且上课地点和时间不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,很多同学不得不随身携带一张课表来防止遗忘上课,但是还是不能完全避免该问题的发生,同时,作为一个当今高速发展的时代的成员,适应这个社会是必不能少的,在各种社交场合中,记住一些必须的信息很重要,而它们往往又繁琐又多,不易人为记住。基于这些问题,有必要设计一款方便小巧的简易日记本程序,可以让用户自定义文件,记住上课时间和地点,从而避免遗忘上课的事情出现,同时记住那些琐碎却有意义的小信息。而且,由于android系统市场的开放性和服务免费,它的应用程序方面就成了一块非常大的市场,。 三、 设计原理

用户在第一次进入程序时会看到到一个日记本的主界面,可进行日记文件的新建和删除操作,按menu键可以选择“帮助”和“退出”,程序主界面使用course_activity.java展示记录,从Diary_activity, DiaryEditActivity类中可以新建和删除日记信息,并在主界面中显示。程序的配置信息主要存在DbAdapter中,该信息在数据显示时读取必要的配置信息,在按钮监听函数中监听系统时间变化用来实现日记的创建功能。BaseColumns 是一个接口,里边有两个变量,一个是_ID="_id",一个是_COUNT="_ count" 。在Android当中,每一个数据库表至少有一个字段,而且这个字段是_id。所以当我们构造列名的辅助类时,直接实现BaseColumns ,这样我们便默认地拥有了_id字段。在我们的日记本的数据表里,一共有4个字段,分别是:"id"、"title"、"body"、"created"。在Android中鼓励使用内部类,这样不但使用方便,而且执行效率也高是请求数据的类型,例如,在例子当中定义的类型是diary。当然这一部分可以是0个片段或者多个片段构成,如果Content Provider只是暴露出了一种类型的数据,那么这部分可以为空,但是如果暴露出了多种,尤其是包含子类的时候,就不能为空,"1"这部分是允许为空的,如果为空,表示请求全部数据;如果不为空,表示请求特定ID的数据。DatabaseHelper是操作数据库的辅助类,通过这个类我们可以生成数据库,并且维护这个数据库。 在DiaryContentProvider中,我们定义了一些变量和常量,其中这些常量主要是描述数据库的信息。在删除方法中,rowId = uri.getPathSegments().get(1)负责得到rowId的值。 getPathSegments()方法得到一个string的list, db.delete(DIARY_TABLE_NAME, DiaryColumns._ID + "=" + rowId, null)是标准的SQLite删除操作。update()是更新一条数据的方法, 使用ContentProvider时首先得到SQLiteDatabase,然后得到rowId,最后再调用db.update(DIARY_ TABLE_NAME, values, DiaryColumns._ID + "="+ rowId, null)语句执行更新工作。

3

其主要流程图如下:

功能模块:

四、 详细设计步骤

简易日记本应该具有日记本的基本功能,比如新建,编辑,删除,保存等,从这几方面初步想到应该有一个主类负责调用其他负责实现功能的类,这样整个程序会比较清晰,通过流程分析和可行性分析之后我开始查阅资料编写程序,本程序主要由六个类组成,它们分别为Dbadapter,help-activity,lookDiary,MainActivity,diary-activity和DiaryEditActivity ,

1.其中MainActivity类为整个应用的主Activity,其主要方法如下:

? onCreate:Activity主要重写方法之一,实现程序初始化和界面展示; ? find_and_modify_button:寻找并点击按钮; ? onClick(View v):点击当前所选按钮;

? onCreateOptionMenu:实现Option菜单的创建;

? onOptionsItemSelected:实现菜单项的点击事件响应;

界面设计方面通过RelativeLayout实现布局,使用了TextView,ImageButton文件列表通

4

过ListView实现界面展示。该类通过继承ListActivity类,用来显示ListView中的数据并实现对ListView上ImageView控件点击的统一响应。 其主要代码:public class MainActivity extends Activity

{//菜单选项

public static final int HELP = Menu.FIRST; public static final int EXIT = Menu.FIRST + 1; /** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setTitle("小小日记本");find_and_modify_button();

Toast.makeText(MainActivity.this,

"欢迎使用简易日记本", Toast.LENGTH_SHORT).show(); } private void find_and_modify_button() {// TODO Auto-generated method stubButton btn_diary = (Button) findViewById(R.id.btn_diary);btn_diary.setOnClickListener(diary_listener); } private Button.OnClickListener diary_listener = new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, diary_activity.class)(转 载 于:wWW.zw2.Cn 爱作文网); startActivity(intent);} } /** menu.findItem(EXIT_ID);找到特定的MenuItem* MenuItem.setIcon.可以设置menu按钮的背景*/ public boolean onCreateOptionsMenu(Menu menu) {super.onCreateOptionsMenu(menu);menu.add(0, HELP, 0, "帮助").setIcon(R.drawable.helps);menu.add(0, EXIT, 0, "退出").setIcon(R.drawable.exit);return true; } public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case HELP:Intent help_intent = new Intent(); help_intent.setClass(MainActivity.this, help_activity.class); startActivity(help_intent);break;case EXIT:

5

篇三:android日记本论文

嵌入式软件方向综合设计 ——基于android的日记本程序设计

一、实验任务

利用ListView显示数据库中的日记信息,通过对ListView的操作,实现对日记数据的增、删、改、查操作。并且在程序运行一分钟的时间是,弹出service提醒服务。

二、实验仪器

Eclipse2.2

三、实验内容

(1) 总体设计

在日记本中添加数据库部分,使日记本的记录信息能够在数据库中存储,从而 实现日记信息的插入、删除的可保存。并在日记本程序中添加service服务,在程序运行一分钟时间后,出现提示信息。

(2) 设计思路

a. 软件布局设计的思路

第一, 程序首界面就是显示界面,显示日记列表,如果有日记记录,显示记录名称和记录时间;如果没有记录,显示“按下menu键进行添加”的提示信息;

第二, 日记记录添加界面,该界面中要有添加日记的主题和内容,并且点击确定按钮后,能够将信息完成存储并返回列表界面;

第三, 当日记记录超过一面时,要有一个界面滚动形式,来显示超过当前页面的信息。

b. 日记本数据库设计的思路

该程序采用代码建库的方式进行建立日记本的数据库。在程序运行过程中,当需要进行数据库操作时,应用程序会首先尝试打开数据库,此时如果数据库并不存在,程序则会自动建立数据库,然后再打开数据库。在编程实现时,一般将所有对数据库的操作都封装在一个类中,因此只要调用这个类,就可以完成对数据库的添加、更新、删除和查询等操作。 其中使用到的类有:

DB Adapter类:该类封装了数据库的建立、打开和关闭等操作。该类声明了数据库的基本信息,包括数据库文件的名称、数据库表格名称和数据库版本,以及数据库表中的属性名称。

private static final String DATABASE_NAME = "database";//数据库文件名称

private static final String DATABASE_TABLE = "diary";//数据库表格名称

private static final int DATABASE_VERSION = 1;//数据库版本 public static final String KEY_TITLE = "title"; public static final String KEY_BODY = "body"; public static final String KEY_ROWID = "_id";

public static final String KEY_CREATED = "created";//数据库表中的属性名称。

SQLiteDatabase类:该类用以建立、删除数据库,执行SQL命令,对数据进行管理等工作。

SQLiteOpenHelper类:该类为一个很重要的帮助类,这个帮助类可以辅助建立、更新和打开数据库。

public void onCreate(SQLiteDatabasedb) {

db.execSQL(DATABASE_CREATE);

}//辅助建立数据库

public void onUpgrade(SQLiteDatabasedb, intoldVersion, intnewVersion) {

db.execSQL("DROP TABLE IF EXISTS diary");

onCreate(db);

}//辅助更新数据库

DBOpenHelper类:该类为内部静态类,继承了帮助SQLiteOpenHelper。 Cursor类:在Android系统中,数据库查询结果的返回值并不是数据集合的完整拷贝,而是返回数据集的指针,这个指针就是Cursor类。

public Cursor getAllNotes() {

returnmDb.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE,KEY_BODY, KEY_CREATED }, null, null, null, null, null); }//获得所有标记;

public Cursor getDiary(long rowId) throws SQLException {Cursor mCursor =

mDb.query(true, DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE,

KEY_BODY, KEY_CREATED }, KEY_ROWID + "=" + rowId, null, null,

null, null, null);

if (mCursor != null) {

mCursor.moveToFirst();

}

returnmCursor;

}//获得日记记录;

c. Service服务设计思路

该服务程序会在主程序运行一分钟的时候会出现,定义TimeService类,它继承Service类,在onStart()方法中,使用Time类完成延迟的操作,在一个新线程中创建消息,并在60秒后运行。

public void onStart(Intent intent, intstartId) {

super.onStart(intent, startId);

timer.schedule(new TimerTask() {

@Override

public void run() {

String ns = Context.NOTIFICATION_SERVICE; NotificationManager manager = (NotificationManager)

getSystemService(ns);// 获得通知管理器

Notification notification = new

Notification(R.drawable.warning, getText(R.string.ticker_text), System.currentTimeMillis());// 创建通知

CharSequencecontentTitle = getText(R.string.content_title);// 定义通知的标题

CharSequencecontentText = getText(R.string.content_text);// 定义通知的内容

Intent intent = new Intent(TimerServer.this, DiaryBookDemo.class);// 创建Intent对象

PendingIntentcontentIntent =

PendingIntent.getActivity(TimerServer.this, 0, intent,

Intent.FLAG_ACTIVITY_NEW_TASK);// 创建PendingIntent对象

notification.setLatestEventInfo(TimerServer.this,

contentTitle, contentText, contentIntent);// 定义通知行为

manager.notify(0, notification);// 显示通知

TimerServer.this.stopSelf();// 停止服务

}

}, 60000);

}

d. 主程序设计思路

1. 建立一个DiaryBookDemo的类,该类继承listactivity,完成列表界

面的功能,即当界面中无记录时,显示提示信息“按menu键进行插入”,按下menu键,显示两个菜单项:插入和删除。当界面中有日记记录时,显示相应的记录信息。点击相应的记录能够进入编辑界面进行相应的修改。

2. 当进行记录插入和修改时,会在DiaryBookDemo这个类下引用

ActivityDiaryEdit类,该类就是在编辑界面,进行日记记录的编辑,将记录更新到数据库里。

e. 类和服务的注册及服务显示的信息

1. 主程序DiaryBookDemo这个类中要引用到ActivityDiaryEdit这个类,

所以要在注册表中注册ActivityDiaryEdit信息:

2. 整个程序中用到了一个Service服务,所以也要将该服务进行注册:

四、实验结果截图

(1)

程序启动,无记录时提示按下menu写日记信息

(2)

按下menu键,出现插入和删除菜单项

(3)

插入时,日记记录的编辑界面

(4)

插入几条记录后,日记列表界面的信息

体裁作文