手机APP移动开发论文.docx

上传人:b****6 文档编号:7111360 上传时间:2023-01-18 格式:DOCX 页数:26 大小:500.41KB
下载 相关 举报
手机APP移动开发论文.docx_第1页
第1页 / 共26页
手机APP移动开发论文.docx_第2页
第2页 / 共26页
手机APP移动开发论文.docx_第3页
第3页 / 共26页
手机APP移动开发论文.docx_第4页
第4页 / 共26页
手机APP移动开发论文.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

手机APP移动开发论文.docx

《手机APP移动开发论文.docx》由会员分享,可在线阅读,更多相关《手机APP移动开发论文.docx(26页珍藏版)》请在冰豆网上搜索。

手机APP移动开发论文.docx

手机手机APP移动开发论文移动开发论文毕业设计(论文)题目个人心情日记本的设计与实现专业计算机网络技术班级网络学号姓名指导教师2016年1月14日个人心情日记本【摘要】据准确数据调查,全球人口已超过65亿,其中,互联网使用人数在2014年8月已超过二十亿。

这就意味着,全球有三分之一的人在使用着互联网,其中,手机人数又是二分之一。

打个比方,十个人里面就有三个人会使用互联网,而在这三个人里面又有一个人会选择用手机上网。

这样庞大的一个数据,已经足够说明互联网正在占领着全球化的趋势。

根据这项调查,又有有关人员深入研究,在一百个人里面仅只有三个人会保持每天写日记的好习惯。

为什么要有写日记的习惯呢?

写日记不仅能帮助你记录每日所发生的事情,是你倾诉的好对象。

因此,本人为了扩大写日记的人数,打算研究一项专门用于写日记的软件。

该安卓项目的设计目的主要是为了满足正在逐渐发展的杭州科技职业技术学院,与大学城领域日渐增多的广大学生的需求。

随着上大学时间增长,越来越发现找到一个有共同爱好,共同话题的朋友是多么的难得。

从而造成了不少的学生不知道向谁吐槽心里话。

或许有着小部分群体,依旧保持着手写日记的习惯,但随着手机越来越便捷化的发展,人们逐渐离不开了手机,这也就衍生了我想要研发一款手机日记本APP的浓厚兴趣。

本系统使用的是eclipse程序来编写Android代码,利用编程与SQLite数据库结构的有效结合,上下结合db与utils的关系,用的配置也是简单的BaseAdapter作为基础数据适配器,简单而又高效的进行开发。

背景色调是选择最简单的小清新为主,不让客户产生厌烦的心理。

为了更好的保护客户的隐私要求,进入日记本之后还可以选择设置密码,显得更为人性化的服务。

此软件在使用过程中并不需要上网,因此也不会造成客户流量的浪费。

虽然本项目只是一款基础的日记本,但是会在今后不断的探索中将功能与维护性进一步的修正、改造与完善,满足各类客户的需求。

【关键词】AndroidSQLiteeclipseBaseAdapter密码手机日记第一章第一章项目概述项目概述1.1项目设计背景项目设计背景Android是一个以Linux系统为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的OpenHandsetAlliance持续领导与开发中。

此外,现在Android已发布的最新版本为Android6.0。

Android最初是由AndyRubin等人开发制作,最初开发这个系统的主要目的是为了创建一个以数码相机为主的先进操作系统,但是后来随着时间的发现这在市场上的需求并不够大,且加上智能手机市场快速成长,于是Android被改造为一款面向智能手机的操作系统。

在2005年8月被美国科技企业Google收购。

底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C+开发。

最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。

不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。

Android手机是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,例如:

手机。

在2011年第一季度,Android手机在全球的市场份额首次超过塞班系统,跃居全球第一。

2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。

2014年第一季度,Android平台手机已占所有移动平台流量来源的42.8%,首都超越ios。

由以上数据可知,电子产品的日益扩大与发展,人们逐渐离不开了手机与电脑,基本上各个出门就是低头一族,为了延续与继承日记本的良好习性,本人逐渐衍生出要研发一款专门在手机上使用的个人日记。

