浅析室内设计的重要元素室内绿化.docx

上传人:b****8 文档编号:28282099 上传时间:2023-07-10 格式:DOCX 页数:36 大小:314.21KB
下载 相关 举报
浅析室内设计的重要元素室内绿化.docx_第1页
第1页 / 共36页
浅析室内设计的重要元素室内绿化.docx_第2页
第2页 / 共36页
浅析室内设计的重要元素室内绿化.docx_第3页
第3页 / 共36页
浅析室内设计的重要元素室内绿化.docx_第4页
第4页 / 共36页
浅析室内设计的重要元素室内绿化.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

浅析室内设计的重要元素室内绿化.docx

《浅析室内设计的重要元素室内绿化.docx》由会员分享,可在线阅读,更多相关《浅析室内设计的重要元素室内绿化.docx(36页珍藏版)》请在冰豆网上搜索。

浅析室内设计的重要元素室内绿化.docx

浅析室内设计的重要元素室内绿化

XXXXXX

本科生毕业设计(论文)

学院(系):

专业:

学生:

指导教师:

完成日期年月

XXXXXX本科生毕业设计(论文)

安卓环境下多线程文件下载器

Multi-threadedFlieDownloader

underAndoidEnvironment

总计:

毕业设计(论文)25页

表格:

2个

图片:

4个

XXXXXX本科毕业设计(论文)

安卓环境下多线程文件下载器

Multi-threadedFileDownloader

underAndroidEnvironment

学院(系):

专业:

学生姓名:

学号:

指导教师(职称):

评阅教师:

完成日期:

安卓环境下多线程文件下载器

软件工程XXX

1[摘要]随着中国移动互联网3G时代的到来,很多抢眼的词汇也不断冲击着人们的眼球。

智能手机硬件配置不断提升,运行在手机平台的应用程序层出不穷,人们可以通过电脑安装手机程序,还可以通过3G网络下载手机应用程序,基于Android手机平台的多线程文件下载器将成为网民通过3G网络获取和共享资源的一个重要渠道,多线程文件下载器实现用户在线下载网络资源,保存下载资源的断点数据,为用户提供了友好的手机平台资源下载功能。

它改变传统的手机下载资源的方式,突破了传统下载工具的枷锁,实现快速方便的下载资源,节省网络流量。

该程序跨平台性强,运行速度快,用户可以快速下载应用、apk程序等资源、高效执行下载操作,满足用户需求达到了预期效果。

[关键词]下载器;多线程;断点;跨平台

Multi-threadedFlieDownloader

underAndoidEnvironment

SoftwareEngineeringMajorXXXX

1Abstract:

Withthecomingof3GeraofChinamobileinternet,lotsofeye-catchingvocabularieskeepstrikingpeople’smind.Withthecontinuousenhancementinsmartphoneconfigurations,appsforsmartphonespringoutlikemushrooms.Peoplecannotonlyinstallsmartphoneappsviacomputer,butalsodownloadsmartphoneappsvia3Gnetwork.Themulti-threaddownloading,whichisbasedonAndroidplatform,willbecomeanimportantchannelforuserstoobtainandshareresourcesvia3Gnetwork.Multi-threaddownloadingenablesofflineresourcesdownload,savebreakpointdata,andoffersuser-friendlymobileresourcesdownloadplatform.Itchangesthetraditionalmobiledownloadmethod,breakstheconstraintsofconventionaldownloadtools,realizesfastandconvenientresourcesdownload,andsavesnetworkflows.Thisapplicationcouldbeappliedtovariousplatforms,andrunsatveryhighspeed.Asaresult,userscandownloadapps,apkandotherresourcesquickly,operateefficiently,andmeettheirexpectations.

1Keywords:

Downloader;Multithreaded;Breakpoint;Cross-platform

如果你周边有同学苦逼于毕设的话,果断推荐这个公众号给他吧!

分享朋友圈,截图发给这个公众号(ifreeTeam),可以在我的万套毕业设计源码中选择你合适的一套哦。

嘻嘻!

1背景与意义

1.1设计背景

3G牌照在国内发放后,3G、Android、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。

随着3G网络的大规模建设和智能手机的迅速普及,移动互联网时代已经微笑着迎面而来。

