基于-android平台记事本的设计与实现毕业设计.doc
《基于-android平台记事本的设计与实现毕业设计.doc》由会员分享,可在线阅读,更多相关《基于-android平台记事本的设计与实现毕业设计.doc(34页珍藏版)》请在咨信网上搜索。
毕业设计(论文) 题目:基于Android平台记事本的设计与实现 姓 名: 学 号: 系 (院):信息工程系 班 级: 指导教师: 职 称: 讲师 二O一四 年 五 月 二十 日 淄博职业学院信息工程系毕业设计 目 录 第一章 引言 3 1.1研究目的及意义 3 1.2 国内外研究现状分析 3 1.3 发展趋势 4 1.4 可行性分析 5 1.5 基本内容 6 第二章 开发环境的安装和配置 7 2.1开发包及其工具的介绍 7 2.2 Android开发平台搭建步骤: 8 2.3硬件环境 9 2.4软件环境 9 2.5 系统架构 9 2.6 工程主体架构 11 第三章 系统的设计 13 3.1功能需求 13 3.1.1用户触发事件 13 3.1.2记事本基本需求控制 13 3.2系能需求 14 3.2.1响应时间 14 3.2.2稳定性 14 3.2.3安全性 14 第四章 程序的设计 15 4.1 记事本组件的设计 15 4.2 记事本逻辑设计 15 4.3记事本存储实现 15 4.3.1数据存储之sharedPreferences 16 4.3.2数据存储之files 16 4.3.3数据存储之network 18 4.3.4数据存储之SQLite 19 4.3.5 数据存储之ContentProviders 22 第五章 程序的开发 22 5.1主activity的设计 22 5.2编辑内容 23 5.3删除记事 25 第六章 系统的测试 25 6.1 添加新记事 25 6.2 查看记事 29 6.3 删除/修改/删除记事 30 第七章 总结 31 参考文献 32 致 谢 33 第一章 引言 1.1研究目的及意义 这次课题的目的是在Android系统的手机开发平台之上,研究与开发一个记事本软件,提供适用手机的记事本功能服务。 首先,记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。随着用户需求的增加,可能希望用图形来代替文本来记事,用户之间打开记事本,看到图片就能联系自己所记载的事务信息。这样免去了输入文字的麻烦,反而会更简单。又或者是文本与图片的交叉运用,可以让用户自己选择自己喜欢的记事方式,更加自由与便捷。所以此功能的意义是让简单的记事信息能以文本和图形表达,更加丰富多彩。 其次,在支持传统的文字记事方式下,还要支持语音记事。因为用户需要追求更加简单的记事方式,不需要手动输入文字,而是直接语音记事。语音直接保存,有利于下次用户直接查看时点击按钮就可以播放相应的录音信息了。这对于某些眼睛不太好的,或者说更喜欢听的用户是很有吸引力的。 再次,如果记事本的信息很多,而用户又需要快速找到自己需要的记事信息,这时候内容检索就非常有用了。对于业务繁忙,或者是经常写备忘录记事的群体, 这个内容检索功能能带给用户很多的便利。让他们更加高效的利用手机,节约时间,高效工作与生活。 最后,针对商务人士,或者是经常使用邮箱的用户来说,有时候希望通过查看邮箱的同时查看记事本的信息,一次性获取全部。所以记事本同步邮箱功能能够为用户带来更多的功能与便利。 1.2 国内外研究现状分析 目前国内外有4款比较火的记事本软件。分别是Evernote,小米便签,NoteEverything,麦库记事。 Evernote 在软件界面方面界面清爽,需注册登录后才可使用,图标布局比较协调;记事笔记方面可编写内容,添加标签,支持上传图片、音频、视频、文件等附件;特色功能方面具有搜索笔记和发送笔记、定位服务、同步等功能;资源占用方面内存占最多,CPU占用适中。 小米便签在软件界面方面界面功能简单,可查看和新建便签,菜单功能相对丰富;记事方面只支持文字内容,可以选择桌面Widget颜色、字体大小等;特色功能方面可以移进文件夹和分享、备份、还原和设置保护密码;资源占用方面内存占用较中,CPU占用最少。 Note Everything界面简洁,上方有新建记事和搜索等按钮,菜单功能非常丰富;支持文本、绘图、语音、图片、清单、图库、视频、条形码等形式,可固定显示记事;特色是单个记事加密,数据备份、还原、导入、到处,创建快捷方式;内存占用最少,CPU占用较中。 麦库记事界面比较精美,菜单功能相对简单;可选分类、加标签、附件,支持拍照和实时录音。特色是笔记搜索和分类,网络同步和笔记分享;内存占用适中,CPU占用最多。 1.3 发展趋势 随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。 首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化设置(保持在本地或者云端),当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。 其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。 接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。另外借助物联网,用户间可以方便、快速的分享资源,协助和交互。如进行端到端的多人游戏、照片分享、书籍分享、音乐分享等。 然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息,帮助用户从事的经济活动的收益率。 最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付、在线贸易等。 1.4 可行性分析 1)技术可行性-----本项目仅需要一台装有eclipse及配置好android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系统。 2) 经济可行性-----由于本软件开发只有一个单个人,一台电脑就行,基本不需要太大的成本。在经济上完全可行。 3) 操作可行性-----界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。并没有太大的难度,所以,该项目完全有可操作性。 1.5 基本内容 基本内容是在android手机平台下,研究与开发记事本软件。具体要设计与实现的功能是: (1) 设计实现”添加新记事”,”编辑内容”,”删除当前记事”这三个主要的功能模块。 (2) 分析并解决实现中的若干技术问题,像组件的选择以及保存方式的选择。 (3)进行测试并分析结果。 当然记事本的基本功能,建立新文件,修改现有文件,删除文件,查看已建立文件等功能是首先必须完成的。可以编写内容,编辑及删除,除了支持文字内容的记事,还支持图片等形式,让记事的方式多样化。 事本软件的界面设计力求简洁,给人清爽的感觉,让图标及按钮以协调的布局呈现出了,菜单功能要相对简单,让用户操作方便,不能复杂。对于记事本的特色功能实现是要支持语音记事,让用户有不同的记事体验;同时还能够搜索笔记,在纷繁复杂的记事文件中搜索出用户想要获取的文件,这样给用户的备忘生活带来了高效,从而让用户体会到此款软件的实用。并且能够实习同步邮箱功能,让用户在电脑上或手机上查收邮件能够看到记事信息,这是功能的多方便利。 记事本软件要内存占用适中,CPU占用也是适中,这样让软件运行顺畅。 第二章 开发环境的安装和配置 2.1开发包及其工具的介绍 Android以java作为开发语言,jdk是进行java开发时必需的开发包。eclipse是一款非常优秀的开源IDE,在大量插件的”配合”下,完全可以满足从企业级java应用到手机终端java游戏的开发。Google官方也提供了基于Eclipse的android开发插件ADT,所以本软件开发选择Eclipse作为开发IDE。 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由谷歌公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安智”Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视,数码相机,游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。 JDK包含的基本组件包括: javac – 编译器,将源程序转成字节码 jar – 打包工具,将相关的类文件打包成一个文件 javadoc – 文档生成器,从源码注释中提取文档 jdb – debugger,查错工具 java – 运行编译后的java程序(.class后缀的) appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。 Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。 Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具 Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 2.2 Android开发平台搭建步骤: 首先到http://www。eclipse。org/downloads/下载Eclipse集成开发环境并且解压,这里推荐下载Java EE 集成版本,可以为平台的搭建省下不少工作。接着再去http://java。sun。com/javase/downloads/index。jsp 站点下载SDK后安装,下载http://dl。google。com/android/android-sdk-windows-1。5_r1。zip,Android SDK1。5后解压。第一步下载工序就结束了。 ②双击Eclipse解压后目录中的eclipse。exe然后启动,选择Eclipse菜单中的Help-> Install New Software-> 选项卡上的Available Software,点击右侧的“Add”输入http://dl-ssl。google。com/android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后找到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。 ③重启后选择Eclipse菜单中的Windows-> Preferences 在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。 ④在WindowsXP的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。 2.3硬件环境 1. Android设备,如Android手机或平板电脑:主频在1Ghz及以上,内存为512MB以上,系统版本为Android2.1及以上。 2.在eclipse平台下安卓了安卓android SDK 插件的电脑:Window 系统 P4 1.8主频以上电脑 2.4软件环境 1.操作系统:Windows7 2.IDE:Eclipse8.0 3.Android SDK集成环境 2.5 系统架构 Android的系统架构和其操作系统一样,采用分层的架构如下图: 图2.5-Android的系统架构和其操作系统分层的架构 从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。 应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 系统运行库 Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: (1)系统 C 库一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。 (2)媒体库 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 (3)Surface Manager 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。 (4)LibWebCore 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 2.6 工程主体架构 工程主体架构如下图所示: 1.str文件夹 Str文件夹下com.samplenote包下Java为系统主要Activity类: AddActivity.java是增加功能的Activity,通过设置两个按钮的监听来实现对输入文本的存储或退出。DbAdapter.java是数据库基本操作功能实现的Activity,类中主要的函数实现的功能是:打开、关闭数据库,获得时间,插入数据,删除输入,获得数据,查询数据,更新数据,根据内容生成标题,创建表和删除表。NotepadCheckActivity.java是在系统界面中生成记事列表的Activity。通过onCreate函数实现。NotPadActivity.java为系统主要功能实现的Activity。通过监听的方法来实现记事的删除、编辑、搜索和短信发送功能。 2.gen文件夹 gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资源的索引。 3.bin文件夹 bin文件夹是编译后的字节码存放的目录,编译的过程首先是编译成为android java虚拟机文件classes.dex,再打包成APK格式的包。 4.res文件夹 Res是资源目录,res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的资料文件、图片等。子目录有:drawable、layout、values。 layout。屏幕布局目录, main.xml是主界面的布局文件、add.xml是增加数据页面的布局文件、check_notepad.xml是搜索功能时的布局文件、click.xml是几个功能按钮的布局文件、list.xml是显示记事列表界面的布局文件、modtitle.xml是修改功能时所需文本框的布局文件。 values。参数值目录,存放软件所需要显示的各种文字和一些数据。strings.xml存放各种文字,还可以存放不同类型的数据。style.xml负责存放界面颜色、文本框大小等信息。 5.AndroidManifest.xml AndroidManifest.xml描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers。 第三章 系统的设计 3.1功能需求 3.1.1用户触发事件 用户通过点击屏幕来实现与数据的交互。记事本上的相关按钮是操作请求的输入设备,屏幕是用于向用户输出信息的输出设备。 事件是来自人操作的重要的消息,触发时间如下表所示记事本系统中可能发生的所有事件响应及其执行结果。 事件 系统响应 执行结果 1 从手机屏幕点击软件系统 调用函数入口,启动系统,进入该软件 进入该软件,显示记事列表 2 点击Menu,选择添加记事 调用添加函数 进入添加界面 3 点击其中一个记事 调用查看记事函数 进入详细界面 4 在记事详细界面点击Menu,可对记事进行修改编辑 调用修改函数 进入修改界面 5 在记事详细界面点击Menu,可对记事进行删除 调用删除函数 删除记事 6 在记事列表界面点击Menu,选择退出 调用退出函数 退出软件 3.1.2记事本基本需求控制 系统用例图描述的是用户眼中的系统,即用户希望系统有哪些功能和通过哪些操作完成这些功能。一个用例代表用户与系统交互的一种方式。正如前面介绍过的,识别用例的最好方法是从参与者的角度分析系统。在Android记事本中,首先的参与者是用户。系统E-R图如下图所示,它从用户角度描述了该系统应该具有何种功能。 3.2系能需求 3.2.1响应时间 一般来说,基于Android开发出来的应用程序响应时间很大程度上依赖于安卓设备的硬件配置和系统版本。因此,用户的安卓设备的硬件配置和系统版本都会对应用程序的响应时间又一定的影响。 3.2.2稳定性 应用程序为本地应用,用户只需通过自己的硬件就可以使用应用。 3.2.3安全性 Android为开源系统本身比较稳定,同时应用程序无需连接网络因此不存在信息网络泄露的风险。 第四章 程序的设计 4.1 记事本组件的设计 本项目涉及到以下组件: TextView:“记事本”,“新建记事”,“编辑记事”等标题 EditView:“记事本的标题”,“内容”等 Button:“确定”按钮 Menu:“添加新记事”,“编译内容”,“删除当前记事”等 4.2 记事本逻辑设计 1.首先是添加新记事: 如果当前没有记事,点击”menu”后只有一个菜单选项”添加新记事”,写完记事之后,点击”确定”进行保存 2.”编辑内容”: 选中要编辑的那一个记事,然后点击”menu”菜单,会出现三个选项”新建记事”,” 编辑内容”,”删除当前记事”,点击”编辑内容”对被选中的记事进行编辑,然后点击”确定”加以保存. 3.”删除记事” 点击上下键,选中要删除的记事,然后点击”menu”菜单,然后点击”删除当前记事”,对选中的记事加以删除. 4.3记事本存储实现 Android 中一共提供了5种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些数据.就要使用android提供的ContentProviders. ContentProviders:Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据. Shared Preference:用来存储”key-value paires”格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型. Files:它通过FileInputStream 和 FileOutputStream对文件进行操作.但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件 SQLite:android提供的一个标准的数据库,支持SQL语句 Network:通过网络来存储和获得数据 4.3.1数据存储之sharedPreferences 通过getpreferences()方法来获得Preference对象, 通过”SharePreferences.Editor editor=uiState.edit;”取得编辑对象,然后通过”editor.put……()”方法添加数据,最后通过commit()方法来保存数据. 4.3.2数据存储之files 我们可以通过自定义的save()方法来保存数据,同时也可以通过load()方法来获取文件中的数据. boolean save() { Properties properties = new Properties(); /* 将数据打包成Properties */ properties.put("bmusic", String.valueOf(mbMusic)); try { FileOutputStream stream = this.openFileOutput("music.cfg", Context.MODE_WORLD_WRITEABLE); /* 将打包好的数据写入文件中 */ properties.store(stream, ""); } catch (FileNotFoundException e) { return false; } catch (IOException e) { return false; } return true; } /* 装载、读取数据 */ void load() { /* 构建Properties对对象 */ Properties properties = new Properties(); try { /* 开发文件 */ FileInputStream stream = this.openFileInput("music.cfg"); /* 读取文件内容 */ properties.load(stream); } catch (FileNotFoundException e) { return; } catch (IOException e) { return; } /* 取得数据 */ mbMusic = Boolean.valueOf(properties.get("bmusic").toString()); } 4.3.3数据存储之network 通过网络来获取和保存数据资源,将数据存储到网络上的方法很多,比如将要保存的数据以文件的方式上传到服务器,发送邮件等. 下面我们看下如何实现读取网络文件. String myString = null; try { /* 定义我们要访问的地址url */ URL uri = new URL("http://192.168.1.110:8080/android.txt"); /* 打开这个url连接 */ URLConnection ucon = uri.openConnection(); /* 从上面的链接中取得InputStream */ InputStream is = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(100); int current = 0; /* 一直读到文件结束 */ while ((current = bis.read()) != -1) { baf.append((byte) current); } myString = new String(baf.toByteArray()); } catch (Exception e) { myString = e.getMessage(); } 另外由于在程序中访问了外部网络,我们需要在AndroidManifest.xml文件中给予权限,代码如下 <uses-permissiion android:name=”android.permission.INTERNET”/> 4.3.4数据存储之SQLite 这个方法在数据保存中非常常用.只是它只会被一个程序读取数据,不能在不同程序间共享数据. /*创建和打开数据库*/ mSQLiteDatabase = this.openOrCreateDatabase(DATABASE_NAME, MODE_PRIVATE, null); /*创建表*/ mSQLiteDatabase.execSQL(CREATE_TABLE); /* 删除数据库 */ public void DeleteDataBase() { this.deleteDatabase(DATABASE_NAME); this.finish(); } /* 删除一个表 */ public void DeleteTable() { mSQLiteDatabase.execSQL("DROP TABLE " + TABLE_NAME); this.finish(); } /* 更新一条数据 */ public void UpData() { ContentValues cv = new ContentValues(); cv.put(TABLE_NUM, miCount); cv.put(TABLE_DATA, "修改后的数据" + miCount); /* 更新数据 */ mSQLiteDatabase.update(TABLE_NAME, cv, TABLE_NUM + "=" + Integer.toString(miCount - 1), null); UpdataAdapter(); } /* 向表中添加一条数据 */ public void AddData() { ContentValues cv = new ContentValues(); cv.put(TABLE_NUM, miCount); cv.put(TABLE_DATA, "测试数据库数据" + miCount); /* 插入数据 */ mSQLiteDatabase.insert(TABLE_NAME, null, cv); miCount++; UpdataAdapter(); } /* 从表中删除指定的一条数据 */ public void DeleteData() { /* 删除数据 */ mSQLiteDatabase.execSQL("DELETE FROM " + TABLE_NAME + " WHERE _id=" + Integer.toString(miCount)); miCount--; if (miCount < 0) { miCount = 0; } UpdataAdapter(); } /* 更行试图显示 */ public void UpdataAdapter() { // 获取数据库Phones的Cursor Cursor cur = mSQLiteDatabase.query(TABLE_NAME, new String[] { TABLE_ID, TABLE_NUM, TABLE_DATA }, null, null, null, null, null); miCount = cur.getCount(); if (cur != null && cur.getCount() >= 0) { // ListAdapter是ListView和后台数据的桥梁 ListAdapter adapter = new SimpleCursorAdapter(this, // 定义List中每一行的显示模板 // 表示每一行包含两个数据项 android.R.layout.simple_list_item_2, // 数据库的Cursor对象 cur, // 从数据库的TABLE_NUM和TABLE_DATA两列中取数据 new String[] { TABLE_NUM, TABLE_DATA }, // 与NAME和NUMBER对应的Views new int[] { android.R.id.text1, android.R.id.text2 }); /* 将adapter添加到m_ListView中 */ m_ListView.setAdapter(adapter); } } 4.3.5 数据存储之ContentProviders ContentProviders: Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据. 查询数据:可以使用ContentProvider.query()或者Activity.managedQuery()方法 修改数据:通过ContentResolver.update()方法可以用来修改数据 添加数据:通过ContentResolver.insert()方法来增加一条数据 删除数据:通过ContentResolver.delete()方法来删除一条记录 第五章 程序的开发 5.1主activity的设计 当选择”新建记事本”,”编辑内容”,”删除当前记事”等菜单选项时对应的操作 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 插入一条数据 case MENU_ITEM_INSERT: Intent intent0 = new Intent(this, ActivityDiaryEditor.class); intent0.setAction(ActivityDiaryEditor.INSERT_DIARY_ACTION); intent0.setData(getIntent().getData()); startActivity(intent0); return true; // 编辑当前数据内容 case MENU_ITEM_EDIT: Intent intent = new Intent(this, ActivityDiaryEditor.class); intent.setData(item.getIntent().getData()); intent.setAction(ActivityDiaryEditor.EDIT_DIARY_ACTION); startActivity(intent); r- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 平台 记事本 设计 实现 毕业设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文