目录
NANCHANG UNIVERSITY 1
THESIS OF BACHELOR 1
摘 要 4
Abstract 6
第一章 绪论 8
1.1本课题的来源 8
1.2本课题的目的、内容、要求及作者主要贡献 8
1.2.1目的: 8
1.2.2内容: 9
1.2.3要求: 9
1.2.4作者的主要贡献: 9
第二章 Android 应用程序开发环境与工具的选择 10
2.1本课题开发环境的选择 10
2.2本课题开发工具的选择 11
第三章 需求分析 12
3.1 OA系统企业级需求调研 12
3.2程序需要实现的功能 13
3.2.1 用户安全登陆、退出应用程序 13
3.2.2 流程管理 13
3.2.3 日程管理 13
3.2.4 邮件系统 13
3.2.5 通讯录 13
3.2.6 即时通讯系统 13
3.2.7 信息发布 13
3.2.8 统计报表 13
3.3 程序实现方案选择 13
第四章 概要设计 14
4.1 系统的简单设计 14
4.1.1 登录与身份认证 14
4.1.2 公告发布 14
4.1.3 功能菜单 14
4.2系统的效果说明 15
第五章 系统详细设计 18
5.1 系统功能的详细设计 18
5.1.1 登录与身份认证 18
5.1.2 功能菜单 18
5.1设计应用程序框架 20
5.1.1编写应用程序框架 20
5.1.2为应用程序编写开始界面 25
5.1.3为界面按钮增加事件处理 28
5.2 应用程序代码的包的设计 29
5.2.1 Package org.hexor.oa 29
5.2.2 Package org.hexor.oa.bean 29
5.2.3 Package org.hexor.oa.constant 29
5.2.4 Package org.hexor.oa.network 30
5.2.5 Package org.hexor.oa.service 30
5.2.6 Package org.hexor.oa.util 30
5.2.7 Package org.hexor.oa.adapter 30
5.3应用程序内容的设计 30
5.3.1用户身份验证 30
5.3.2数据库存取操作 37
5.3.3流程对象的设计 43
5.3.4应用程序与服务器之间的通讯 43
5.3.5服务器端接收请求的设计 44
5.3.6应用程序线程的设计 44
5.3.7应用程序后台Service的设计 46
5.4添加应用程序的其它功能 59
5.4.1设计关于对话框 59
5.5系统主要界面效果 61
第六章 系统测试 62
6.1测试举例 62
6.1.1测试程序登录页面 62
6.1.2测试程序主页面 62
6.1.3测试程序退出页面 62
6.2测试项目 63
6.2.1单元测试 63
6.2.2组合测试 63
6.2.3确认测试 63
6.2.4系统测试 64
6.2.5用户验收测试 64
6.3测试方法 64
第七章 总 结 65
参考文献(References) 67
致 谢 68
附件:源代码 69
3.2程序需要实现的功能
3.2.1 用户安全登陆、退出应用程序
3.2.2 流程管理
考勤、人事调动、项目申报、发起活动等
3.2.3 日程管理
对项目的持续时间以及工作安排进行监控
3.2.4 邮件系统
企业内部邮件发送
3.2.5 通讯录
企业内部人员的联系方式和通讯信息
3.2.6 即时通讯系统
企业内部即时通讯,交流沟通
3.2.7 信息发布
发布通知,员工第一时间了解到公司的活动与信息
3.2.8 统计报表
定期发送企业内部统计与总结信息
3.3 程序实现方案选择
整个应用尽可能的采用MVC的模式进行架构。
用户界面:
使用各类型的View对象为用户呈现实际内容,并配合使用XML写成的Layout配置文件设定设定页面控件的布局。

业务逻辑:
前台业务逻辑使用Activity控制程序流程走向,并且对用户的触控、点击等操作进行响应。

数据存储:
Android应用使用SQLite数据库进行数据的持久化存储,在程序中使用SQLiteDatabseHelper对象封装对数据的操作。Android客户端数据大部分从服务器端同步获得,并且在客户端作为暂时存储。