以创新的搜索引擎技术而一跃成为互联网巨头的Google,无线搜索成为Google进军移动互联网的一块基石。

早在2007年,Google中国就把无线搜索当作战略重心,不断推出新产品,尝试通过户外媒体推广移动搜索产品,并积极与运营商、终端厂商、浏览器厂商等达成战略合作。

Android操作系统是Google最具杀伤力的武器之一。

苹果以其天才的创新,使得iPhone在全球迅速拥有了数百万忠实“粉丝”,而Android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。

与WindowsMobile、Symbian等厂商不同的是,Android操作系统免费向开发人员提供,这样可节省近三成成本,得到了众多厂商与开发者的拥护。

最早进入Android市场的宏达电已经陆续在一年内推出了G1、Magic、Hero、Tattoo等4款手机,三星也在近期推出了Galaxyi7500,连摩托罗拉也推出了新款Android手机Clip,中国移动也以Android为基础开发了Ophone平台。

这些发展证明Android已经成为智能手机市场的重要发展趋势。

如今3G时代已经来临,随着智能手机硬件配置不断提升,运行在手机平台的应用程序层出不穷,企业应用、游戏、金融、炒股等软件给人们带来极大方便,随时随地掏出手机就可以查找自己所需要的资源,人们可以通过电脑和手机来下载安装手机应用程序。

为了实现在手机上直接通过3G网络下载网络资源,我们设计开发了“多线程文件下载器”帮助用户在线下载网络资源,如果出现网络异常,我们可以保存下载资源的断点数据,在下次网络连接时可继续下载。

节省了手机流量,为用户提供了友好的手机平台资源下载功能,给用户的下载带来了更大的方便。

1.2设计意义

随着移动网络的发展,手机上网人数日益增多,人们已经习惯通过手机网络的方式在网络上进行即时信息的交流和接受服务,着智能手机平台应用平台软件层出不穷,为了方便用户直接通过手机下载手机应用,本人设计了一款“Android环境下多线程文件下载器”能帮助您更快速、更便捷地获取资源,更多地享受Android手机的便捷与乐趣。

Android环境下多线程文件下载器特点:

打破手机网络限制,断点续传和多线程下载,大大节省流量并且提高手机上网下载速度。

2需求分析

2.1调查研究

开发Android手机多线程下载器硬件上讲,现在的智能手机速度现在已经不是问题,大容量高速度的手机存储卡十分普遍,同时无限网络的速度普遍可以达到100M,这些为电子商务的运行打下坚实的基础。

从软件的角度上讲,android操作系统具有非常强大的功能,可以java程序人员在android操作系统的手机上开发各种软件。

同时,开发手机客户端的工具eclipse也相当成熟。

有了这些技术的支持,成功开发一个移动手机多线程下载器没有任何技术风险。

本系统拟采用的技术如下:

采用面向对象的设计方法进行方案设计,选择Droid-Draw+JDK1.6+SDK2.3.1+eclipese作为开发工具。

采用关系型数据库技术。

DBMS采用Sqlite作为数据库平台。

它是一款免费软件。

它的网络承载比较少。

它经过很好的优化(HighlyOptimized)。

它为各种不同的资料格式提供有弹性的扩展介面(ODBC)。

它轻便易学较好学,且操作简单,而且你负担得起的客户支持费用。

选择用无线网或手机接入点进行验证调试等。

选择用手机模拟器和手机进行调试显示。

方便、快捷,不用在客户端安装其他软件。

本系统采用的技术己经非常成熟,并且应用于实际项目当中,取得了非常好的效果。

同样,由于Android系统是一款完全免费的系统,所有软件都选用免费的正版软件,所有使用的技术资料都要妥善进行保管,用合同来确定违约责任,对用户的信息要保密。

2.2组织结构图

图2–1组织结构图

2.3设计方法

本软件采用Android智能手机平台,结合Java语言,利用AndroidSDK开发,采用HTTP通信协议向服务器发送get请求,服务器接受后同样使用HTTP返回客户端请求数据。

本软件数据库采用手机平台内置的轻量级数据库SQLite,该数据库具有使用轻便、灵活、跨平台性好,执行速度快的特点,在接口、性能支持上比其它大型PC级数据库达到更好的运行效果。

基于对该软件的分析,开发本应用需要解决两个主要问题。

