手机APP移动开发论文Word格式.docx
- 文档编号:20846191
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:14
- 大小:24.77KB
手机APP移动开发论文Word格式.docx
《手机APP移动开发论文Word格式.docx》由会员分享,可在线阅读,更多相关《手机APP移动开发论文Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
【关键词】AndroidSQLiteeclipseBaseAdapter密码手机日记
引言...........................................................4
第一章项目概述................................................5
1.1项目设计背景......................................................5
1.2本人要完成的主要工作..............................................6
第二章项目设计................................................7
2.1项目总体架构......................................................7
2.2数据库设计........................................................7
第三章各项目的设计与实现......................................9
3.1项目初界面........................................................9
3.2主界面...........................................................10
3.2.1写日记.........................................................11
3.2.2查看日记.......................................................13
3.2.3日记搜索.......................................................15
3.2.4日记加密.......................................................17
3.3更多功能.........................................................19
结论..........................................................20
致谢..........................................................21
参考文献......................................................22
随着科技的进步与人们生活质量的提高,手机也成为了人们日常生活不可缺少的一部分。
据准确数据调查,全球人口已超过65亿,其中,互联网使用人数在2014年8月已超过二十亿。
相对于书本知识,人们更加与侧重与手机搜索,或是以打字来代替生活中的一些手写。
其中,书信的减少就是最明显的一项变化。
电话与短信以及现在更加流行的腾讯产品都成为了手机用户日常中重要的交流工具。
随之也有着越来越多的生活中常用的东西被制作成APP软件,便于手机用户更加便捷的使用,其中个人日记本就是一项较为流行的成果。
Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
经过多年的发展,第三代数字通信(3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
第4页共24页4
吧,自主选择是否要对日记进行加密。
本日记本在设计方面,使用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插件模拟手机平台,使用各种课堂上学到的知识运用到软件中,完成所定制的各项功能。
该项目有专门设计的数据库,及时记录与保存用户每次所写的日记。
以上就是本人本次的工作任务。
第6页共24页6
第二章项目设计
2.1项目总体架构
该项目主要分为写日记、查看日记、搜索日记、设置密码、替换背景、用户帮助6个子模块。
的地方,所以为了方便浏览,仅简单的截取了两张数据表以供参考,这两张数据表分别是日记表(diary),密码表(lock)具体表结果如下:
日记表:
diary
2.2数据库设计
本系统后台数据库选用SQLite数据库,数据库中有多张数据表,介于多数表格内容有相似重合
第7页共24页
密码表:
lock
第8页共24页8
第三章各项目的设计与实现
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(){@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
sp=getSharedPreferences("
pass"
Context.MODE_PRIVATE);
StringpassWay=sp.getString("
passway"
null);
Intenti=newIntent(OpenActivity.this,MainActivity.class);
startActivityForResult(i,0);
......
第9页共24页
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写日记
点击“写日记”按钮,你会看到如下界面,分为日期部分,心情部分,标题部分,正文部分。
其中心情部分区内共有六种心情,分别为开心、无奈、伤心、哭泣、生气、害羞。
用户可以根据当天的心情选择适合自己的表情。
图3-3写日记
第11页
共24页11
如果你在任何东西都没填写的状态下按下返回键,那么会有提示框告诉你:
“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());
ArrayAdapter<
CharSequence>
adapter=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();
第12页共24页12
数据库方面代码如下:
publicclassDiary{privateStringdate;
privateStringweekend;
privateStringfeeling;
privateStringcontext;
privateStringdiaryTitle;
privateintid;
publicStringgetDate(){returndate;
}publicvoidsetDate(Stringdate){this.date=date;
}publicStringgetWeekend(){returnweekend;
}......@OverridepublicStringtoString(){return"
Diary[date="
+date+"
weekend="
+weekend+"
feeling="
+feeling+"
context="
+context+"
diaryTitle="
+diaryTitle+"
id="
+id+"
]"
;
}
3.2.2查看日记
当你点击“查看日记”按钮,并且此时里面并没有日记时,会出现如下提示框,当点击“确定”键,用户会直接跳转到写日记的界面。
图3-5提示写日记
第13页
共24页13
以下为查看日记界面的基本代码,当用户进入查看日记按钮后,程序会自行进行文本刷新,将所有文本按写的先后顺序排序出来。
setContentView(R.layout.set_info_diary);
diaryDao=newDiaryDao(this);
diaries=newArrayList<
Diary>
();
back=(ImageView)this.findViewById(R.id.see_back_diary);
context=(ListView)this.findViewById(R.id.diary_list);
refresh();
myDialog();
back.setOnClickListener(newOnClickListener(){
@Override
finish();
myReceiver=newBroadcastReceiver(){
publicvoidonReceive(Contextcontext,Intentintent){
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(){
publicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstub
Intentintent=newIntent();
intent.setClass(SeeActivity.this,
AddActivity.class);
startActivity(intent);
unregisterReceiver(myReceiver);
builder.setNegativeButton(getString(R.string.cancel),
publicvoidonClick(DialogInterfacedialog,intwhich){finish();
第14页共24页14
AlertDialog.Builderbuilder=newAlertDialog.Builder(SearchActivity.this);
builder.setTitle(getString(R.string.op));
builder.setIcon(R.drawable.operate);
builder.setItems(newString[]{getString(R.string.share),getString(R.string.transmit),getString(R.string.delete),getString(R.string.backups),getString(R.string.empty)},newDialogInterface.OnClickListener(){
publicvoidonClick(finalDialogInterfacedialog,intwhich){
if(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(Intent.createChooser(intent,getTitle()));
dialog.dismiss();
builder.setMessage(getString(R.string.delete_sure));
builder.setTitle(getString(R.string.delete));
builder.setIcon(getResources().getDrawable(R.drawable.delete));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机 APP 移动 开发 论文