第四章 概要设计
4.1 系统的简单设计
4.1.1 登录与身份认证
用户输入账户密码,程序向服务器端验证,验证失败提示失败信息,验证成功则进入下一级界面。
4.1.2 公告发布
在经过成功的用户验证后,应用程序在后台会去获取最新的公司公告信息,并将公告呈现出来,这个页面用户在查看完了之后就可以进入下一页面,当然用户也可以点击跳过按钮,直接进入功能菜单。本文转载自http://www.biyezuopin.vip/onews.asp?id=14588关于公告是否显示,用户可以在设置菜单中进行选择是否在程序的开始显示公告信息。
在用户点击跳过之后,程序进入功能菜单界面。
4.1.3 功能菜单
经过成功的身份认证后,将进入系统的功能菜单,这里将会看到应用程序所能提供的功能。包括:
流程管理
日程管理
通讯录
即时通讯
公告信息
统计报表
系统设置
4.2系统的效果说明
本Android应用程序是一个遵循Android开发UI规则的应用程序,程序在各个方面都与当前Android手机ROM的UI风格保持一致。
程序使用Google的标准界面显示,使用GridView、GridLayout来显示块状的界面button分布。
程序使用Fragment来动态显示需要显示的块状数据。
程序使用ListView、ScrollView等来动态生成拥有特定行数的显示列表,比如说如果在数据中查询得到了20行数据,那么ListView会生成一个只有20行的List并显示给用户。