2.3.1如何搭建Android开发平台

Android本身就是一个操作系统,只是这个操作系统基于Linux内核

Android是一个由30多家科技公司和手机公司组成的“开放手机联盟”共同研发的,而且完全免费开源,这将大大降低新型手机设备的研发成本。

Android平台是免费、开源的,而且Google通过与运营商、设备制造商等机构形成的战略联盟,希望共同制定标准使Android成为一个开发式的生态系统。

应用程序的权限由开发人员决定,如需要使用限制级的手机API,只需要在自己的应用程序中配置一下即可,完全是DIY,这也在某些程度上降低了Android程序的开发成本。

Android上所有应用程序都是可替换和扩展的,即使是拨号、Home这样的核心组件也一样。

同时Android应用程序之间的无障碍沟通,应用程序之间的通信一直令人头疼,而在Android平台上无疑是一种享受,在Android平台上应用程序之间至少有4种沟通方式,但它们托起了整个Android的应用程序框架。

Android平台是拥抱Web的,如果想在Android应用程序中嵌入HTML、HTML5、JavaScript,那么真的是再容易不过了,基于WebKit内核的WebView组件会完成一切。

更值得一提的是,JavaScript还可以和Java无缝的整合在一起。

在加上Android个性的充分体现,Android提供了众多体验个性功能的组件,如:

Widget、Shortcut、LiveWallPapers无一不尽显手机的华丽与时尚。

舒适的开发环境。

Android的主流开发环境是Eclipse+ADT+AndroidSDK,他们可以非常容易的集成在一起,而且在开发环境中运行程序要比Symbian这样的传统手机操作系统更快,调试更方便。

Android的系统架构从高到低分为四个层次:

应用层、应用框架层、系统运行库层和Linux内核层。

应用层:

该层由运行在Dalvik虚拟机(为Android专门设计的基于寄存器的Java虚拟机,运行Java程序的速度更快)上的应用程序(主要是Java语言编写)组成。

例如,日历、地图、浏览器、联系人管理都属于应用层上的程序。

应用框架层:

该层主要由View、通知管理器(NoteficationManager)、活动管理器(ActivityManager)等由开发人员直接调用的组件组成。

系统运行库:

Java本身是不能直接访问硬件的。

要想让Java访问硬件,必须使用NDK才可以,NDK是有一些由C++语言编写的库,这些程序也是该层的主要组成部分,该层主要包括C语言标准库、多媒体库、OpenGLES、SQLite、Webkit、Dalvik虚拟机等,也就是说,该层是对应用框架层提供支持的层。

Linux内核层:

该层主要包括驱动、内存管理、进程管理、网络协议等组件。

目前Android版本基于Linux2.6内核[3]。

此程序运行在Android2.1以上智能手机上,首先配置好Java开发环境,下载Eclipse开发工具,Eclipse版本在3.7.1以上。

开发Android至少需要如下工具和开发包:

JDK1.6以上、Eclipse、AndroidSDK、ADT(AndroidDevelopmentTools,开发Android程序的Eclipse插件)。

第一步:

先安装AndroidSDK,AndroidSDK在线安装,在安装之前要保证网络的正常连接。

第二步:

安装Ecllipse插件ADT,可以直接在Eclipse中直接安装ADT。

单击【ok】按钮关闭对话框,回到【AvaliableSoftware】标签页,选中刚才增加的地址,然后单击右侧的【install】按钮开始安装ADT插件。

在弹出的安装对话框中选中AndroidDDMS和AndroidDevelopmentsTools两项,单击【Next】按钮进入下一个安装界面,选中接受协议复选框,最后单击【finish】按钮开始安装。

当成功安装ADT后,重启Eclipse即可使用ADT来开发Android程序。

安装完ADT后,还需要设置一下AndroidSDK的安装目录。

打击【Window】>【Preference】菜单项。

在弹出的对话框中选中左侧的【Android】节点。

在右侧的【SDKLocation】文本框中输入AndroidSDK的安装目录即可。

测试ADT是否安装成功。

我们可以新建一个工程来测试一下ADT是否安装成功。