此个人日记本是一项基于人们往日手写日记的习惯制作而成,主要侧重于女生群体,以简单而又小清新的色调为主,能让用户在使用的时候心情能够更加的放松,并且此日记本并不需要消耗流量,能时时刻刻,想写就写。

每个人都会有着多多少少的小秘密,或是一些难以与人沟通的话语,那么就都可以倾诉给个人日记本。

表露了自己的心情后,能释放心中的压力。

如果有些密码不想让别人看到或者是担心谁误拿了自己的手机,怕被看到里面的日记,所以在设计时,体贴而又人性化的在设置中可以进行自行添加密码,是否需要添加密码,全由用户自主选择。

当然,一旦你选择了添加密码,你便为为自己的小秘密增添了一份枷锁,谁也偷窥不到啦。

为了更加有真实感,特地模拟了实际日记本所特有的日期记录,使用时先说明今天年份月份及日子,讲述自己一天以来的所见所闻和感受,最后别忘了给自己这特殊的一天赋予一个心情,毕竟每个人每天的心情都会有所差别的。

写完日记记得返回主界面,除了写日记一个选项外,还有查看日记,搜索日记,设置密码三个主按钮。

点击进入查看日记,你可以看到按日期排布的你以往所写的所有日记,偶尔看看其中一篇,顿时令你想起当日情景,这是多么美好的一件事件啊,帮你留住自己的记忆。

如果你有一天突然想看一篇日记,但又想不起来具体日期了,那么你就选择搜索按钮,进入后输入关键字,进行全数据库搜索。

这样是不是就能节省你不少的时间了?

好处多多,想必关于设置密码也就不用过多介绍了吧,自主选择是否要对日记进行加密。

本日记本在设计方面,使用Android的Activity的布局及组件设计;使用Android的Intent组件完成各个Activity的数据传递及页面跳转;Java对象在互联网传输中的数据对象序列化。

目的在于掌握Java手机应用开发技术和移动软件平台开发技术。

像是在数据库DiaryDao中,分别放置了delete、search、insert、query来进行删除、查询、插入、获取功能。

而在锁设置方面,有check、clear、getlock和savelock来检查、清除、获取密码、保存密码。

在以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,完成在Android平台上运行的“日记”查询软件,形成一款具有一定功能的手机应用软件。

个人日记本的使用,使用户减缓了心中的压力与不快,能够更好的与他人相处,促进了人与人之间的融洽。

用它,于你,于他,于大家,人人和谐。

1.2本人要完成的主要工作本人要完成的主要工作在此次毕业作品设计中,本人主要需要做的是依据现有的Android编程技术设计一款适合安卓智能手机使用的日记本软件。

使其数据能够即使记录,并在用户有需要的时候可以查看。

将一个现实中的日记本完整的还原到手机端上。

在设计项目时,本人是在Java环境下,采用Eclipse开发环境,利用AndroidSDK插件模拟手机平台,使用各种课堂上学到的知识运用到软件中,完成所定制的各项功能。

该项目有专门设计的数据库,及时记录与保存用户每次所写的日记。

以上就是本人本次的工作任务。

第二章第二章项目设计项目设计2.1项目总体架构项目总体架构该项目主要分为写日记、查看日记、搜索日记、设置密码、替换背景、用户帮助6个子模块。

open心情标题栏正文搜索帮助无密码数字密码图图2-1项目设计图2.2数据库设计数据库设计本系统后台数据库选用SQLite数据库,数据库中有多张数据表,介于多数表格内容有相似重合的地方,所以为了方便浏览,仅简单的截取了两张数据表以供参考,这两张数据表分别是日记表(diary),密码表(lock)具体表结果如下:

日记表:

diary字段名数据类型说明datadata主键、自动增长weekdatetime非空diarytitlevarchar(255)标题titlevarchar(255)正文feelingvarchar(40)心情密码表:

