Android阅读器实验报告_第1页
Android阅读器实验报告_第2页
Android阅读器实验报告_第3页
Android阅读器实验报告_第4页
Android阅读器实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

手机应用开发(论文)题 目: 院 (系): 专业班级: 姓 名: 学 号: 指导教师: 年 月 日摘要本文主要阐述了基于Android的阅读器的设计与实现。本阅读器能够显示文本,能够选择不同的文章,文章至少有5篇;每篇文章可以通过上下调整滚轴来控制浏览文章的不同部分;用户可以调整文章的大小。关键字Android 阅读器 滚轴目录一、引言11.1 研究设计内容11.2系统开发环境1二、相关技术简介1三、系统分析23.1 阅读器显示需求23.2 系统功能模块需求图3四、系统设计44.1系统框架44.2功能模块设计44.3 UI设计5五、系统实现65.1界面实现65.2 系统实现6六、运行结果86.1 主界面运行结果86.2 文章显示界面运行结果96.3 改变字体大小后的文章显示界面10七、结论11参考文献12一、引言1.1 研究设计内容本文设计了基于Android的阅读器。本阅读器能够显示文本,能够选择至少5篇不同的文章,每篇文章都可以通过上下调整滚轴来控制浏览文章的不同部分,而且用户户可以通过按钮调整文章的大小,以适合自己阅读。1.2系统开发环境本系统采用Android Studio进行开发,以Java作为开发语言二、相关技术简介开发基于Android的阅读器,需要一定的技术作为支持。首先,需要Android的UI界面设计知识。开发者能够使用Android基本知识进行应用程序界面设计,给予用户良好的体验。其次,开发者需要掌握Java编程语言。Android应用程序的实现需要以Java语言作为基础,用以控制Android界面进行相应的交互响应等。在Android设计知识中,开发者要懂得文章的存储和读取,能够将文章显示在屏幕上,并使用户进行滑动等操作,以方便阅读。然后,开发者能够在文章合适的位置显示垂直滚动条,这样,用户可以直接通过拖到滚动条快速的到达自己想要阅读的地方。而Android地基本控件中只有水平的滚动条,因此,需要开发者能够设计出垂直的滚动条,并且能够将滚动条与滑动视图ScrollView连接起来,以做到滑动文章滚动条会随之改变,拖到滚动条会显示文章的相应部分内容。2.1 文件存储阅读器需要显示大篇的文章,因此将文章固定嵌入到TextView中显示的方法并不可行。因此,阅读器采用文件存储的方式,将文章作为一个文件整体,存储在文件夹中。本次实验采用assets文件存储的方式,将文章都存储在assets文件夹中,TextView从assets中读取相应的文章,并按原样内容显示在屏幕上。2.2 垂直滚动条VerticalSeekBar因为系统中没有垂直滚动条,所以垂直滚动条需要开发者设计画出。在本次设计中,阅读器导入了开源库VerticalSeekBar,将已有的垂直滚动条直接运用到开发实验中。2.3 ScrollView和VerticalSeekBar相互绑定本次阅读器中增加了控制文件SrollBindHelper.java,用于绑定ScrollView和VerticalSeekBar,从而实现滑动文章时改变滚动条,并且拖到滚动条时可以阅读文章的不同部分。三、系统分析3.1 阅读器显示需求阅读器显示需要包括文章显示、文章滑动和字体大小设置等功能,用例图具体设计如下图所示。图3-1 用例图3.1.1文章显示阅读器需要显示不同的文章,因此文章是通过存储在本地资源assets文件夹中实现的。显示文章时从assets文件夹中读取文件并显示。3.1.2 文章滑动由于要通过调整滚轴阅读文章的不同部分,因此,阅读器通过垂直滚动条VerticalSeekBar实现。用户可滑动文章阅读文章的不同部分,每篇文章也都可以通过上下拖到垂直滚动条来控制浏览文章的不同部分。3.1.3字体大小设置用户要调整文章的大小,因此,阅读器可通过按钮Button和Intent页面传值实现的。用户通过选择不同的按钮与阅读器进行交互,通过Intent将字体大小状态state值传入文章显示页面。3.2 系统功能模块需求图阅读器的功能模块包括文章显示、文章滑动和字体大小设置三种。阅读器的系统功能模块图如下所示。图3-2 系统功能模块图四、系统设计4.1系统框架本系统由界面文件和控制文件组成。界面文件用于设置阅读器的UI布局设计显示,控制文件用于实现相应控件的响应事件以及控件的实现。4.2功能模块设计阅读器总共有个三个功能模块,分别是文章显示功能模块、文章滑动功能模块和设置字体大小模块。4.2.1 文章显示模块阅读器能够显示不同的文章,点击文章标题后进入文章的显示。在文章的显示页面中,阅读器从资源库assets文件中读取已存储的文章,并将其显示在TextView中。4.2.2 文章滑动阅读器使用基本控件ScrollView使过长的文章可以得到全部的显示。但ScrollView仅能滑动文本,因此,在阅读器中添加了自定义的垂直滚动条VerticalSeekBar。阅读器可以实现在用户滑动文章时自动改变滚动条VerticalSeekBar的值,而且用户拖到滚动条VerticalSeekBar时,也可以显示文章的相应部分内容。4.2.3 设置字体大小阅读器中设置三个按钮,“小”、“中”、“大”。点击不同的按钮,文章的字体大小也将随之改变。在MainActivity.java文件中设记录子大小的状态值state,在跳转到文章显示页面时,相应的将状态值state传入到文章显示页面,根据state的值,设置文章的显示字体大小。4.3 UI设计UI设计包括主界面设计和文章显示界面。主界面包括五个文章标题和三个设置字体大小按钮。文章显示界面包括TextView和垂直滚动条VerticalSeekBar。4.3.1主界面 1)布局采用的是LinearLayout 2) 用TextView组件显示文章的标题 3)用Button实现字体大小设置的选择4.3.2文章显示界面 1) 用TextView显示文章内容 2)用ScrollView实现页面的滑动 3)用自定义的垂直滚动条VerticalSeekBar显示页面滑动情况五、系统实现系统实现分界面实现和系统实现两部分分别阐述,界面实现主要介绍UI界面设计文件的实现,系统实现主要介绍控制文件的实现。5.1界面实现界面实现主要有主界面activity_main.xml和文章界面(以文章1界面activity_one.xml为例)。5.1.1 主界面activity_main.xml主界面总布局为LinearLayout,在LinearLayout中添加六个TextView、一个嵌套的LinearLayout布局。在嵌套的LinearLayout布局中,添加三个Button。采用五个TextView分别显示5篇文章的标题,并设置TextView可点击,当点击TextView时,在控制文件中执行相应的程序跳转到文章显示页面。之后,采用一个TextView提示用户字体大小设置的地方。添加三个Button,分别显示“小”、“中”、“大”。5.1.2 文章1界面activity_one.xml界面总布局为RelativeLayout,在RelativeLayout中采用NestedScrollView和RelativeLayout布局。在NestedScrollView中,添加一个TextView,用于显示文章。在RelativeLayout布局中添加VerticalSeekBar,用于显示垂直滚动条。5.2 系统实现系统实现主要有主界面控制文件 MainActivity.java、文章显示界面控制文件(以文章1为例)OneActivity.java、ScrollView与VerticalSeekBar相连接的控制文件SrollBindHelper.java和垂直滚动条VerticalSeekBar的两个控制文件。5.2.1 MainActivity.java1.字体大小按钮的点击事件点击其中一个按钮,在相应的响应事件中,设置字体大小状态state的值。2. 文章标题的点击事件阅读器需要选择不同的文章,因此,当点击不同的文章标题时,实现相应文章的显示。在该控制文件中,单独设置每个文章标题事件的产生。点击文章1 时,点击事件响应中跳转到文章1的控制文件OneActivity.java,并传入state的值用于改变文章大小。5.2.2 OneActivity.java1.从assets文件中读取文章通过getAssets().open(article1.txt)获得article1.txt的内容到输入流InputStream中,保存到缓冲区buffer中。通过read(buffer)显示文章内容,显示完之后通过close()关闭文章。2.实现文章滑动同步显示定义滚动条SeekBar和滑动控件ScrollView的对象,通过调用 ScrollBindHelper.bind(seekBar, scrollView)实现文章滑动和滚动条的同步显示。5.2.3 SrollBindHelper.java1.滑动文章时改变滚动条通过onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) 获得滑动视图ScrollView的滑动位置,并改变滚动条SeekBar的值,从而改变滚动条SeekBar。2.滚动条改变时显示文章的不同部分通过onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)获得滚动条SeekBar的滚动比值,并显示文章的相应部分内容。5.2.4 垂直滚动条VerticalSeekBar1.控制文件VerticalSeekBar.java对滚动条进行初始化,实现滑块、进度条等设置,并实现相应的点击事件。2.控制文件VerticalSeekBarWrapper.java垂直滚动条适配器。实现用户改变滚动条时的操作六、运行结果6.1 主界面运行结果在主界面中,有五个文章标题,点击文章标题,会跳转相应的文章显示界面。在主界面下方,有三个按钮,分别标示“小”、“中”、“大”。点击按钮,会改变文章的字体大小。主界面的运行结果图如下图所示。图6-1 主界面运行结果图6.2 文章显示界面运行结果在文章显示界面中,有一个TextView,从assets读取的文章会显示在TextView中。在文本显示的右方有一个垂直滚动条,当滑动文本时,滚动条会随之改变;当拖动滚动条时,会显示文本的不同部分。文章显示界面的运行结果图如下图所示。图6-2 文章显示界面运行结果图6.3 改变字体大小后的文章显示界面改变字体大小后的文章显示界面,与文章显示界面的布局设计相同,至少字体大小改变。改变字体大小后的文章显示界面的运行结果图如下图所示。图6-3 改变字体大小后的文章显示界面运行结果图七、结论 通过这次实验,我能够做出简单的阅读器APP。在本次实验过程中,使用到了文件存储和垂直滚动条。将文章作为一个文件存储在本地资源assets文件夹中,显示文章时从assets中读取文件并显示在TextView。在显示文章时,需要使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论