《Android操作系统及应用》期末作业总结报告_第1页
《Android操作系统及应用》期末作业总结报告_第2页
《Android操作系统及应用》期末作业总结报告_第3页
《Android操作系统及应用》期末作业总结报告_第4页
《Android操作系统及应用》期末作业总结报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南 阳 理 工 学 院计 算 机 与 信 息 工 程 学 院Android操作系统及应用大作业总结报告题目: 便签的设计与开发 姓 名: 邹长江 学 号: 班 级: 14计科(信息) 目 录一 作品概述1二 分析12.1功能分析12.2、数据分析1三 设计23.1、模块设计23.2、UI设计33.3、数据库设计3四 系统实现34.1Android工程程序结构34.2代码实现6五 系统测试10六 设计体会11七 参考文献11一 作品概述现在的生活节奏正在变快,人们除了工作和学习之外,还要花费不少的时间在往返的路上,这一现状自然而然的激发了手机移动终端的崛起。各种各样方便、精美的手机软件已经走进我们的生活。手机与人们的生活紧密的结合起来,可以说现在人们已经离不开手机了,手机软件会成为手机多媒体时代最受欢迎并且是最有价值的应用。Android手机应用程序开发是一项复杂的工程。 本文研究了Android的系统架构,并在Android Studio开发环境下,使用JAVA语言,设计了一个个性化便签软件,该软件可以通过简单的手势添加便签。二 分析为了跟上现代日益加快的生活节奏,电子工艺技术也在飞速的发展,就目前而言的手机功能已经无法满足人们越来越多的需求了,为了满足需求市场上出现了各种不同的操作系统,Windowsmobile、塞班和谷歌的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(SQLiteDatabasedb,intoldVersion,intnewVersion),前者用于初次使用软件时生成数据库表,后者用于升级软件时更新数据库表结构。当调用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包存放文件External Libraries。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文件,这个配置文件为程序能够正常运行提供了保证,是整个工程的核心部分,它里面包括了Android SDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的在AndroidManifest.xml文件中找出正确的标识从而作出相应的操作。每一个AndroidManifest.Xml文件的格式都应该是这样的:4.2代码实现1、实现主界面功能的代码:public class MainActivity extends AppCompatActivity private DBManager dbManager; private ListView listView; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar); setSupportActionBar(toolbar); listView = (ListView) findViewById(R.id.list_item); /初始化DBManager dbManager = new DBManager(MainActivity.this); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() SuppressWarnings(unchecked) Override public void onItemClick(AdapterView parent, View view, int position, long id) HashMap map = (HashMap) parent.getItemAtPosition(position); String noteTitle = map.get(title); Intent intent = new Intent(MainActivity.this,UpdateActivity.class); /传数据(将数据传到intent中的bundle类中) intent.putExtra(title, noteTitle); startActivity(intent); finish();/解决在MainActivity页面下返回键失效问题 ); Override protected void onStart() super.onStart(); List notes = dbManager.queryAll(); ArrayListMap list = new ArrayListMap(); for (Note note : notes) HashMap map = new HashMap(); map.put(title, note.getTitle(); map.put(content, note.getContent(); map.put(info, note.getInfo(); list.add(map); SimpleAdapter adapter = new SimpleAdapter(this, list, android.R.layout.simple_list_item_2, new Stringtitle, content, new intandroid.R.id.text1, android.R.id.text2); listView.setAdapter(adapter); public void onAddClick(View view) dbManager.closeDB(); startActivity(new Intent(this, EditActivity.class); finish(); Override protected void onDestroy() super.onDestroy(); /应用的最后一个Activity关闭时应释放DB dbManager.closeDB(); 2、 实现便签添加页面代码:public class EditActivity extends AppCompatActivity private DBManager dbManager; private EditText editTitle; private EditText editContent; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit); Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar); setSupportActionBar(toolbar); editTitle = (EditText) findViewById(R.id.edit_title); editContent = (EditText) findViewById(R.id.edit_content); dbManager = new DBManager(this); public void onSaveClick(View view) Note note = new Note(); if(dbManager.queryByTitle(editTitle.getText().toString() = null) note.setTitle(editTitle.getText().toString(); note.setContent(editContent.getText().toString(); dbManager.add(note); dbManager.closeDB(); startActivity(new Intent(this, MainActivity.class); finish(); else Toast.makeText(EditActivity.this, 保存失败,Title 已存在!, Toast.LENGTH_LONG).show(); 3、实现页面编辑代码:public class UpdateActivity extends AppCompatActivity private DBManager dbManager; private EditText editTitle; private EditText editContent; private Note note; private String ownTitle; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_update); Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar); setSupportActionBar(toolbar); editTitle = (EditText) findViewById(R.id.edit_title); editContent = (EditText) findViewById(R.id.edit_content); dbManager = new DBManager(this); Intent intent = getIntent(); /获取数据(从intent对象中获取bundle中的数据) Bundle bundle = 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(); public void onUpdateClick(View view) Note n = 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(new Intent(this, MainActivity.class); finish(); else Toast.makeText(UpdateActivity.this, 保存失败,Title 已存在!, Toast.LENGTH_LONG).show(); public void onDeleteClick(View view) dbManager.delete(note.getId(); dbManager.closeDB(); startActivity(new Intent(this, MainActivity.class); finish(); 五 系统测试1、用户在启动便签软件时进去便签主界面,最上面是便签名称“便签”,右下角的红色“+”符号点是添加新的便签按钮,白色区域内排列的是已建的便签,具体如下图所示:2、 进入添加界面后,红色底线是标题栏,灰色底线是便签

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论