《Android操作系统及应用》期末作业总结报告.docx

上传人:b****6 文档编号:6336513 上传时间:2023-01-05 格式:DOCX 页数:13 大小:136.08KB
下载 相关 举报
《Android操作系统及应用》期末作业总结报告.docx_第1页
第1页 / 共13页
《Android操作系统及应用》期末作业总结报告.docx_第2页
第2页 / 共13页
《Android操作系统及应用》期末作业总结报告.docx_第3页
第3页 / 共13页
《Android操作系统及应用》期末作业总结报告.docx_第4页
第4页 / 共13页
《Android操作系统及应用》期末作业总结报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

《Android操作系统及应用》期末作业总结报告.docx

《《Android操作系统及应用》期末作业总结报告.docx》由会员分享,可在线阅读,更多相关《《Android操作系统及应用》期末作业总结报告.docx(13页珍藏版)》请在冰豆网上搜索。

《Android操作系统及应用》期末作业总结报告.docx

《Android操作系统及应用》期末作业总结报告

南阳理工学院

计算机与信息工程学院

《Android操作系统与应用》大作业总结报告

 

题目:

便签的设计与开发

 

姓名:

邹长江

学号:

1406915090

班级:

14计科(信息)

 

一作品概述

现在的生活节奏正在变快,人们除了工作和学习之外,还要花费不少的时间在往返的路上,这一现状自然而然的激发了手机移动终端的崛起。

各种各样方便、精美的手机软件已经走进我们的生活。

手机与人们的生活紧密的结合起来,可以说现在人们已经离不开手机了,手机软件会成为手机多媒体时代最受欢迎并且是最有价值的应用。

Android手机应用程序开发是一项复杂的工程。

 

本文研究了Android的系统架构,并在AndroidStudio开发环境下,使用JAVA语言,设计了一个个性化便签软件,该软件可以通过简单的手势添加便签。

二分析

为了跟上现代日益加快的生活节奏,电子工艺技术也在飞速的发展,就目前而言的手机功能已经无法满足人们越来越多的需求了,为了满足需求市场上出现了各种不同的操作系统,Windows mobile、塞班和谷歌的Android操作系统是目前市场上最主要的三个手机操作系统。

其中Android因为有开发源代码的优势使其成为有最大的发展前景的系统。

不同手机平台的手机,所支持的便签软件也是各不一样,目前市场上最流行的手机平台是google的Android手机平台,本课题致力于开发出一款基于Android手机平台的个性化便签,来满足用户的使用需求。

2.1功能分析

本软件属于用户常用的便签。

可以方便用户平时对便签的操作。

本系统应达到以下目标:

(1)软件采用人机交互的方式,界面美观大方,操作灵活、方便。

(2)能够对便签进行有效的管理。

(3)系统应该能够最大程度地实现易维护性和易操作性。

具体功能有:

(1)添加:

添加方便,具有有效的手势操作;

(2)编辑:

对便签进行随时修改;

(3)删除:

对旧的便签进行删除;

(4)查看:

可通过手势对一览表进行上下滑动浏览。

2.2、数据分析

SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。

Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。

在Android系统,为我们提供了一个名为SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库版本进行管理来实现前面提出的需求。

 为了实现对数据库版本进行管理,SQLiteOpenHelper类提供了两个重要的方法,分别是onCreate(SQLiteDatabasedb)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion),前者用于初次使用软件时生成数据库表,后者用于升级软件时更新数据库表结构。

当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构与添加一些应用使用到的初始化数据。

onUpgrade()方法在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号,而数据库的版本是由程序员控制的。

三设计

3.1、模块设计

整个系统大体可以分成三大模块,一是主界面,主要按照时间显示便签;二是新建界面,想要新建便签时,可以点击便签新建符新建项,会弹出该界面;三是编辑界面,点击已有的便签即可进入编辑状态。

总的系统组织结构图如下图所示:

3.2、UI设计

主界面设计:

新建界面设计:

编辑界面设计:

3.3、数据库设计

便签软件只有一个简单的数据表,id为主键,对数据库的更改都在这个表中进行,具体如下图所示:

四系统实现

4.1Android工程程序结构

Android工程的基本结构目录包括:

