基于android的照片分享系统的开发与学位论文.docx
- 文档编号:23467667
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:40
- 大小:465.53KB
基于android的照片分享系统的开发与学位论文.docx
《基于android的照片分享系统的开发与学位论文.docx》由会员分享,可在线阅读,更多相关《基于android的照片分享系统的开发与学位论文.docx(40页珍藏版)》请在冰豆网上搜索。
基于android的照片分享系统的开发与学位论文
IANGSUUNIVERSITY
本科毕业论文
基于Android平台的照片分享系统的
设计与实现
Designandimplementationofphotosharingsystem
onAndroidplatform
专业:
班级:
姓名:
指导教师姓名:
指导教师职称:
基于Androids平台的照片分享系统的设计与实现
摘要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。
本文主要是在Android系统上对照片分享应用程序的设计与实现进行讨论,通过这一过程来进一步学习与应用Android平台,这样对个人的未来发展也很有意义。
本论文采用了Android开源系统技术,利用Java语言和Eclipse开发工具对播放器代码进行编写。
同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该系统集照片浏览、分享,读取通讯录,发送邮件给通讯录好友等功能于一体,性能良好,在Android系统中能独立运行。
由于本系统只限于应用层程序的探讨,所以对具体的压缩算法不做深究。
实验证明,基于Android平台的软件开发简单,使用方便简洁,可以给用户带来更方便更真实的体验。
关键词:
Android,照片分享,java,Eclipse
Designandimplementationofphotosharingsystem
onAndroidplatform
AbstractToday'ssocietyincreasinglyfastpaceoflife,withmoreandmoreadvancedhardwareofmobiledevices,mobiledevices,peopledemandmoreandmorefromthepreviouspursuitoftechnologytothecurrentpursuitofvisualeffectsanduserexperience,therefore,alsograduallyimprovethesystemrequirements.ThisarticleisintheAndroidsystemforphotosharingapplicationdesignandimplementationdiscussions,throughthisprocesstofurtherstudyandapplicationoftheAndroidplatform,sothatthefuturedevelopmentoftheindividualisalsomeaningful.
ThispaperusestheAndroidopensourcetechnology,theuseoftheJavalanguageandEclipsedevelopmenttoolsplayercodebewritten.Atthesametimegivesadetailedsystemdesignprocess,somescreenshotsandmajorfunctionalflowchart,thepaperalsoencounteredinthedevelopmentprocessproblemsandsolutionswerediscussedindetail,thesystemsetsphotobrowsing,sharing,readingcommunicationcatalog,sendemailtofriendsandotherfunctionsinonebook,goodperformance,theAndroidsystemcanoperateindependently.Becausethissystemislimitedtoapplicationlayerdiscussion,sodogointothespecificcompressionalgorithm.
Experimentsshowthat,basedontheAndroidplatformsoftwaredevelopmentissimple,easytouseandsimple,thenextfewyearswillbecomethedevelopmentdirectionofuniversalsignificance.
Keyword:
Android,photosharing,java,Eclipse
目录
第一章绪论1
1.1引言1
1.2论文研究背景1
1.3论文的目的、研究内容和意义2
1.4论文结构安排2
第二章Android应用软件开发技术原理4
2.1Android应用软件开发的核心技术4
2.3用户界面UI设计技巧10
2.4Android应用开发平台的搭建12
2.4计算机配置12
2.5Android模拟器中sd卡的创建和文件的上传14
第三章软件的应用需求分析及流程设计16
3.1功能需求16
3.1.1软件的应用需求分析16
3.1.2软件性能需求17
3.2系统结构图和流程图18
3.3系统友好性需求19
第四章照片分享系统的设计和实现20
4.1浏览图片界面说明20
4.1.1照片分享主界面20
4.1.2照片列表的实现20
4.2照片分享的实现21
4.3获得通讯录22
4.4将照片发送给通讯录好友25
4.5本章小结28
第五章软件测试29
5.1测试环境29
5.2测试方案与结果29
5.3测试结论30
第六章总结与展望31
6.1本文的研究工作31
6.2进一步的工作31
致谢32
参考文献:
33
第一章绪论
1.1引言
2007年11月5日,Google。
公司与33家手机厂商(包括摩托罗拉、三星、宏达、LG等)、手机芯片供应商、移动运营商建立了开放手机联盟OHA(OpenHandsetAlliance),同时发布了名为Android的智能手机平台。
自此,Android走进了人们的视线。
同时其平台化的优势也大大丰富各种手段式设备软件的功能。
本文着重对Android系统构架,Android应用程序的开发环境配置及基本组件进行研究,最后在Android平台上实现了照片分享的功能。
1.2论文研究背景
如今,手机服务除了发送短信外,还提供给你更多的功能,例如聊天、博客、手机照片上传等业务,许多新型的方法都可以用来分享你的照片。
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑,主要支持手机。
2005年由Google收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及其他领域。
2008年10月第一步Android智能手机发布。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一.2012年11月数据显示,Android占全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
搭载Android智能系统的手机越来越不像“手机”,更像是一台小型电脑。
随着经济的发展,社会的进步,科学技术的不断提高,手机系统日渐成熟,智能手机越来越深入到我们日常的学习、工作及生活中,成为我们不可缺少的辅助工具。
其强大的功能已为人们深刻认识,它已进入人类社会的各个领域,如炒股、娱乐、视频聊天以及上网冲浪等,在信息高速化的今天,智能手机将成为人类不可或缺的工具。
Android的手机一般都带有高分辨率的摄像头以提供用户进行拍照,相信朋友们的手机中一定有不少的照片,下面这个应用程序可以浏览手机中的照片,还可以分享喜欢的照片给朋友。
一款专业的照片分享软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个浏览图片软件,通过软件可以对照片中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的照片分享软件,来满足不同用户的不同要求。
不同手机平台的手机,所支持的照片分享软件也是各不相同,而现在最流行的手机平台就是google的android手机平台,所以本课题就致力于开发出一款基于android手机平台的照片分享软件,来满足用户的使用需求。
1.3论文的目的、研究内容和意义
Android的手机一般都带有高分辨率的摄像头以提供用户进行拍照,相信朋友们的手机中一定有不少的照片,下面这个应用程序可以浏览手机中的照片,还可以分享喜欢的照片给朋友。
一款专业的照片分享软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个浏览图片软件,通过软件可以对照片中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的照片分享软件,来满足不同用户的不同要求。
不同手机平台的手机,所支持的照片分享软件也是各不相同,而现在最流行的手机平台就是google的android手机平台,所以本课题就致力于开发出一款基于android手机平台的照片分享软件,给大家分享生活的乐趣带来更多的方便。
1.4论文结构安排
论文将按照下面的描述进行内容的安排。
第一章引言,简要介绍了Android技术的发展,指出了课题研究的背景、意义和主要内容。
第二章Android应用软件开发的核心技术及搭建环境,如Android应用程序组件,数据库技术做了分析和探讨。
第三章描述了软件需求,明确了软件开发的目标,描述了软件的层次结构。
第四章照片分享系统的设计与实现,介绍了显示照片,分享照片,读取手机通讯录部分功能以及发送到指定邮箱的实现。
第五章软件测试,描述了对该照片分享系统进行的测试。
说明了测试的测试环境、测试方法并记录了测试结果。
第六章总结了本课题的研究工作,提出了今后进一步工作的方向。
第二章Android应用软件开发技术原理
2.1Android应用软件开发的核心技术
2.1.1Android应用开发语言
Java是Android上的主流开发语言,各种支持也最完善。
Android发布的API和SDK也都主要是面向Java开发人员的。
我们的照片分享也是用Java开发的。
2.1.2Android应用程序组件
Android应用程序最大的一个特点就是每个应用都由若干组件构成。
而且各个应用程序的组件还可以相互调用(需要在代码中设置相应权限)。
例如假设我们需要编写一个内嵌有网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的ChromeLite浏览器组件。
又如假设我们编写了两个应用程序,其中一个程序中有列表显示图片的组件,那么我们在另外一个应用程序中就可以使用该组件,而不需要再编写该功能。
也就是说,不同于我们平常编写的程序,Android的应用程序不是单一入口,而是可以从代码的不同位置启动。
这就要依靠组件来实现。
Android应用程序的组件有以下四种:
1.Activities
一个activity实际上表现出来的就是一个程序的界面。
这个界面可能有许多种不同的形式,比如有列表形式,有文字形式,有图像格子等形式。
一个应用程序也可能有不止一个activity。
比如一个短消息的程序,需要有列表显示所有消息的activity,还至少需要一个编辑短消息的activity(界面),还可能需要设置、菜单等界面。
每个activity都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其它窗口之上(如Android中的Toast信息),Activity中显示出来的内容其实是由view堆叠形成的,view是由View基类派生出来的各种形式的界面元素,如ListView,GridView等等,通过组合这些view,就形成了一个可见的activity。
我们可以用Activity.setContentView()方法来设置一个activity中所要显示的view。
2.Services
service是一种没有界面的组件,同我们平常在Windows或Linux系统中所理解的“服务”一样,Android上的service也是运行在后台的,运行时间可以从系统启动到系统关闭为止。
对于许多应用程序来说,service组件是至关重要的。
以下载管理器为例,用户肯定希望能够在切换到其它程序时仍然在后台进行下载,这就需要用到service完成下载工作。
而显示下载进度、已下载文件等信息则由activity完成,同时我们还希望能控制下载过程,如停止、继续等,这就需要activity与service之间进行通信。
Android允许activity连接到或者绑定到service上,这样就可以让用户在界面上控制后台service的行为。
3.Broadcastreceivers
Broadcast意为广播消息,Android系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载完毕等。
Broadcastreceiver则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其它组件去处理广播消息。
它可以启动一个activity来同用户交互,也可以使用NotificationManager向用户发出通知。
NitificationManager的通知形式有许多种,比如说振动、响铃、闪LED灯,还可以在Android界面的消息栏处显示信息。
4.Contentproviders
contentprovider是一种为其它应用程序提供数据的组件。
这些数据可以保存在文件中,也可以保存在SQLite数据库中,还可以以其它任何有效的方式保存。
ContentProvider类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。
其它应用程序在需要使用这些数据时,可以用ContentResolver对象,使用其中的方法。
ContentResolver可以与任何contentprovider交互,获取其中的数据。
只要需要某个组件,Android就会尽力保证它的可用:
如果该组件还没启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。
2.1.3Intent介绍
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。
Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。
因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
2.1.4AndroidManifest.xml文件
在Android启动某个程序之前,它得事先知道程序中有哪些组件。
因此,apk文件中需要有一些描述信息,告知Android系统,这个任务就由AndroidManifest.xml文件完成。
AndroidManifest.xml文件是一个结构化的XML文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。
它的基本样式如下所示:
xmlversion="1.0"encoding="utf-8"?
>
name="com.example.project.FreneticActivity" android: icon="@drawable/small_pic.png" android: label="@string/freneticLabel" ...> ... 在Android启动某个程序之前,它得事先知道程序中有哪些组件。 因此,apk文件中需要有一些描述信息,告知Android系统,这个任务就由AndroidManifest.xml文件完成。 AndroidManifest.xml文件是一个结构化的XML文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。 它的基本样式如下所示: xmlversion="1.0"encoding="utf-8"? > name="com.example.project.FreneticActivity" android: icon="@drawable/small_pic.png" android: label="@string/freneticLabel" ...> ... 不难看出,name,icon,lable这些属性就分别指activity的名称、图标、标识。 我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。 在Android启动某个程序之前,它得事先知道程序中有哪些组件。 因此,apk文件中需要有一些描述信息,告知Android系统,这个任务就由AndroidManifest.xml文件完成。 AndroidManifest.xml文件是一个结构化的XML文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。 它的基本样式如下所示: xmlversion="1.0"encoding="utf-8"? > name="com.example.project.FreneticActivity" android: icon="@drawable/small_pic.png" android: label="@string/freneticLabel" ...> ... 不难看出,name,icon,lable这些属性就分别指activity的名称、图标、标识。 我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。 2.2数据库技术 2.2.1创建数据库 Android提供了标准的数据库创建方式。 继承SQLiteOpenHelper,实现onCreate和onUpgrade两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下: publicDBHelper(Contextcontext){//创建数据库 super(context,DATABASE_NAME,null,DATABASE_VERSION); } publicvoidonCreate(SQLiteDatabasedb){//创建时调用 db.execSQL(DATABASE_CREATE); } publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion) {//版本更新时调用 db.execSQL("DROPTABLEIFEXISTSFile_Table"); onCreate(db); } @Override//在ContextProvider运行时自动创建数据库 publicbooleanonCreate(){ dbOpenHelper=newDBHelper(getContext()); returntrue; } 数据库如果创建不成功则抛出FIleNotFoundException异常 2.2.2操作数据库 Android对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个Uri,才能对相应的表进行数据操作。 //数据库删除操作 @Override publicintdelete(Uriarg0,Stringarg1,String[]arg2){ SQLiteDatabasedb=dbOpenHelper.getWritableDatabase(); try{ Db.delete(FileColumn.TABLE,arg1,arg2); }catch(Exceptionex){ ex.printStackTrace(); }return1; } @Override//数据库插入操作 publicUriinsert(Uriuri,ContentValuesvalues){ SQLiteDatabasedb=dbOpenHelper.getWritableDatabase(); longcount=0; try{count=db.insert(FileColumn.TABLE,null,values); }catch(Exceptionex) {ex.printStackTrace();} if(count>0)returnuri; elsereturnnull; } //数据库更新操作 @Override publicintupdate(Uriuri,ContentValuesvalues,Stringselection,String[]selectionArgs){ SQLiteDatabasedb=dbOpenHelper.getWritableDatabase(); inti=0; try{ i=db.update(FileColumn.TABLE,values,selection,null);returni; }catch(Exceptionex){} return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 照片 分享 系统 开发 学位 论文