lock字段名数据类型说明intint主键、自动增长lockvarchar(40)非空确定lockdouble(6,2)非空NolockVarcahr(40)null第三章各项目的设计与实现3.1项目初界面项目初界面使用过只能手机App的用户都知道,每次登陆一个App都会有个最初的登录界面,所以在设计时,我也先进行设计了一个初级界面,如下图所示:

因为只是一个简单的界面,只有一个按钮,所以代码也来的相对的简单,关键代码如下:

protectedvoidonCreate(BundlesavedInstanceState)/TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.open);open=(Button)this.findViewById(R.id.open);open.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewv)/TODOAuto-generatedmethodstubsp=getSharedPreferences(pass,Context.MODE_PRIVATE);StringpassWay=sp.getString(passway,null);Intenti=newIntent(OpenActivity.this,MainActivity.class);startActivityForResult(i,0);.3.2主界面主界面在主界面中放了五个按钮,分别为写日记、查看日记、日记搜索、日记加密、退出,另外在左下角还有一个小小的图标“more”,点击进入能够查看用户帮助,提供基本操作。

以下为主界面的主要代码,先对文本中会用到的数据进行定义:

privatevoidinit()setContentView(R.layout.set_diary);addDiary=(Button)this.findViewById(R.id.diary_add);seeDiary=(Button)this.findViewById(R.id.see_diary);searchDiary=(Button)this.findViewById(R.id.search_diary);.OverrideprotectedvoidonResume()super.onResume();classMyListenerimplementsOnClickListenerOverridepublicvoidonClick(Viewv)switch(v.getId()caseR.id.diary_add:

Intentintent=newIntent(MainActivity.this,AddActivity.class);startActivity(intent);break;./退出界面privatevoidexitDialog()AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setIcon(R.drawable.quit);builder.setTitle(getString(R.string.quit);builder.setMessage(getString(R.string.is_quit);builder.setPositiveButton(getString(R.string.ok),newDialogInterface.OnClickListener()OverridepublicvoidonClick(DialogInterfacedialog,intwhich)dialog.dismiss();finish(););builder.setNegativeButton(getString(R.string.cancel),newDialogInterface.OnClickListener()OverridepublicvoidonClick(DialogInterfacedialog,intwhich)dialog.dismiss(););builder.setCancelable(false);builder.create().show();.3.2.1写日记写日记点击“写日记”按钮,你会看到如下界面,分为日期部分,心情部分,标题部分,正文部分。

其中心情部分区内共有六种心情,分别为开心、无奈、伤心、哭泣、生气、害羞。

用户可以根据当天的心情选择适合自己的表情。

如果你在任何东西都没填写的状态下按下返回键,那么会有提示框告诉你:

“sorry,savefail!

”只有在填写了内容的情况下退出才会正常保存日记。

图3-4保存失败在代码方面其实并没有做特别多的功能,除了基本的文本,日期,时间等等外,就是在离开的时候进行了判断,判断是否有值在文本编辑框内放入,若是有,则退出时自动保存;若是没有,那么显示保存失败。

privatevoidinit()this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.add_diary);preferences=getSharedPreferences(image,MODE_PRIVATE);date=cal.getTime();simpleDateFormat=newSimpleDateFormat(yyyy-MM-dd);timeTextView=(TextView)this.findViewById(R.id.time);timeTextView.setText(simpleDateFormat.format(date);weekendTextView=(TextView)this.findViewById(R.id.weekend);weekendTextView.setText(DateToWeek(date);feelingSpinner=(Spinner)this.findViewById(R.id.feeling);context=(EditText)this.findViewById(R.id.edit_diary_context);diaryTitle=(EditText)this.findViewById(R.id.edit_title);back=(ImageView)this.findViewById(R.id.back_add_diary);back.setOnClickListener(newBackListener();ArrayAdapteradapter=ArrayAdapter.createFromResource(this,R.array.feeling,android.R.layout.simple_spinner_item);adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);feelingSpinner.setAdapter(adapter);feelingSpinner.setPrompt(getString(R.string.feeling);setBackground();.数据库方面代码如下:

publicclassDiaryprivateStringdate;privateStringweekend;privateStringfeeling;privateStringcontext;privateStringdiaryTitle;privateintid;publicStringgetDate()returndate;publicvoidsetDate(Stringdate)this.date=date;publicStringgetWeekend()returnweekend;.OverridepublicStringtoString()returnDiarydate=+date+,weekend=+weekend+,feeling=+feeling+,context=+context+,diaryTitle=+diaryTitle+,id=+id+;.3.2.2查查看日记看日记当你点击“查看日记”按钮,并且此时里面并没有日记时,会出现如下提示框,当点击“确定”键,用户会直接跳转到写日记的界面。

以下为查看日记界面的基本代码,当用户进入查看日记按钮后,程序会自行进行文本刷新,将所有文本按写的先后顺序排序出来。

privatevoidinit()setContentView(R.layout.set_info_diary);diaryDao=newDiaryDao(this);diaries=newArrayList();back=(ImageView)this.findViewById(R.id.see_back_diary);context=(ListView)this.findViewById(R.id.diary_list);refresh();myDialog();back.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewv)finish(););myReceiver=newBroadcastReceiver()OverridepublicvoidonReceive(Contextcontext,Intentintent)refresh();IntentFilteriFilter=newIntentFilter();iFilter.addAction(com.android.receivemsg);iFilter.setPriority(Integer.MAX_VALUE);/注册广播接收器registerReceiver(myReceiver,iFilter);./用户所有的日记privatevoidmyDialog()if(diaries.isEmpty()|diaries.size()0)AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle(getString(R.string.prompt);/提示builder.setIcon(R.drawable.warning);builder.setMessage(getString(R.string.is_add_diary);builder.setPositiveButton(getString(R.string.ok),newDialogInterface.OnClickListener()OverridepublicvoidonClick(DialogInterfacedialog,intwhich)/TODOAuto-generatedmethodstubIntentintent=newIntent();intent.setClass(SeeActivity.this,AddActivity.class);startActivity(intent);finish();unregisterReceiver(myReceiver););builder.setNegativeButton(getString(R.string.cancel),newDialogInterface.OnClickListener()OverridepublicvoidonClick(DialogInterfacedialog,intwhich)finish();unregisterReceiver(myReceiver););builder.setCancelable(false);builder.create().show();.3.2.3日记搜索日记搜索点击进入“日记搜索”界面,你会发现里面其实并没有什么东西,只有一个搜索框,只需将用户需要搜索的文本内容在文本框内输入,再点击左边的搜索按钮即可。

将会将所有出现过关键字的所有日记都搜索出来。

图3-6日记搜索图3-14日记搜索关于日记搜索界面的关键代码,主要重点是放在编辑框的监听器上面,当监听器监听到有文本被放入进来了,就会对文本进行识别,再进行全日记搜查,直到找出相对应的日记。

/编辑框监听器classSearchInfoListenerimplementsTextWatcherOverridepublicvoidafterTextChanged(Editables)OverridepublicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter)classItemLongPressListenerimplementsOnItemLongClickListenerOverridepublicbooleanonItemLongClick(AdapterViewparent,Viewv,finalintposition,longid)AlertDialog.Builderbuilder=newAlertDialog.Builder(SearchActivity.this);builder.setTitle(getString(R.string.op);builder.setIcon(R.drawable.operate);builder.setItems(newStringgetString(R.string.share),getString(R.string.transmit),getString(R.string.delete),getString(R.string.backups),getString(R.string.empty),newDialogInterface.OnClickListener()OverridepublicvoidonClick(finalDialogInterfacedialog,intwhich)/TODOAuto-generatedmethodstubif(which=0)Intentintent=newIntent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_SUBJECT,getString(R.string.share);intent.putExtra(Intent.EXTRA_TITLE,diaries.get(position).getDiaryTitle();intent.putExtra(Intent.EXTRA_TEXT,diaries.get(position).getContext();intent.setType(text/plain);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);SearchActivity.this.startActivity(In

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

当前位置:首页 > 高中教育 > 理化生

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

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