基于android平台“每日一句”应用的设计与实现 - 图文

更新时间:2024-06-12 00:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

毕业设计

(本 科 生)

论文题目(中文)基于android平台“每日一句”应用的设计与实现

论文题目(外文) Design and implementation of Android platform for the \

诚信责任书

本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所取得的成果。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或在网上发表的论文。

本声明的法律责任由本人承担。

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

论文作者签名: 日 期:

关于毕业论文(设计)使用授权的声明

本人在导师指导下所完成的论文及相关的职务作品,知识产权归属兰州大学。本人完全了解兰州大学有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权兰州大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。本人离校后发表、使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为兰州大学。 本毕业论文研究内容: □可以公开

□不宜公开,已在学位办公室办理保密申请,解密后适用本授权书。 (请在以上选项内选择其中一项打“√”)

论文作者签名: 导师签名: 日 期: 日 期:

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

基于android平台“每日一句”应用的设计与实现

中文摘要

随着科学技术和经济的快速发展,现代人们的生活节奏越来越快,生活压力也越来大,面对着压力与机遇并存的年代里,对一个人的能力提出了更高的要求。在这样一个物质富裕而精神世界相对贫瘠的年代,名人名言———人类思想的精华犹如人生的灯塔,于是本地数据库内置了名人名言的“每日一句”Android软件将成为人们面对压力,困惑的好帮手。“每日一句”Android软件是单机版软件,软件无需网络即可每天为用户推送一天名人名言到桌面插件。

通过“每日一句”软件,用户可以每天在桌面插件看到一条名人名言,同时用户也可以自己添加要显示在桌面上的名人名言,对本地数据库进行相关操作。

关键词:android平台;“每日一句”软件;名人名言;

I

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

DESIGN AND IMPLEMENTATION OF ANDROID PLATFORM FOR THE \

THE APPLICATION

Abstract

With the rapid development of science and technology and economy, modern

people increasingly fast pace of life, life pressure is big, facing the pressure and opportunities of the times, put forward higher requirements on a person's compressive strength. In such a material prosperity and spiritual world of relatively barren years, famous quotes ———the essence of human thoughts is like lighthouse, so the local database built the famous quotes \face of pressure, confusion of a good helper. The \is a stand-alone software, software without the need for the user to push the network to every day famous quotes to the desktop plug-in.

Through the \quotes on the desktop plug-in, while users can also add their own to be displayed on the desktop famous quotes related operations, to the local database.

Key words: Android platform; The \word of the day \ Famous quotes ;

II

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

目录

中文摘要 ..................................................................................................................................... I Abstract ...................................................................................................................................... II 第一章 引 言........................................................................................................................... 1 第二章 需求分析与概要设计 ........................................................................................ 2

2.1需求分析 ........................................................................................................................ 2

2.1.1客户端需求分析 .............................................................................................. 2 2.1.2开发环境及工具需求分析 ............................................................................ 2 2.2.1开发流程 ............................................................................................................ 3 2.2.2系统数据流图 ................................................................................................... 3

第三章 Android开发技术基础简介 ......................................................................... 4

3.1Android简介 .................................................................................................................. 4

3.2.1应用程序(APPLICATIONS) ............................................................................ 5 3.2.2应用程序框架(APPLICATION FRAMEWORK)............................................... 5 3.2.3 Android 运行时(RUNTIME) ......................................................................... 5 3.2.4系统库(LIBRARIES) ....................................................................................... 5 3.2.5 Linux .................................................................................................................. 6 3.2.6S QLite简介 ..................................................................................................... 6

第四章 客户端详细设计 ................................................................................................... 7

4.1客户端描述 .................................................................................................................... 7 4.2客户端数据库的实现 .................................................................................................. 7

4.2.1数据库设计 ....................................................................................................... 7 4.2.2客户端数据库操作 .......................................................................................... 8 4.3客户端功能模块实现 ................................................................................................ 10

4.3.1添加语句 .......................................................................................................... 10 4.3.2桌面插件 .......................................................................................................... 11 4.3.3语句查询 .......................................................................................................... 12

第五章 结论 ........................................................................................................................... 13 致谢 .............................................................................................................................................. 14 参 考 文 献 ........................................................................................................................... 15

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

附录A 数据库更新代码 .................................................................................................. 16 附录B 添加内容代码 ....................................................................................................... 27 附录C 桌面插件相关代码 ............................................................................................. 35

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

第一章 引 言