单击【new】>【AndroidProject】菜单项(如果没有该菜单项,可以单击【new】>【Other】菜单项,在弹出对话框的树中寻找【Android】节点,显示建立Anroid工程的对话框,点击【finish】按钮创建Android工程。

在运行firstandroid工程之前还需要建立一个AVD设备。

一个AVD设备对应一个Android版本的模拟器实例。

由于firstandroid使用的是Android2.1,因此需要建立一个Android版本的模拟器实例。

由于firstandroid使用的是Android2.1,因此需要需要建立一个支持Android2.1的AVD设备。

建立完AVD设备后,找到firstandroid工程,单击右键菜单的【RunAs】>【AndroidAppllication】菜单项,运行firstand。

这时ADT会自动启动模拟器,并在模拟器上运行firstandroid,在模拟器成功启动后,会出现模拟器锁定状态的界面。

用鼠标按住屏幕左下方的小锁,将其拖动到屏幕右下方的喇叭处,就会解除这种状态。

这时会显示firstandroid的运行结果。

当然我们可以直接在手机上测试该应用程序,通过USB与连接线连接手机与电脑,方便测试那些和硬件相关的应用程序,例如录音、拍照、重力感应、GPS、WIFI。

如果这些功能无法在模拟器上测试,将给开发工作带来非常大的困难。

在发布AndroidSDK的同时发布了一个AndroidUSB驱动。

将手机和电脑通过数据线相连后,并在计算机上安装这个USB驱动程序,就可以将手机变成一个测试程序的模拟器,也就是说,在Eclipse中运行程序后,会直接在手机上运行,而不是在计算机的模拟器上运行,这样就可以得到真实的运行效果。

2.3.2如何用实现多线程下载及断点数据保存

使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线、电量不足等情况下,这就需要使用到断点续传功能,下次启动时从记录位置继续下载,可避免重复部分的下载。

这里采用SQLLite数据库来记录下载的进度。

在实现断点续传下载的时候,本人是把线程每次下载结束后的当前任务信息都保存到数据库里面一次,相当于每次一个线程下载一次,就给当前任务拍个照片,把当前信息存到数据库里面。

这样一旦暂停,或者退出程序,下次再下载的时候,直接从数据库里面读数据,然后在这个数据的基础上继续下载就行。

2.4操作流程

1.通过电脑数据线连接“多线程文件下载器”应用程序的APK文件安装在Android手机上:

用数据线连接到Android手机,在下拉状态栏出现“USB已连接”选项,点击进入“打开USB存储设备”按钮,会在“我的电脑”出现手机盘符,如F盘,然后将apk文件拷贝到F盘,最后点击“关闭USB存储设备”按钮。

2.进入“菜单”,查找“文件管理”按钮,点击后查找刚放入的apk文件,点击该文件直接进入文件安装向导,根据向导提示点击“下一步“进行安装。

文件安装成功后会在Android界面出现应用图标,点击该图标即可进入应用程序界面。

3.点击“Android多线程文件下载器”图标打开应用程序,进入“新建下载任务”操作界面,在“连接地址”栏输入需要下载资源的文件地址,“文件名”为下载后的资源名称,默认可以为空。

“开启线程数”默认为3个线程,一次下载任务需要多少个线程来共同下载资源。

“保存位置”默认保存到手机内存卡里。

4.当输入完连接地址后,点击“立即下载”按钮可以看到界面的进度条对文件的下载进度,在进度条的下方会出现文件下载进度具体值。

当点击“菜单键”会出现三个菜单选项:

暂停下载、关于、退出。

“暂停下载”用来模拟断点续传的功能,点击“暂停下载”菜单项,进度条会停止前进,整个下载进度会暂时停止,这是如果手机网络状态不好或手机重启,应用程序会将当前线程下载的文件大小及下载地址分别根据线程数量保存到SQLLite数据表里面。

当下次启动点击“继续下载”按钮后,进度条会立即初始化到上次文件下载的位置,继续在上次的位置下载文件资源,直至文件资源完全下载完成。

2.5环境配置

开发本系统所需要的软硬件环境如下:

2.5.1硬件条件

个人PC机:

1. CPU:

奔腾4.0用其以上

2. 内存:

1G及其以上

3.基于Android系统的智能手机一部

2.5.2软件条件

1. WindowsServer2003系统

2. Eclipse集成开发工具

3. AndroidSDK开发工具

3系统设计

3.1系统划分

通过对该系统需求的调查研究,确定系统应该有不同的表现形式,系统模块划分如下:

3.1.1多线程下载设计

使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,

是因为其抢占的服务器资源多。

如:

假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户,100条线程在计算机中并非并发执行,而是由CPU划分时间片轮流执行,如果A应用使用了99条线程下载文件,那么相当于占用了99个用户的资源,假设一秒内CPU分配给每条线程的平均执行时间是10ms,A应用在服务器中一秒内就得到了990ms的执行时间,而其他应用在一秒内只有10ms的执行时间。

就如同一个水龙头,每秒出水量相等的情况下,放990毫秒的水肯定比放10毫秒的水要多。

多线程下载的实现过程:

(1)首先得到下载文件的长度,然后设置本地文件的长度。

HttpURLConnection.getContentLength();

RandomAccessFilefile=newRandomAccessFile("QQWubiSetup.exe","rwd");

file.setLength(filesize);//设置本地文件的长度

(2)根据文件长度和线程数计算每条线程下载的数据长度和下载位置。

如:

文件的长度为6M,线程数为3,那么,每条线程下载的数据长度为2M。

(3)使用Http的Range头字段指定每条线程从文件的什么位置开始下载,下载到什么位置为止,如:

指定从文件的2M位置开始下载,下载到位置(4M-1byte)为止,代码如下:

HttpURLConnection.setRequestProperty("Range","bytes=2097152-4194303");

(4)保存文件,使用RandomAccessFile类指定每条线程从本地文件的什么位置开始写入数据

RandomAccessFilethreadfile=newRandomAccessFile("QQWubiSetup.exe","rwd");

threadfile.seek(2097152);//从文件的什么位置开始写入数据

3.1.2断点续传下载设计:

(1)断点续传需要在下载过程中记录每条线程的下载进度

(2)每次下载开始之前先读取数据库,查询是否有未完成的记录,有就继续下载,没有则创建新记录插入数据库

(3)在每次向文件中写入数据之后,在数据库中更新下载进度

(4)下载完成之后删除数据库中下载记录

通过Handler传输数据查看下载进度:

这个主要用来记录百分比,每下载一部分数据就通知主线程来记录时间,主线程中创建的View只能在主线程中修改,其他线程只能通过和主线程通信,在主线程中改变View数据。

本人使用Handler可以处理这种需求,主线程中创建Handler,重写handleMessage()方法,新线程中使用Handler发送消息,主线程即可收到消息,并且执行handleMessage()方法。

3.1.3界面设计

随着科技的不断发展,计算机与软件的进步,新一代的移动终端用户针对应用软件的可操作性以及软件操作的舒适性等方面提出了更高的要求。

除期望所用的软件拥有强大的功能外,更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。

这表明友好的手机界面设计已经成为手机应用开发的一个重要组成部分。

而手机界面在手机应用软件中占用了大量的开发时间,提高手机界面的开发效率,无疑是提高整个手机应用软件开发效率非常有效的手段。

如果用户不满意在PC机端通过图片单纯模拟Android操作系统窗口组件的显示效果,可以将最终生成的XML界面程序发送至Android手机或Android模拟器端,通过Android应用程序对其进行解析,将界面显示出来。

该系统分为界面在PC机上的开发和界面在Android模拟器端显示两个部分。

界面在PC机上的开发部分是基于MVC设计模式的总体框架设计的,该模块基本上是由界面组件、界面控制、组件属性和界面显示四个部分组成。

界面组件和界面控制相当于MVC中的Model;组件属性和界面显示相当于MVC中的View;系统中负责组件和界面显示之间各种监听相当于MVC中的Control。

界面在Android模拟器端显示模块实现了Android应用程序中的XML界面程序在Android模拟器上的显示。

该模块将通过XML界面文件创建界面组件,通过解析XML资源文件为适配器提供信息,然后通过Android框架结构预定好的调用机制,将适配器中的信息填充到界面组件中[4]。

Android应用程序组件包括4种实现:

活动(Activity)组件:

Activity是Android的核心类,该类全名是android.app.Activity.Activity相当于C/S程序中的窗体Form或Web程序的页面。

每一个Activity提供了一个可视化的区域。

在这个区域可以放置各种Android组件,例如按钮、图像、文本框等。

在Activity中

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1