package org.hexor.oa.constent;import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;import android.os.Environment;
import android.util.Log;final public class Constant {public static final int TYPE_TAB_FACE_MARK = 1;public static final int TYPE_TAB_TIME = 0;public static final int TYPE_TAB_LOCAL = 2;public static final int TYPE_ACTION_FACENOMARK = 1;public static boolean mHasProxy = false;public static String mProxyHost = null;public static int mProxyPort = 0;// private static final String SERVICE_API_PREFIX =// "http://58.215.180.102/api/";// private static final String SERVICE_API_PREFIX =// "http://58.215.180.101/api_v1/";private static final String EXTERNAL_URL_PATH = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/.sm_external_url";private static final String SERVICE_API_PREFIX;public static final String URL_SMARTALBUM_HOMEPAGE = "http://f.sdo.com";public static final String URL_SMARTALBUM_WEIBO = "http://weibo.cn/smartalbum";public static final String URL_FILE_USERFEEDBACK;public static final String URL_FILE_UPLOAD;public static final String URL_FILE_GROUP;public static final String URL_FILE_MODIFY;public static final String URL_FILE_NOTFACE;public static final String URL_FILE_NOTGROUP;public static final String URL_FILE_LOGIN;public static final String URL_FILE_VERSION;public static final String URL_FILE_LOG;public static final String FILE_NAME_UPDATE = "albumupdatemark";public static final String FILE_NAME_NOTFACE = "albumnotface";public static final String FILE_NAME_NOTGROUP = "albumnotgroup";public static final String FILE_PATH_EXTERNAL = "sndaalbum";public static final double FACE_ZOOM_NUM = 1.875;public static final String K_READY = "index_ready";public static final String K_COMPLETE = "com_complete";public final static String K_REVISION = "revision_hash";public final static String K_INTRO = "new_intro";public final static String K_GUIDE1 = "guide_1";public final static String K_GUIDE2 = "guide_2";public static final int SETTING_TYPE_DELETE = 1;public static final int SETTING_TYPE_HIDE = 2;public static final int SETTING_TYPE_UNHIDE = 3;// 修改姓名的typepublic static final int SETTING_NAME_GROUP = 1;// 修改整个组的姓名public static final int SETTING_NAME_ONE = 2;// 修改单张的姓名public static final int MENU_MUTL_NONE = 2;public static final int MENU_MUTL_MULTI = 3;public static final int MENU_MUTL_EDIT = 1;public static final int MOBILE_DIREC_PORTAIT = 1;public static final int MOBILE_DIREC_LANDS = 2;public static final int FACE_UPLOAD_RUNNING = 1;public static final int FACE_UPLOAD_FINISH = 2;public static final int FACE_DETECT_RUNNING = 1;public static final int FACE_DETECT_FINISH = 2;public static int TYPE_OF_SPLASH = 0;public static int TYPE_OF_SETTING = 1;public static String SYS_MMS_URI = "content://mms/part";public static final int TYPE_LOCAL_GATOGERY = 0;public static final int TYPE_TIMED_GATOGERY = 1;public static final int TYPE_FACED_GATOGERY = 2;public static final int TYPE_FACED_UNNAME_CATEGORY = 3;public static final int TYPE_SYSTEM_INTENT_CATEGORY = 4;public final static String PREF_WIFI = "bwifi";public final static String PREF_HEAD = "bhead";public final static String PREF_FRAME = "bframe";public final static String PREF_DATE = "scandate";public final static String PREF_VISITNUM = "visitnum";public final static String PREF_SESSIONID = "sessionid";public final static String NETWORK_NAME_WIFI = "wifi";public static final String PREF_NAME_AUTH = "authedinfo";public static final String PREF_NAME_LOGIN = "logininfo";public static final String PREF_NAME_REG = "registinfo";public static final String SNDA_ALBUM_APPID = "800028600";public static final String CAMERA_IMAGE_BUCKET_NAME = Environment.getExternalStorageDirectory().toString() + "/DCIM/100media";public static final String CAMERA_IMAGE_BUCKET_ID = getBucketId(CAMERA_IMAGE_BUCKET_NAME);public static final String CAMERA_IMAGEOS_BUCKET_NAME = Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera";public static final String CAMERA_IMAGEOS_BUCKET_ID = getBucketId(CAMERA_IMAGEOS_BUCKET_NAME);public static final String CAMERA_ANDRO_BUCKET_NAME = Environment.getExternalStorageDirectory().toString() + "/DCIM/100ANDRO";public static final String CAMERA_ANDRO_BUCKET_ID = getBucketId(CAMERA_ANDRO_BUCKET_NAME);public static final String CAMERA_SHARP_BUCKET_NAME = Environment.getExternalStorageDirectory().toString() + "/DCIM/100SHARP";public static final String CAMERA_SHARP_BUCKET_ID = getBucketId(CAMERA_SHARP_BUCKET_NAME);/*** Matches code in MediaProvider.computeBucketValues. Should be a common* function.*/private static String getBucketId(String path) {return String.valueOf(path.toLowerCase().hashCode());}static {String defaultUrl = "http://58.215.180.101/api_v1/";if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {try {BufferedReader reader = new BufferedReader(new FileReader(EXTERNAL_URL_PATH));defaultUrl = reader.readLine().trim();if(!defaultUrl.endsWith("/")) {defaultUrl = defaultUrl + "/";}Log.d("smartalbum:Constant", "set api url to " + defaultUrl);} catch (FileNotFoundException e) {} catch (IOException e) {}}SERVICE_API_PREFIX = defaultUrl;URL_FILE_USERFEEDBACK = SERVICE_API_PREFIX+ "feedback.php";URL_FILE_UPLOAD = SERVICE_API_PREFIX + "upload";URL_FILE_GROUP = SERVICE_API_PREFIX+ "face_info_new";URL_FILE_MODIFY = SERVICE_API_PREFIX+ "modify/update";URL_FILE_NOTFACE = SERVICE_API_PREFIX+ "modify/notface";URL_FILE_NOTGROUP = SERVICE_API_PREFIX+ "modify/notingroup";URL_FILE_LOGIN = SERVICE_API_PREFIX + "login";URL_FILE_VERSION = SERVICE_API_PREFIX+ "chk_version";URL_FILE_LOG = SERVICE_API_PREFIX+ "upload_xml.php";}}













基于Android的办公自动化系统APP设计与实现相关推荐

  1. Android社团活动设计界面图,基于Android的社团管理APP设计

    一.基本信息 标题:基于Android的社团管理APP设计 作者:张晏齐,田菲,杨洁,杨树媛 时间:2018 来源:中国知网 二.研究背景 随着互联网技术的飞速发展和智能手机的广泛应用,APP作为基于 ...

  2. 基于Android的飞鸟动画APP设计与实现

    基于Android的飞鸟动画APP设计与实现 演示视频 资源下载地址:https://download.csdn.net/download/sheziqiong/86170650 资源下载地址:htt ...

  3. 基于Android实现日语学习app设计与实现演示【附项目源码+论文说明】分享

    基于Android实现日语学习app设计与实现演示 摘要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心的转变.智能手机正在逐步融入我们的生活,并影响和改变着我们的生活.由于现在各种智 ...

  4. 基于Android studio的备忘录app设计

    系统使用Android studio开发平台开发,使用sqlite数据库进行数据存储. 功能如下: 注册登录 管理备忘信息(增删查改) 根据备忘录创建时间快速查询 基于Android studio的备 ...

  5. 基于Android实现日语学习app设计与实现演示【附项目源码+论文说明】

    基于Android实现日语学习app设计与实现演示 摘要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心的转变.智能手机正在逐步融入我们的生活,并影响和改变着我们的生活.由于现在各种智 ...

  6. Java毕业设计_基于Android的智能导游APP设计与实现

    基于Android的智能导游APP设计与实现 基于Android的智能导游APP设计与实现mysql数据库创建语句 基于Android的智能导游APP设计与实现oracle数据库创建语句 基于Andr ...

  7. 基于android的团购app设计与实现,基于Android的掌上团购App设计与实现

    摘要: 传统的商品交易模式受到时间和空间的限制,各种缺陷开始出现,已经不能适应现代互联网时代的需要.移动互联网与智能手机技术为人们生活带来了极大的便捷,通过移动互联网用户可以随时随地的获取信息,或者是 ...

  8. android外卖实验报告,基于Android平台的外卖app设计与实现.doc

    摘要:二十一世纪以来,在计算机及相关技术的高速迅猛发展的背景下,手机的使用逐渐普及并成为生活中不可或缺的一部分.当第一台智能手机问世以后,人类社会中信息的传递开始有了翻天覆地的变化.为了满足目前信息时 ...

  9. 基于Android的五子棋游戏APP设计

    目 录 第一章:绪论 1 1.1智能手机与Android系统的发展历程 1 1.1.1 智能手机 1 1.1.2 Android系统基本情况介绍 2 1.2课题现状及应用前景 3 1.2.1 五子棋简 ...

  10. 基于android的团购app设计与实现,基于Android平台的团购系统设计与实现

    摘要: 随着互联网行业的不断发展和人们消费理念的逐渐转变,网络团购越来越多地影响着人们的生活,并且在电子商务领域成为新的热门.而智能终端设备的快速发展使得移动客户端成为团购的重要载体,它不仅具有网站所 ...

最新文章

  1. 关于Centos下Clamv反病毒软件包更新问题
  2. 线程组多次调用_详细分析 Java 中启动线程的正确和错误方式
  3. Eclipse——UML类图插件
  4. mysql出现Access denied for user ‘root‘@‘%‘ to database ‘xxx‘ 解决办法
  5. java getimage_在Java语言中,为了使用getImage的方法,你需要导入的类是()。
  6. gcc -pthread_错误-在GCC Linux中使用C程序未定义对'pthread_create'的引用
  7. 这个世界上不存在什么弯道超车,只存在正道超车
  8. vscode中如何拉取git代码_工具 | 手把手教你在VSCode中使用Git
  9. Python基础——版本的查询
  10. 51nod1130---斯特林公式
  11. xiao zhang   jia you
  12. 如何获取mac虚拟机激活码 一步学会
  13. dedecms教程:龙书浩最新DedeCmsV5.7建站仿站VIP视频教程免费下载
  14. 最新版 sublime text 3 切换中文方法
  15. 文件属性安全组误删恢复
  16. catia中的螺旋伞齿轮画法_用catia画齿轮教程
  17. 寻找你的热情(1)——检查自己所处的位置
  18. 10个自学编程的学习网站和论坛,都是常去逛的干货网站社区
  19. benchmark java_java使用JMH Java Microbenchmark Harness性能测试 | 程序那些事
  20. Windows PE开发环境

热门文章

  1. 云服务器的安全设置常识
  2. 概率论与数理统计——总结
  3. [Maven] 跨项目调用内容
  4. opencv GPU加速 多GPU卡指定GPU索引方法
  5. winpe查看不到linux硬盘,winpe不显示硬盘?教你轻松搞定pe下不显示硬盘问题
  6. 直接寻址、间接寻址、立即寻址
  7. EXCEL表格中数字金额很大时后面零很多,如何设置直接以万元为单位显示,不显示后面的零
  8. Excel如何让单元数据显示单位又能参与运算?
  9. 顺风车这么难搞,滴滴为何从不放弃?
  10. 5g手机可以用4g的手机卡吗