随着计算机科学技术的发展,智能移动终端在人们的日常生活学习中扮演着越来越重要的角色。现代人类生活节奏越来越快,人们面临着各样的压力,面对着随时而来的挫折,而名人名言———人类智慧的结晶,对于人们树立正确的人生观、积极正确对待挫折、培养正确的生活态度有很好的促进作用。以此设计题目为目的,选择Android平台作为实践对象,再利用所学软件开发的相关知识,使用安装了Android Developer Tools插件的eclipse开发工具,开发一个“每日一句”的Android软件,将其开发成一个能够服务大众的软件。

而且现今的大部分名人名言都是存在于书本或者网页上,这对于发挥名人名言的功能还是有很大的局限性,名人名言应该能被我们容易看到才能更好发挥出其对于生活的引导作用。那么如何才能让名人名言被我们轻易地看见,显得更加重要。于是开发这个基于Android平台的软件,可在Android设备桌面上创建桌面插件,桌面插件每天自动显示一条名人名言,更好的发挥了名人名言的作用,本次毕业设计Android平台开发一个“每日一句”软件服务于大众。

1

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

第二章 需求分析与概要设计

2.1需求分析

每日一句Android软件最基本的功能就是能够每天为用户推送一条名人名言,在整个运行过程中,用户只需要进行安装然后在桌面添加插件,所有的功能都是在本地客户端完成,无需联网运行。在此对每日一句Android软件的客户端和开发环境及工具进行需求分析。 2.1.1客户端需求分析

客户端主要是搭载了Android平台的移动终端,用户可以通过终端对本地数据库进行添加、修改、删除等操作。该软件满足若干要求,比如后台占用资源少,每天更新桌面插件数据等,通过仔细分析了用户需求之后,改软件要完成以下功能:对本地数据库的操作、通过操作可以对本地数据进行修改、增加和删除等操作。对本地数据库的查询功能:通过对模糊查询,可以查找出用户寻找的名人名言。能够具有桌面插件功能、能够在桌面添加插件,插件每天自动更新名人名言。 客户端功能模块划分如图2.1所示:

客户端 添加桌面插件 数据库操作 增加数据 修改数据

删除数据 图2.1 客户端功能模块划分图

2.1.2开发环境及工具需求分析

在windows操作系统下进行开发,使用Android平台自带的SQLite作为数据源。Java语言和Xml语言作为开发工具,带有ADT(Android Developer Tools,

2

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

安卓开发工具)的Eclipse作为辅助开发工具。整个Android手机操作系统是在Android SDK提供的虚拟机中运行,该虚拟机运行在windows7操作系统上,所以客户端的开发是在windows7操作系统上运行的Android操作系统中进行的二次开发。

开发环境配置请参考文献[4]。

2.2概要设计

2.2.1开发流程

开发流程如图2.2所示:

调查研究 确定功能 编写程序

调试程序 运行测试 优化完善 图2.2 开发流程图

2.2.2系统数据流图

系统数据流程图如图2.3所示:

开始 更新数据 读取数据 用户操作 创建桌面插件 增加数据 3 删除数据 修改数据 兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

图2.3 系统数据流程图

第三章 Android开发技术基础简介

3.1Android简介

Android本义指“机器人”,Google公司于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,官方中文名:安卓 。Android是Google公司于2007年11月05日宣布的基于Linux平台的开源移动操作系统的名称,从软件分层的角度来看,Android平台由应用程序,应用程序框架,Android运行时,库以及Linux内核共5部分构成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。凭借着平台的开放性、丰富的硬件、可以方便地开发、可以方便地结合谷歌应用等这些优势,2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%

3.2 Android的系统架构简介[4]

从软件分层的角度来看,Android平台由应用程序,应用程序框架,Android运行时,库以及Linux内核共5部分构成。如图3.1所示。

3.1 整体结构图

4

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

3.2.1应用程序(APPLICATIONS)

Android平台默认包含了一系列核心应用程序,包括电子邮件、短信、日历、地图、浏览器、联系人管理程序等,这些程序都以java 程序语言编写,你也可以用自己便携的应用程序来替换Android提供的应用程序,这个替换的机制实际是由应用程序框架来保证的。如图3.2所示。

图3.2 应用层

3.2.2应用程序框架(APPLICATION FRAMEWORK)

应用程序框架是我们进行Android开发的基础应用程序框架层包含了视图系统,内容提供器,窗口管理器,活动管理器,通知管理器,位置管理器,资源管理器,电话管理器和包管理器9大部分。如图3.3所示。