编写源代码的src、用来存放程序界面的布局配置(.xml)文件和图片资源的资源文件res,代码测试文件test,jar包存放文件ExternalLibraries。

Android资源的类型和布局图如下:

图4-1资源类型和布局图

1、便签代码结构如下图4-2所示。

其中src文件夹包含着整个便签实现的源代码,res文件夹下面是便签软件实现的一个资源,像是界面的布局和界面上需要用到的一些图片,标志等。

图4.2代码结构图

2、便签.Java文件如下图所示。

其中包cn.feixianblue.stickynote下的是便签个界面实现的代码,其中MainActivity.java文件中的是主界面的代码,EditeActivity.java文件中的是创建便签后的界面代码;UpdateActivity.java文件是文本编辑的界面代码。

3、便签软件需要的字符串等配置文件,在values的strings.xml文件中是整个便签软件界面中需要用到的所有字符串,colors.xml文件中是整个便签软件界面中需要到的颜色,styles.xml文件中是整个便签软件界面中页面的样式。

4、便签的图像资源,drawable-hdpi文件下存放的是便签软件中需要用到的一些图片标识。

5、AndroidManifest.xml文件

AndroidMainfest.xml是四大组件的驱动配置文件,有了它的存在,Android程序的四大组件才能够顺利正常的跳转。

任意一个的Android系统的程序启动都要靠AndroidManifest.xml文件来启动程序,每次新建好一个的工程,在其目录都会自动生成一个AndroidManifest.xml文件,这个配置文件为程序能够正常运行提供了保证,是整个工程的核心部分,它里面包括了AndroidSDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的在AndroidManifest.xml文件中找出正确的标识从而作出相应的操作。

每一个AndroidManifest.Xml文件的格式都应该是这样的:

4.2代码实现

1、实现主界面功能的代码:

publicclassMainActivityextendsAppCompatActivity{

privateDBManagerdbManager;

privateListViewlistView;

Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Toolbartoolbar=(Toolbar)findViewById(R.id.toolBar);

setSupportActionBar(toolbar);

listView=(ListView)findViewById(R.id.list_item);

//初始化DBManager

dbManager=newDBManager(MainActivity.this);

listView.setOnItemClickListener(newAdapterView.OnItemClickListener(){

SuppressWarnings("unchecked")

Override

publicvoidonItemClick(AdapterView

>parent,Viewview,intposition,longid){

HashMapmap=(HashMap)parent.getItemAtPosition(position);

StringnoteTitle=map.get("title");

Intentintent=newIntent(MainActivity.this,UpdateActivity.class);

//传数据(将数据传到intent中的bundle类中)

intent.putExtra("title",noteTitle);

startActivity(intent);

finish();//解决在MainActivity页面下返回键失效问题

}

});

}

Override

protectedvoidonStart(){

super.onStart();

Listnotes=dbManager.queryAll();

ArrayList>list=newArrayList>();

for(Notenote:

notes){

HashMapmap=newHashMap();

map.put("title",note.getTitle());

map.put("content",note.getContent());

map.put("info",note.getInfo());

list.add(map);

}

SimpleAdapteradapter=newSimpleAdapter(this,list,android.R.layout.simple_list_item_2,

newString[]{"title","content"},newint[]{android.R.id.text1,android.R.id.text2});

listView.setAdapter(adapter);

}

publicvoidonAddClick(Viewview){

dbManager.closeDB();

startActivity(newIntent(this,EditActivity.class));

finish();

}

Override

protectedvoidonDestroy(){

super.onDestroy();

//应用的最后一个Activity关闭时应释放DB

dbManager.closeDB();

}

}

2、实现便签添加页面代码:

publicclassEditActivityextendsAppCompatActivity{

privateDBManagerdbManager;

privateEditTexteditTitle;

privateEditTexteditContent;

Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_edit);

Toolbartoolbar=(Toolbar)findViewById(R.id.toolBar);

setSupportActionBar(toolbar);

editTitle=(EditText)findViewById(R.id.edit_title);

editContent=(EditText)findViewById(R.id.edit_content);

dbManager=newDBManager(this);

}

publicvoidonSaveClick(Viewview){

Notenote=newNote();

if(dbManager.queryByTitle(editTitle.getText().toString())==null){

note.setTitle(editTitle.getText().toString());

note.setContent(editContent.getText().toString());

dbManager.add(note);

dbManager.closeDB();

startActivity(newIntent(this,MainActivity.class));

finish();

}else{

Toast.makeText(EditActivity.this,"保存失败,Title已存在!

",Toast.LENGTH_LONG).show();

}

}

}

3、实现页面编辑代码:

publicclassUpdateActivityextendsAppCompatActivity{

privateDBManagerdbManager;

privateEditTexteditTitle;

privateEditTexteditContent;

privateNotenote;

privateStringownTitle;

Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_update);

Toolbartoolbar=(Toolbar)findViewById(R.id.toolBar);

setSupportActionBar(toolbar);

editTitle=(EditText)findViewById(R.id.edit_title);

editContent=(EditText)findViewById(R.id.edit_content);

dbManager=newDBManager(this);

Intentintent=getIntent();

//获取数据(从intent对象中获取bundle中的数据)

Bundlebundle=intent.getExtras();

//获取数据(从bundle中依据id获取数据值)

ownTitle=bundle.getString("title");

note=dbManager.queryByTitle(ownTitle);

if(note==null){

Log.d("uuuuuuuuuuuuuuuuu","note==null");

}

Log.d("idididididididididid","note_id="+note.getId());

editTitle.setText(note.getTitle());

editContent.setText(note.getContent());

}

publicvoidonUpdateClick(Viewview){

Noten=dbManager.queryByTitle(editTitle.getText().toString());

if(n==null||n.getTitle().equals(ownTitle)){

note.setTitle(editTitle.getText().toString());

note.setContent(editContent.getText().toString());

dbManager.update(note);

dbManager.closeDB();

startActivity(newIntent(this,MainActivity.class));

finish();

}else{

Toast.makeText(UpdateActivity.this,"保存失败,Title已存在!

",Toast.LENGTH_LONG).show();

}

}

publicvoidonDeleteClick(Viewview){

dbManager.delete(note.getId());

dbManager.closeDB();

startActivity(newIntent(this,MainActivity.class));

finish();

}

}

五系统测试

1、用户在启动便签软件时进去便签主界面,最上面是便签名称“便签”,右下角的红色“+”符号点是添加新的便签按钮,白色区域排列的是已建的便签,具体如下图所示:

2、进入添加界面后,红色底线是标题栏,灰色底线是便签容,编辑完成后可以点击灰色保存键,若存在一样的标题,则会出现相关提示,具体如下图所示:

3、想对已有的便签进行修改或删除时,进入编辑页面,具体如图所示:

六设计体会

本文在Android平台上开发便签软件上做了大量的工作,由于个人的经验和水平有限,因此功能设计得比较简单,只满足了便签基本的应用功能。

随着电子工艺技术日新月异的发展,便签的功能性也在不断的向前延伸,其应用也将越来越广,手机,平板,电脑等设备都能够用得上,且会成为必需品,这将激励着我们不停的摸索新的需求,发展的技术促使系统更加完善,更加人性化。

我们要秉着没有最好只有更好的原则在Android软件的舞台上尽情发挥。

致力于开发简单快捷方便好用的软件,只有功能强大、使用方便的软件才能牢牢的抓住使用者的心。

七参考文献

[1]健,贺超著.Android和Chrome的发展与未来[J].移动通信,2010.

[2]正政,林耀荣著,基于Android系统的影音播放器开发[J].现代电子技术,2011.

[3]董士海.人机交互的进展与面临的挑战[J].计算机辅助设计与图形学学报,2004.

[4]付永刚,凤军,戴国忠.双手交互界面研究进展[J].计算机研究与发展,2005.

[5]E2Ecloud工作室.深入浅出Android[M].:

人民邮电,2009.

[6]郭志宏.Android应用开发详解[M].:

电子工业,2010.

[7]R.Rogers.Android应用开发[M].耀亮,译.:

人民邮电,2010.

[8]马越.Android的架构与应用[D].中国地质大学,2008.

[9]凯.Android操作系统分析与移植[D].华南理工大学,2011.

[10]郭宏志.Android应用开发详解[M].:

电子工业,2010.

 

教师评语:

 

成绩:

教师签字:

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

当前位置:首页 > 表格模板 > 合同协议

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

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