图3.3 中间件层

3.2.3Android 运行时(RUNTIME)

Android 虽然采取Java程序语言来编写应用程序,但不使用J2ME执行Java程序,而是用Android自有的Android运行时(RunTime).Android 运行时包括核心库和Dalvik虚拟机两部分。如图3.4所示。

图3.4 核心库,虚拟机

3.2.4系统库(LIBRARIES)

应用程序框架是贴近于应用程序的软件组件服务,而更底层则是Android的函数库,这一部分是应用程序框架的支撑,其架构如图3.5所示。

5

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

图3.5系统库

3.2.5 Linux

Android平台是开放,采用Linux内核则是Android平台开放性的基础。Android平台中的操作系统采用了Linux2.6版的内核,它包括了显示驱动、摄像头驱动、Flash内存驱动、Binder(IPC)驱动、键盘驱动、wifi驱动、Audio驱动以及电源管理部分。

Linux内核层为我们在软件层和硬件层建立了一个抽象层,使得应用程序开发人员无需关心硬件细节。对于手机的开发商而言,如果想要Android平台运行到自己的硬件平台上就必须通过对Linux层进行修改,通常要做的工作就是为自己的硬件便携驱动程序。 3.2.6SQLite简介

Android数据库使用的是SQLiteDatabase。

SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。

6

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

第四章 客户端详细设计

4.1客户端描述

“每日一句”客户端的功能是对数据库里面的数据进行相关的操作,创建桌面插件等功能,所以以下主要介绍客户端数据库的设计和客户端相关界面的设计。

4.2客户端数据库的实现

该软件数据库的建立是完全在Android平台上执行Java代码,通过DVM编译来建立的,没有什么辅助工具,由于整个SQLite数据库是非可视化操作,所有对数据库的操作都是通过执行Java代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过程很抽象。所以表的设计应尽量简单,不要有错综复杂的关系,因为每张表都是独立的,不存在任何约束,所以数据库也是独立数据库,不采用Android特有的可共享数据库。

4.2.1数据库设计

客户端数据库E-R关系图如3.1所示:

图3.1 客户端数据库E-R关系图

7

ID 名人名言的注名人名言 添加的时间 兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

根据上面的E-R图,本软件客户端定义的note数据库中包含以下1张表:内容表:note,本软件客户端数据库表的描述如表3.6:

表3.6本软件客户端数据库表的描述

字段名 noteId noteName noteTime noteContent

category

数据类型 Integer varchar varchar varchar Integer

长度

主键/外键

默认值

描述 ID,自动赋值

名人名言 修改,添加时间 注释 标识状态符

Pk

20 20 400

1

4.2.2客户端数据库操作

SqliteDBConnect类是创建数据库的类,onCreate()方法是创建note表的方法,SQLManage类是数据库的管理类,Insert()方法是添加数据的方法,saveNote()是修改数据的方法,returnTime()是获取系统当前时间的方法,blruSearch()是模糊查询的方法。

SqliteDBConnect类代码如下:

public class SqliteDBConnect extends SQLiteOpenHelper { public SqliteDBConnect(Context context) { super(context, \ }

@Override

public void onCreate(SQLiteDatabase db) { db.execSQL(\table note(noteId Integer primary key,noteName varchar(20),noteTime varchar(20),noteContent varchar(400),category Integer)\

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }

SQLManage类实现了对数据库进行插入、查询、更新和获取系统当前时间等功能。具体的代码如下:

8

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

public class SQLManage extends Activity{

/*

* 数据管理类 * */

//执行插入数据的操作

public void Insert(SQLiteDatabase sqlDB,String name,String content,String time,int category)

{ ContentValues cv=new ContentValues(); cv.put(\ cv.put(\ cv.put(\ cv.put(\ sqlDB.insert(\ sqlDB.close(); }

//执行数据修改更新的操作

public void saveNote(SQLiteDatabase sdb,String name,String content,String noteId,String time,int category){

ContentValues cv=new ContentValues(); cv.put(\ cv.put(\ cv.put(\ cv.put(\ sdb.update(\ sdb.close(); }

//返回当前系统时间

public String returnTime(){ TimeZone.setDefault(TimeZone.getTimeZone(\修改默认时区

Date d=new Date(System.currentTimeMillis()); SimpleDateFormat sdf=new SimpleDateFormat(\HH:mm:ss\

String time=sdf.format(d); return time; }

9

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

//模糊查询

public void blruSearch(SQLiteDatabase db,String keyStr) { String sql = \ Cursor cursor = db.rawQuery(sql, null); while(cursor.moveToNext()) { } }

4.3客户端功能模块实现

4.3.1添加语句

用户打开每日一句软件界面,可以使用查看、修改、增加、删除名人名言等功能。查看、修改、增加、删除如图4.6所示。

图a 查看 图b 修改

10

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

图c 增加 图d 删除

图4.6

查看、修改、查询、增加、删除名人名言等功能代码详见附录B

4.3.2桌面插件

用户安装了桌面插件以后,可以在桌面创建桌面插件,如图4.7

图4.7 桌面插件

桌面插件的更新等功能代码详见附录c

11

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

4.3.3语句查询

用户打开每日一句软件界面,可以使用查询现有的名人名言功能。查询如图4.8所示。

图4.8 语句查询

12

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

第五章 结论

通过测试,目前该软件可以在华为、酷派、vivo、小米、三星等搭载了Android平台的手机上运行。测试使用的手机型号有酷派大神f2、vivo x3t、红米1、红米note、小米3等机型。

此次开发,完成了每日一句Android软件的的需求分析,模块设计,数据库设计,搜集并整理了5000条名人名言。通过这次的软件开发,我学习了最新的Android平台开发技术,将所学的JAVA程序设计语言用于实际的软件开发中,认识到了自己的不足,。实现了每日一句Android软件预期功能。

13

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

致谢

在课题即将完成之际,首先要感谢我的指导老师胡晓玲老师,本课题在选题和研究的过程中得到了胡晓玲老师悉心的指导,胡晓玲老师给我研究方向和毕业设计要实现的功能等方面给予我很多的指导,并指出了设计存在的问题,给予了很多有用的建议。

其次要感谢给我教授了《JAVA程序设计》这门面向对象的程序设计语言的曾述宾老师,曾述宾老师让我领略到了什么是面向对象的思想,那是真正的逻辑之美。

最后感谢那些给我帮助和建议的老师和同学们,在我的设计遇到困难,我的思路卡壳的时候给予我建议,给予我灵感,谢谢你们。

再次衷心感谢那些帮助过我的老师和同学们,谢谢你们。

14

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

参 考 文 献

【1】张孝祥.Java就业培训教程[M].北京:清华大学出版社.2009:76-243.

【2】刘彬彬,马文强.Eclipse应用开发完全手册[M].北京:人民邮电出版社.2005: 204-386. 【3】韩超,梁泉著.Android系统原理及开发要点详解[M].北京:电子工业出版社.2010.1: 317-363 389-512.

【4】杨丰盛.Android应用开发解密[M].北京:机械工业出版社.2010.1: 44-109 156-187.

15

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

附录A 数据库更新代码

package com.note.dao;

import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; import android.app.Activity;

import android.content.ContentValues; import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase; public class SQLManage extends Activity{ /*

* 数据管理类 * */

//执行插入数据的操作

public void Insert(SQLiteDatabase sqlDB,String name,String content,String { }

//执行数据修改更新的操作

public void saveNote(SQLiteDatabase sdb,String name,String content,String

ContentValues cv=new ContentValues(); cv.put(\cv.put(\cv.put(\

16

time,int category)

ContentValues cv=new ContentValues(); cv.put(\cv.put(\cv.put(\cv.put(\sqlDB.insert(\sqlDB.close();

noteId,String time,int category){

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

认时区

}

}

cv.put(\

sdb.update(\sdb.close();

//返回当前系统时间 public String returnTime(){ }

//模糊查询

public void blruSearch(SQLiteDatabase db,String keyStr) { }

String sql = \Cursor cursor = db.rawQuery(sql, null); while(cursor.moveToNext()) { }

TimeZone.setDefault(TimeZone.getTimeZone(\修改默Date d=new Date(System.currentTimeMillis()); SimpleDateFormat

sdf=new

SimpleDateFormat(\

HH:mm:ss\

String time=sdf.format(d); return time;

package com.note.dao;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;

public class SqliteDBConnect extends SQLiteOpenHelper {

public SqliteDBConnect(Context context) {

super(context, \

17

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

} @Override

public void onCreate(SQLiteDatabase db) { } @Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }

db.execSQL(\table note(noteId Integer primary key,noteName

varchar(20),noteTime varchar(20),noteContent varchar(400),category Integer)\

package com.note;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.Intent;

import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Resources; import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent;

18

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; import com.note.dao.SQLManage; import com.note.dao.SqliteDBConnect; public class ShowTextList extends Activity {

SQLManage sqlManage; SQLiteDatabase sqlDB;

private static final String TAG = \private ListView listview; int count = 0;

final String INITIALIZED = \private EditText txtBlur = null;

private Button btnAddNewText,btnAllNote,btnSearch,btnReturn; private SimpleAdapter adapter; private ActivityManager manage; private SQLiteDatabase db; private SqliteDBConnect connect; int category = 1; TextView image; String name,content,time;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.text_list);

SharedPreferences myPrefs = getPreferences(MODE_PRIVATE); Toast.makeText(ShowTextList.this, \您进入了每日一句列表\

19

Toast.LENGTH_SHORT).show();

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

connect = new SqliteDBConnect(getApplicationContext()); db = connect.getReadableDatabase(); sqlManage = new SQLManage(); manage = ActivityManager.getInstance(); manage.addActivity(this);

ButtonClick click = new ButtonClick();

btnAddNewText = (Button)this.findViewById(R.id.btnAddNewText1); btnSearch = (Button)this.findViewById(R.id.btnSearch1); btnAllNote = (Button)this.findViewById(R.id.btnAll1); btnReturn = (Button)this.findViewById(R.id.btnReturn1); btnSearch.setOnClickListener(click); btnAllNote.setOnClickListener(click); btnAddNewText.setOnClickListener(click); btnReturn.setOnClickListener(click); //关键字查询搜索的文本输入框

txtBlur = (EditText)this.findViewById(R.id.search_Content1); listview = (ListView) findViewById(R.id.listview1); connect = new SqliteDBConnect(ShowTextList.this); readFile();

disPlay();//从数据库提取数据并显示

listview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView arg0, View arg1, int arg2, }

20

long arg3) {

Object>

map

=

(Map

Object>)

@SuppressWarnings(\Map

arg0.getItemAtPosition(arg2);

Intent intent = new Intent();

intent.putExtra(\intent.putExtra(\

intent.setClass(ShowTextList.this, DisPlay.class);

overridePendingTransition(R.anim.left_in, R.anim.left_out); startActivity(intent); finish();

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

});

listview.setOnItemLongClickListener(new OnItemLongClickListener() {

public boolean onItemLongClick(AdapterView arg0, View arg1,

int arg2, long arg3) { @SuppressWarnings(\

final Map map = (Map) arg0

.getItemAtPosition(arg2);

AlertDialog.Builder adb = new Builder(ShowTextList.this); adb.setTitle(map.get(\adb.setItems(new String[] { \删 除\修 改\

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int which) { switch (which) { case 0:

SQLiteDatabase

sdb

=

connect.getReadableDatabase();

sdb.delete(\Toast.makeText(ShowTextList.this, \删除sdb.close(); disPlay(); break;

Intent intent = new Intent(); intent.putExtra(\

intent.putExtra(\intent.setClass(ShowTextList.this, overridePendingTransition(R.anim.left_in,

21

{ map.get(\成功\

case 1:

map.get(\

DisPlay.class); R.anim.left_out);

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

});

}

});

}

}

startActivity(intent); finish(); break;

adb.show(); return false;

public void readFile(){

SharedPreferences myPrefs = getPreferences(MODE_PRIVATE); boolean hasPreferences = myPrefs.getBoolean(INITIALIZED, false); if(hasPreferences) { } else{

Resources myResources=getResources(); InputStream

Scanner scanner = new Scanner(myFile); while(scanner.hasNextLine()){

String line = scanner.nextLine(); String[]data1=line.split(\int x=data1.length; SqliteDBConnect

sd

=

new

myFile=myResources.openRawResource(R.raw.resource);//cet4为一个TXT文件

SqliteDBConnect(ShowTextList.this);

sqlDB = sd.getReadableDatabase(); name = data1[1].trim(); content = data1[3].trim();

time = \

name,

content,

category=1;

sqlManage.Insert(sqlDB,

22

time,category);

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

SQLiteDatabase sdb = connect.getReadableDatabase(); count = 0;

Cursor c1 = sdb.query(\}, null, null, null, null, \while (c1.moveToNext()) { } c1.close();

Cursor c = sdb.query(\\

null, null, \

List> list = new ArrayList

Map map = new HashMap(); String strName = c.getString(c.getColumnIndex(\//后期再修改成超过一行就加入\if (strName.length() > 15) {

map.put(\?\

23

Editor editor = myPrefs.edit(); editor.putBoolean(INITIALIZED, true); editor.commit();

}

public void disPlay() {

int noteid = c1.getInt(c1.getColumnIndex(\if (noteid > count)

count = noteid;

Object>>();

} else {

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

}

}

map.put(\

map.put(\list.add(map);

c.close(); sdb.close(); if (count > 0) { }

adapter

=

new

SimpleAdapter(ShowTextList.this,

list,

R.layout.text_item,

new String[] {\

R.id.noteName });

listview.setAdapter(adapter);

class ButtonClick implements View.OnClickListener {

private static final String TAG = \public void onClick(View v) {

if(v.getId()==R.id.btnAddNewText1) { }

//搜索按钮的事件处理

24

Intent intent = new Intent();

intent.setClass(ShowTextList.this, AddNewText.class); overridePendingTransition(R.anim.left_in, R.anim.left_out); startActivity(intent); finish();

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

else if(v.getId() == R.id.btnSearch1) { }

else if(v.getId() == R.id.btnAll1) { }

else if(v.getId() == R.id.btnReturn1) {

Intent

intent

=

25

String keyStr = txtBlur.getText().toString().trim(); //模糊查询的语句

String sql = \* from note where noteName like Cursor cursor = db.rawQuery(sql, null); List

Object>>

list

=

new

'%\

ArrayList>();

while(cursor.moveToNext()) { } adapter

=

new

SimpleAdapter(ShowTextList.this,

list,

HashMap map = new HashMap

name

=

Object>();

cursor.getString(cursor.getColumnIndex(\

map.put(\list.add(map);

R.layout.text_item,

new String[] { \

R.id.noteName });

listview.setAdapter(adapter); txtBlur.setText(\

disPlay(); txtBlur.setText(\

new Intent(ShowTextList.this,

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

MainUIActivity.class);

}

public boolean onKeyDown(int keyCode, KeyEvent event) { } }

if(keyCode == KeyEvent.KEYCODE_BACK) { }

return super.onKeyDown(keyCode, event);

Intent intent = new Intent(ShowTextList.this, MainUIActivity.class); overridePendingTransition(R.anim.left_in, R.anim.left_out); startActivity(intent); finish(); }

}

overridePendingTransition(R.anim.left_in, R.anim.left_out); startActivity(intent); finish();

26

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

附录B 添加内容代码

package com.note;

import java.sql.Date;

import java.text.SimpleDateFormat; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.Intent;

import android.database.sqlite.SQLiteDatabase; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View;

import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;

import com.note.R;

import com.note.dao.SQLManage; import com.note.dao.SqliteDBConnect;

public class AddNewText extends Activity implements OnClickListener { /*

27

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

* 添加新的内容的页面 */

private static final String TAG = \Button btnSave,btnClean,btnReturn;

EditText txtName,txtContent; //名字、内容的输入框

String name,content,time; int category = 1;

SimpleDateFormat format; Date date;

SQLiteDatabase sqlDB; ActivityManager manager; SQLManage sqlManage;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.add_new_text);

manager = ActivityManager.getInstance(); manager.addActivity(this);

sqlManage = new SQLManage();

btnSave = (Button)this.findViewById(R.id.btnSave); btnReturn = (Button)this.findViewById(R.id.btnReturn); btnClean = (Button)this.findViewById(R.id.btnClean);

btnSave.setOnClickListener(this); btnReturn.setOnClickListener(this); //btnExit.setOnClickListener(this);

28

兰州大学本科生毕业论文 基于android平台“每日一句”应用的设计与实现

}

btnClean.setOnClickListener(this);

txtName = (EditText)this.findViewById(R.id.note_name); txtContent = (EditText)this.findViewById(R.id.note_content);

SqliteDBConnect sd = new SqliteDBConnect(AddNewText.this); sqlDB = sd.getReadableDatabase();

public void onClick(View v) {

name = txtName.getText().toString().trim(); content = txtContent.getText().toString().trim(); time = sqlManage.returnTime(); category = 1;

if(v.getId()==R.id.btnSave) { }

//清空按钮事件

else if(v.getId()==R.id.btnClean) {

txtName.setText(\

29

if(name.equals(\{ } else { }

save();

Toast.makeText(AddNewText.this, \内容不允许为空\

Toast.LENGTH_SHORT).show();

本文来源:https://www.bwwdw.com/article/2np6.html

Top