已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 AndroidAndroid 的智能化经济普查移的智能化经济普查移 动服务系统的设计与实现毕业论文动服务系统的设计与实现毕业论文 目录目录 第一章第一章 研究现状与研究意义研究现状与研究意义 2 1 1 研究现状 2 1 2 研究意义 2 1 3 研究内容 2 1 4 本文可能的创新点 2 1 5 篇章组织结构 2 第二章第二章 相关理论相关理论 2 2 1 ANDROID相关理论 2 2 1 1 ANDROID简介 2 2 1 2 ANDROID系统特性 2 2 1 3 ANDROID框架 2 2 2 开发技术相关理论 2 2 2 1 开放性 2 2 2 2 挣脱运营商的束缚 2 2 2 3 丰富的硬件选择 2 2 2 4 不受任何限制的开发商 2 2 2 5 无缝结合的 GOOGLE应用 2 2 1 3ANDROID框架 2 第三章第三章 系统设计系统设计 3 3 1 需求设计 3 3 1 架构设计 3 3 2 功能组设计 3 3 3 接口设计 3 3 4 数据设计 3 第四章第四章 系统实现系统实现 3 4 1移动终端系统实现 3 4 2 后台管理功能界面实现 3 第五章 总结与展望 3 5 1 总结与展望 3 致谢 3 参考文献 3 第 1 章 绪 论 第一章 绪论 1 1 研究现状 我国第二次经济普查自 2008 年 12 月 31 日正式启动以来 现在已基本完成 普查数据的 收集 处理与上报工作 本次经济普查是我国经济发展进入 21 世 纪后进行的一项重大国情国力调查 是党中央 国务院为正确认识国情 准确 把握国力 科学制定国策而采取的一项重要举措 也是在全球金融危机大背景 下正确把握我国当前经济状况的重要渠道的 只有通过经济普查 才能比较准 确地把握中国经济变化的规律和趋势 正确制定经济政策和社会经济发展规划 进一步控制经济增长 提高经济发展速度 促进经济和社会协调发展 推动可 持续发展战略的实施 在这次经济普查中 从国民经济行业分类的具体构成来 看 涉及到个大的行业归类 个行业小类 可以说这次经济普查提供的数据是 非常完整的 面对普查之后的海量数据存储 国家更需要有力的数据分析工具 以及方法将丰富的数据转换成有价值的知识 否则大量的数据将成为数据丰富 但信息贫乏的 数据坟墓 国内经济普查实践与数据分析现状事实上 经济普查的主要目的就是分析 企业的财务信息 也就是财务数据挖掘 财务数据挖掘其实是一类深层次的财 务数据分析方法 目前的经济普查系统可以高效地实现数据录入 查询和统计 但却无法发现数据中存在的关系和规则 无法根据现有的经普数据分析结果预 测未来经济发展趋势 传统的财务分析只是停留在较浅层次的分析 比如 因 素分析 比例分析 趋势分析等 对决策的帮助并不大 究其原因 正式缺乏 有效的挖掘知识和手段 导致了 数据爆炸但知识贫乏 的现象 而随着数据 库技术的迅速发展以及数据库系统的广泛应用 企业积累的数据越来越多 如 自身业务运作的数据 资金运作的数据 对外投资的数据和整个市场相关行业 状况的各种数据 激增的数据背后隐藏着许多重要的信息 这些数据不再是为 了编制财务经济报表 分析财务状况而收集 分析这些数据也不再单纯为了了 解企业各种状况 更主要的是为决策者提供真正有价值的信息 也可帮助企业 提供竞争力 在这种情况下 数据挖掘技术就显得至关重要 1 2 研究意义 国家统计局信息化建设从 20 世纪 80 年代开始 经过不断探索和尝试 至 今 西安工程大学学士学位论文 已具有大型普查 专项调查及日常统计数据采集加工处理 数据发布等功能 拥有各种专业应用系统 网站系统 办公自动化系统 但是 统计行业信息化 工作尚未实现全过程的自动化与信息化 目前多数调查技术 特别是在地毯式 入户调查环节 多采用人工方式进行核实与指标项采集 智能化采集手段存在 空白 效率相对比较低 客观准确性难以掌控 难以提供更加科学 准确 及 时的数据支撑 国家统计局局长马建堂明确指出 在更大范围内实现中国统计 的信息化和现代化已经是刻不容缓的任务 并多次强调要发展以 PAD 为代表的 智能采集技术手段的设想 资源类调查数据的完整性 准确性 时效性等要求 需要在空间信息的基 础上 通过地面数据采集的精细化 实时性 交互验证等手段 形成一个真实 有效 完整精确的资源调查统计结果 用于支撑政府制定指导经济社会运行的 宏观管理与科学决策 目前 统计行业内部的信息化工作 主要体现在后端数 据的管理与分析 前端的智能化采集手段存在空白 多采用人工方式进行核实 与指标项采集 智能化 信息化手段比较落后 效率相对比较低 客观准确性 难以掌控 对于 不重不漏 应统尽统 的调查统计目标实现的保障尚有进一 步提升的空间 国家统计局已明确了在第三次经济普查中使用手持移动调查终端设备的指 导思想 国家统计局正在积极筹备 计划于 9 月中旬在北京及外省选取两个区 县进行试用 另外 国家统计局已申请世界银行贷款项目 并已在第 4686 期 中国信息报 发布了 国家统计局普查中心关于就 指导统计地理信息系统 平台建设 移动终端 征询意见 的项目公告 以支持对统计调查对象信息 移动采集终端技术的研究 基于良好的市场应用前景 以及相对明确的用户需 求 特申请重新启动项目 本项目面向即将于 9 月份开始的第三次全国经济普查前期试点工作的业务 需求 力争在 2013 年 5 底前完成相对完善的应用系统 并通过 9 月份配合国家 统计局进行的试点试用工作 对用户需求 行业及技术环境 资源支撑 技术 关键点 应用价值等方面进行详尽评价与分析 扎实推进该项目在 2013 年的第 三次全国经济普查全面应用 1 3 研究内容 智能化经济普查移动服务系统 由智能手持移动调查终端 调查信息统计 管理平台两部分组成 其目的就是提高普查效率 采集企业空间位置信息 弥补 智能化采集手段的空白 系统建成后 将在全国范围内选取试点进行试用 西安工程大学学士学位论文 1 4 本文可能的创新点 离线地图 采用 Atmap 离线地图引擎 负责离线切片地图数据的展示 离线地图引擎的设计 可以在没有网络环境的情况下载图作业 节约了普 查成本 实现流程如下 1 地图切片存储 是把在线地图 google map MircroSoft map WMS 服务 以切片的形式存储到 sqlite 库中 SQLite 是一款轻型 的数据库 是遵守 ACID 的关联式数据库管理系统 它的设计目标是嵌入 式的 而且目前已经在很多嵌入式产品中使用了它 它占用资源非常的 低 在嵌入式设备中 可能只需要几百 K 的内存就够了 它能够支持 Windows Linux Unix 等等主流的操作系统 同时能够跟很多程序语言相 结合 比如 Tcl C PHP Java 等 还有 ODBC 接口 同样比起 Mysql PostgreSQL 这两款开源世界著名的数据库管理系统来讲 它的处 理速度比他们都快 2 在 map xml 中配置离线地图的名称和路径 3 通过 Atmaps 地图引擎即可实现地图的展示和操作 操作包括 地图平 移 地图放大 缩小 poi 加载 图层叠加等 西安工程大学学士学位论文 西安工程大学学士学位论文 第二章 相关理论 2 1 Android 相关理论 Linux 操作系统是 UNIX 操作系统的一种克隆系统 它诞生于 1991 年的 10 月 5 日 这是第一次正式向外公布的时间 以后借助于 Internet 网络 并通 过全世界各地计算机爱好者的共同努力 已成为今天世界上使用最多的一种 UNIX 类操作系统 并且使用人数还在迅猛增长 Linux 是一套免费使用和自由传播的类 Unix 操作系统 是一个基于 POSIX 和 UNIX 的多用户 多任务 支持多线程和多 CPU 的操作系统 它能运行主要的 UNIX 工具软件 应用程序和网络协议 它支持 32 位和 64 位硬件 Linux 继承 了 Unix 以网络为核心的设计思想 是一个性能稳定的多用户网络操作系统 它 主要用于基于 Intel x86 系列 CPU 的计算机上 这个系统是由全世界各地的成 千上万的程序员设计和实现的 其目的是建立不受任何商品化软件的版权制约 的 全世界都能自由使用的 Unix 兼容产品 Linux 以它的高效性和灵活性著称 Linux 模块化的设计结构 使得它既能在价 格昂贵的工作站上运行 也能够在廉价的 PC 机上实现全部的 Unix 特性 具有 多任务 多用户的能力 Linux 是在 GNU 公共许可权限下免费获得的 是一个 符合 POSIX 标准的操作系统 Linux 操作系统软件包不仅包括完整的 Linux 操 作系统 而且还包括了文本编辑器 高级语言编译器等应用软件 它还包括带 有多个窗口管理器的 X Windows 图形用户界面 如同我们使用 Windows NT 一样 允许我们使用窗口 图标和菜单对系统进行操作 SQLiteSQLite 数据库是遵守 ACID 的关系型数据库管理系统 它包含在一个相对 小的 C 库中 它是 D RichardHipp 建立的公有领域项目 不像常见的客户 服务器范例 SQLite 引擎不是个程序与之通信的独立进程 而是连接到程序中成为它的一个主要部分 所以主要的通信协议是在编程语言 内的直接 API 调用 这在消耗总量 延迟时间和整体简单性上有积极的作用 整个数据库 定义 表 索引和数据本身 都在宿主主机上存储在一个单一的文 件中 它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成 的 2 1 12 1 1 AndroidAndroid 简介简介 Android 是一种基于 Linux 的自由及开放源代码的操作系统 主要使用于 移动设备 如智能手机和平板电脑 由 Google 公司和开放手机联盟领导及开发 Android 操作系统最初由 Andy Rubin 开发 主要支持手机 2005 年 8 月由 西安工程大学学士学位论文 Google 收购注资 2007 年 11 月 Google 与 84 家硬件制造商 软件开发商及 电信营运商组建开放手机联盟共同研发改良 Android 系统 随后 Google 以 Apache 开源许可证的授权方式 发布了 Android 的源代码 第一部 Android 智 能手机发布于 2008 年 10 月 Android 逐渐扩展到平板电脑及其他领域上 如 电视 数码相机 游戏机等 2 1 22 1 2 AndroidAndroid 系统特性系统特性 1 1 开放性 开放性 在优势方面 Android 平台首先就是其开放性 开放的平台允 android 系 统标志许任何移动终端厂商加入到 Android 联盟中来 显著的开放性可以使其 拥有更多的开发者 随着用户和应用的日益丰富 一个崭新的平台也将很快走 向成熟 开放性对于 Android 的发展而言 有利于积累人气 这里的人气包括消费者和 厂商 而对于消费者来讲 最大的受益正是丰富的软件资源 开放的平台也会 带来更大竞争 如此一来 消费者将可以用更低的价位购得心仪的手机 2 2 挣脱运营商的束缚 挣脱运营商的束缚 在过去很长的一段时间 特别是在欧美地区 手机应用往往受到运营商制 约 使用什么功能接入什么网络 几乎都受到运营商的控制 自从 iPhone 上市 用户可以更加方便地连接网络 运营商的制约减少 随着 EDGE HSDPA 这些 2G 至 3G 移动网络的逐步过渡和提升 手机随意接入网络已不是运营商口中的笑谈 3 3 丰富的硬件选择 丰富的硬件选择 这一点还是与 Android 平台的开放性相关 由于 Android 的开放性 众多 的厂商会推出千奇百怪 功能特色各具的多种产品 功能上的差异和特色 却 不会影响到数据同步 甚至的兼容 好比你从诺基亚 Symbian 风格手机一下改 用苹果 iPhone 同时还可将 Symbian 中优秀的软件带到 iPhone 上使用 联系 人等资料更是可以方便地转移 4 4 不受任何限制的开发商不受任何限制的开发商 Android 平台提供给第三方开发商一个十分宽泛 自由的环境 因此不会 受到各种条条框框的阻扰 可想而知 会有多少新颖别致的软件会诞生 但也 有其两面性 血腥 暴力 情色方面的程序和游戏如何控制正是留给 Android 难题之一 5 5 无缝结合的无缝结合的 GoogleGoogle 应用应用 如今叱诧互联网的 Google 已经走过 10 年度历史 从搜索巨人到全面的互 联网渗透 Google 服务如地图 邮件 搜索等已经成为连接用户和互联网的重 要纽带 而 Android 平台手机将无缝结合这些优秀的 Google 服务 西安工程大学学士学位论文 2 1 32 1 3 AndroidAndroid 框架框架 Android 的系统架构和其操作系统一样 采用了分层的架构 分为四个层 从高层到低层分别是应用程序层 应用程序框架层 系统运行库层和 Linux 内 核层 1 1 应用程序 应用程序 Android 会同一系列核心应用程序包一起发布 该应用程序包包括客户端 SMS 短消息程序 日历 地图 浏览器 联系人管理程序等 所有的应用程序 都是使用 JAVA 语言编写的 2 2 应用程序框架 应用程序框架 开发人员也可以完全访问核心应用程序所使用的 API 框架 该应用程序的 架构设计简化了组件的重用 任何一个应用程序都可以发布它的功能块并且任何 其它的应用程序都可以使用其所发布的功能块 不过得遵循框架的安全性 同 样 该应用程序重用机制也使用户可以方便的替换程序组件 隐藏在每个应用 后面的是一系列的服务和系统 其中包括 丰富而又可扩展的视图 Views 可以用来构建应用程序 它包括列表 Lists 网格 Grids 文本框 Text boxes 按钮 Buttons 甚至可 嵌入的 web 浏览器 内容提供器 Content Providers 使得应用程序可以访问另一个应用程序 的数据 如联系人数据库 或者共享它们自己的数据 资源管理器 Resource Manager 提供 非代码资源的访问 如本地字符串 图形 和布局文件 Layout files 通知管理器 Notification Manager 使得应用程序可以在状态栏中显示 自定义的提示信息 活动管理器 Activity Manager 用来管理应用程序生命周期并提供常用 的导航回退功能 Android 开发四大组件分别是 活动 Activity 用于表现功能 服务 Service 后台运行服务 不提供界面呈现 广播接收器 BroadcastReceiver 用于接收广播 内容提供商 Content Provider 支持在多个应用中存储和读取数据 相当于数据库 西安工程大学学士学位论文 第 3 章 系统设计 3 1 需求分析 国家统计局统计局有 16 个部门 有经济普查统计报表任务的部门包括 投资处 工业与交通处 社会与科技处 贸易与外经处 服务业调查处 产业 调查处 企业监测处 普查中心 各组织机构的相关统计专业及报表情况 目前对有经济普查调查的相关处 室相关的专业调查表情况进行了排查 相关的 8 个专业处室涉及 22 个专业统 计类项目 目前使用的软件情况 a 贸易与外经处 SARP b 工业与交通处 Foxbase c 社会与科技处 服务业调查处 产业调查处 普查中心和企业监测处 使用国家下发的软件 Sarp Foxpro d 当前用户使用的软件特点 一是客户机需要安装 foxbase 需要发放光盘 二是可 以实现离线录入 批量审核 三是程序相对固定 代码维护量大 系统维 护工作量大 3 2 架构设计 架构设计 如图 3 1 所示 图 3 1 经济普查系统架构 西安工程大学学士学位论文 在 Android 自身架构的基础上 我们开发了一系列的组件 主要面对国土 环保 统计等行业 包括离线地图展示引擎 数据交互引擎 数据解析存储引 擎 EForm 表单引擎等 基本可以满足采集系统的需求 3 2 业务架构 本系统分为移动调查终端和后台处理系统两部分 后台负责生成任务包下 发给客户端 和接收客户端普查完毕的数据进行汇总 展示 分析 Pad 端负 责企业 建筑物数据的普查 后台负责成果合并 轨迹展示等 业务架构 如图 3 2 所示 图 3 2 业务架构 西安工程大学学士学位论文 3 3 组件设计 3 3 13 3 1 引用组件引用组件 Pinyi4j 组件 负责拼音首字母的模糊检索 3 3 23 3 2 开发组件开发组件 Atmap 组件 负责离线地图的展示 Compent 组件 负责 json xml 的解析 自定义组件的引用 3 4 数据库设计 数据库设计 如图 3 3 和图 3 4 所示 图 3 3 数据库设计 西安工程大学学士学位论文 图 3 4 数据库设计 第 4 章 系统实现 第 4 章 系统实现 4 1 登录验证 登录验证 用户填写账号 密码登录后 系统校验器账号密码的合法性 如果合法 则显示登录用户的任务列表 如果验证失败 则返回登录错误 其中校验采用离线校验 即账号 密码文件存放在 sdcard 21at jjpc user xml 中 其中用户名 密码采用 MD5 加密 类与需求对应关系表 如表 4 1 所示 表 4 1 类与需求对应关系表 类类对应需求编号对应需求编号关联文件关联文件功能组 点 功能组 点 类名类名简述简述 用户登录用户登录 LoginActivityLoginActivity 用户登录类用户登录类 B 6 1 1 2B 6 1 1 2 com jjpc activity LoginActivity com jjpc activity LoginActivity 用户登录类用户登录类 1 1 说明 说明 该类负责登录页面的显示 包括两个账号输入框 密码输入框 登录按钮 退出按钮 通过用户输入的账号密码与 sdcard 中的 user xml 进行校验 2 2 属性设计 属性设计 1 userName eidt 声明账号输入框控件 2 password edit 声明密码输入框控件 3login button 声明登录按钮控件 4long cancle 声明退出系统按钮控 参考文献 15 3 1 5 3 方法设计 3 1 5 3 1login String username String password 3 1 5 3 1 1 输入 1 账号 2 密码 3 1 5 3 1 2 输出输出 用户名密码错误或者直接跳转到任务列表页面 3 1 5 3 1 3 算法算法 1 将输入密码 MD5 加密 2 读取 sdcard 21at jjpc user xml 中的 username password 3 进行校验 public static String Md5 String plainText try MessageDigest md MessageDigest getInstance MD5 md update plainText getBytes byte b md digest int i StringBuffer buf new StringBuffer for int offset 0 offset b length offset i b offset if i 0 i 256 if i 16 buf append 0 buf append Integer toHexString i return buf toString catch NoSuchAlgorithmException e TODO Auto generated catch block e printStackTrace return 参考文献 16 4 1 6 系统界面系统界面 如图如图 4 1 所示 所示 图 4 1 登陆验证 4 2 任务列表任务列表 3 2 1 整体设计整体设计 用户登录成功后 系统会从指定文件夹 sdcard 21at jjpc 区县名 乡镇名 遍历普查区 系统要求 不可人为的删除任务包 不可更改普查区的目录结构 不可在工作目录下 添加无用的文件夹 文件 3 2 4 类与需求对应关系表 如表类与需求对应关系表 如表 4 2 所示 所示 表 4 2 类与需求对应关系表 类类对应需求编号对应需求编号关联文件关联文件功能组 点 功能组 点 类名类名简述简述 任务列表任务列表 TaskChooseActTaskChooseAct 任务列表界面任务列表界面 B 6 1 2 1B 6 1 2 1 参考文献 17 ivityivity 3 2 5com jjpc activity TaskChooseActivity 3 2 5com jjpc activity TaskChooseActivity 任务选择类任务选择类 3 2 5 1 说明说明 此类负责任务的列表展示 页面左上角有一个 退出系统 按钮 点击此按钮弹出对话框 是否退出系统 点击 是 退出系统 针对每一条任务都两项操作 1 查看任务 2 任务统计 点击查看任务按钮 进入任务统计页面 点击 查看任务 按钮 进入地图页面 3 2 5 2 属性设计属性设计 1 taskListView 声明普查区文字列表的载体 2 HashMap data 填充 list view 空间的数据载体 3pre button 声明上一步按钮 3 2 5 3 方法设计方法设计 3 5 3 1getSharedPreferences String int 3 5 3 1 1 输入输入 1文件名称 2读写权限 3 5 3 1 2 输出输出 用户名 文件路径 3 5 3 1 3 算法算法 List lstaskforder Utils getRenwuquName TaskChooseActivity this getSharedPreferences now task xml 0 getString filepath String taskFolderName lstaskforder get 0 List ls Utils refreshFileList TaskChooseActivity this getSharedPreferences now task xml 0 getString filepath taskFolderName 参考文献 18 AtUtils setSharedPreferencesString TaskChooseActivity this now task xml renwupath TaskChooseActivity this getSharedPreferences now task xml 0 getString filepath taskFolderName for int i 0 i ls size i Map m1 new HashMap m1 put title ls get i lm add m1 3 2 6 系统界面 如图系统界面 如图 4 2 所示所示 图 4 2 任务列表 参考文献 19 4 3 地图展示地图展示 3 4 1 整体设计整体设计 地图的展示页面 主要作用是辅助普查员进行建筑物的定位 主要显示普查区底图 普查区轮廓 建筑物 poi 支持平移 放大 缩小 支持建筑物 poi 的单击 长按事件响应 单击图标进入建筑物详情 长按建筑物提示 是否删除建筑物 本页面底部显示操作按钮 包括 建筑物列表 单位列表 我的位置 资料库 密码修改 任务统计 去普查区 3 4 4 类与需求对应关系表类与需求对应关系表 类类对应需求编号对应需求编号关联文件关联文件功能组 点 功能组 点 类名类名简述简述 底图展示底图展示 MapActivityMapActivity 底图展示类底图展示类 B 6 1 3 2B 6 1 3 2 建筑物 poi PoiOverlay 建筑物 poi B6 1 3 5 普查区轮廓 LunkuoPoi 普查区轮廓 B6 1 3 7 3 4 5 com jjpc activity MapActivity 地图展示类地图展示类 3 4 5 1 说明说明 此类负责地图的展示 建筑物 poi 的展示 普查区轮廓的展示 在本页面底部包括所有的 操作按钮 支持地图平移 放大 缩小 3 4 5 2 属性设计属性设计 At21MapController mapController 声明地图控制类 LocationOverlay locationoverlay 声明我的位置poi PoiOverlay poioverlay 声明建筑物poi LunkuoOverlay lunkuoOverlay 声明普查区轮廓poi PopupWindow menu 声明弹出框 LayoutInflater inflater 声明布局文件 RelativeLayout rl 声明布局文件 DisplayMetrics metric 声明页面管理类 int width height 声明页面宽度 高度 参考文献 20 3 4 5 3 方法设计方法设计 3 4 5 3 1 setGpsRefreshTime int i 3 4 5 3 1 1 输入输入 Int 类型的 GPS 刷新时间 3 4 5 3 1 2 输出输出 GPS 刷新 3 4 5 3 1 3 算法算法 private void setLastKnownLocation final LocationManager lm LocationManager getSystemService Context LOCATION SERVICE final Location loc1 lm getLastKnownLocation gps final Location loc2 lm getLastKnownLocation network boolean boolGpsEnabled lm isProviderEnabled GPS boolean boolNetworkEnabled lm isProviderEnabled NETWORK String str Location loc null if loc1 null else if loc1 null else if loc1 null else loc loc1 getTime loc2 getTime loc1 loc2 if boolGpsEnabled AlertDialog Builder builder new AlertDialog Builder MapActivity this builder setMessage 请开启GPS builder setCancelable true builder setTitle 提示 builder setPositiveButton 确定 new DialogInterface OnClickListener public void onClick DialogInterface dialog int id 参考文献 21 Intent intent new Intent Settings ACTION SECURITY SETTINGS startActivityForResult intent 0 此为设置 完成后返回到获取界面 AlertDialog alert builder create alert show else if loc null AlertDialog Builder builder new AlertDialog Builder MapActivity this builder setMessage GPS未能成功定位 请搜星或耐心等候 builder setCancelable true builder setTitle 提示 builder setPositiveButton 确定 new DialogInterface OnClickListener public void onClick DialogInterface dialog int id AlertDialog alert builder create alert show else if loc null this mapController getController animateTo TypeConverter locationToGeoPoint loc OpenStreetMapViewController AnimationType MIDDLEPEAKSPEED OpenStreetMapViewController ANIMATION SMOOTHNESS HIGH OpenStreetMapViewController ANIMATION DURATION DEFAULT 参考文献 22 3 4 6 com jjpc poi PoiOverlay 建筑物建筑物 poi 3 4 6 1 说明说明 此类负责建筑物 poi 的展示 新增建筑物 删除建筑物等操作 3 4 6 2 属性设计属性设计 private List arr 声明建筑物实体列表 private Paint paint 声明画笔对象 private LinearLayout mT 声明poi布局文件 private Context mCtx 声明上下文对象 private float mDensity 声明偏移量 private String building Id 声明建筑物id 3 4 6 3 方法设计方法设计 3 4 6 3 1 onDraw Canvas c At21MapController arg1 3 4 6 3 1 1 输入输入 1 输入画布对象 2 输入地图控制类 3 4 6 3 1 2 输出输出 绘制的 POI 3 4 6 3 1 3 算法算法 Override protected void onDraw Canvas c At21MapController arg1 final OpenStreetMapViewProjection pj arg1 getProjection Point curScreenCoords new Point if arr null for int j 0 j arr size j Building buil arr get j GeoPoint g GeoPoint from2DoubleString buil getLat buil getLng pj toPixels g curScreenCoords 参考文献 23 c save c rotate arg1 getBearing curScreenCoords x curScreenCoords y onDrawItem c j curScreenCoords c restore 3 4 6 3 2 getMarkerAtPoint final int eventX final int eventY At21MapController mapView 3 4 6 3 2 1 输入输入 1 手指点击处的 X 点 2 手指点击处的 Y 点 3 地图控制类 3 4 6 3 2 2 输出输出 9 1 点击建筑物的 index 3 4 6 3 2 3 算法算法 public int getMarkerAtPoint final int eventX final int eventY At21MapController mapView if this arr null final OpenStreetMapViewProjection pj mapView getProjection final Rect curMarkerBounds new Rect final Point mCurScreenCoords new Point for int i 0 i 0 Intent intent new Intent mCtx BuildingDetailActivity class intent putExtra type update intent putExtra buildingid arr get index get id mCtx startActivity intent return super onSingleTapUp event mapView 参考文献 25 3 4 6 3 4 onLongPress MotionEvent event final At21MapController at21MapController 3 4 6 3 4 1 输入输入 1 触控对象 2 地图控制类 3 4 6 3 4 2 输出输出 Void 33 4 6 3 4 3 算法算法 Override public boolean onLongPress MotionEvent event final At21MapController at21MapController final int index getMarkerAtPoint int event getX int event getY at21MapController if index 0 new AlertDialog Builder mCtx setTitle 确认 setMessage 确定删除建筑物吗 setPositiveButton 是 new OnClickListener Override public void onClick DialogInterface arg0 int arg1 DataBaseHelper d new DataBaseHelper mCtx d Open int ifhas d getorganInBuilding arr get index get id if ifhas 0 Toast makeText mCtx 此建筑物内存在企业 不 允许删除 1 show else d deleteBuilding arr get index get id Toast makeText mCtx 删除成功 1 show arr getBuilding at21MapController invalidate d Close 参考文献 26 setNegativeButton 否 null show else Intent intent new Intent mCtx BuildingDetailActivity class intent putExtra type add intent putExtra lat at21MapController getTouchDownPoint getLa titude intent putExtra lng at21MapController getTouchDownPoint getLo ngitude mCtx startActivity intent return super onLongPress event at21MapController 3 4 7 系统界面 系统界面 如图如图 4 3 所示所示 图 4 3 地图展示 参考文献 27 4 5 地名地址库地名地址库 3 5 1 整体设计整体设计 普查区内建筑物的文字列表 通过模糊搜索可快速定位目标建筑物 本页面提供功能 按钮 可新增建筑 可返回企业列表 可返回地图页面 提供输入框可模糊搜索建筑物 点击列表可查看建筑物信息 并可编辑保存 3 5 4 类与需求对应关系表 如表类与需求对应关系表 如表 4 3 所示 所示 表 4 3 类与需求对应关系 类类对应需求编号对应需求编号关联文件关联文件功能组 点 功能组 点 类名类名简述简述 建筑物列表建筑物列表 BuildingListBuildingList 建筑物列表类建筑物列表类 B 6 1 4 1B 6 1 4 1 3 5 5 com jjpc activity BuildingListActivity 建筑物列表类建筑物列表类 3 5 5 1 说明说明 此类负责本普查区内建筑物的文字列表 并提供搜索输入框 可快速定位建筑物 提供功 能按钮 可以返回地图 到企业列表 点击 新增建筑 可以增建筑物 点击建筑物列表 中的某一项可到达建筑物编辑页面 3 5 5 2 属性设计属性设计 EditText search edit 搜索输入框 Button addButton 新增建筑物按钮 ListView lsv building content 建筑物列表载体 TextWatcher search editwather 输入框监听器 List oBuildingArray 建筑物列表内容content载体 ArrayList HashMap lstImageItem 建筑物列表数据载体 Button bottom left bottom right 声明两个 button 点击跳转到企业列表或 返回地图 参考文献 28 3 5 5 3 方法设计方法设计 3 5 5 3 1setAdapter 3 5 5 3 1 1 输入输入 无 3 5 5 3 1 2 输出输出 Adapter listview 的适配器 3 5 5 3 1 3 算法算法 public void setAdapter DataBaseHelper oAtSqlHelper new DataBaseHelper this oAtSqlHelper Open oBuildingArray oAtSqlHelper getBuilding oAtSqlHelper Close lstImageItem new ArrayList HashMap for int i 0 i oBuildingArray size i HashMap m new HashMap m put buildingName oBuildingArray get i getName m put buildingId oBuildingArray get i get id lstImageItem add m SimpleAdapter saImageItems new SimpleAdapter this lstImageItem R layout building lsv list item new String buildingName new int R id building name textview lsv building content setAdapter saImageItems lsv building content setOnItemClickListener new OnItemClickListener Override public void onItemClick AdapterView arg0 View arg1 int arg2 long arg3 Intent intent new Intent BuildingList this BuildingDetailActivity class intent putExtra type update intent putExtra buildingid 参考文献 29 lstImageItem get arg2 get buildingId BuildingList this startActivityForResult intent 20 3 5 6 系统界面 如图系统界面 如图 4 4 所示 所示 图 4 4 地名地址库 说明 说明 对建筑物进行搜索 新增 编辑 删除 开始普查等 编辑 进入建筑物表单 编辑建筑物信息 开始普查 点击进入单位列表 并在后台记录调查开始时间 删除 无单 位关联时可删除 待讨论 是否保留 调查结果分类 参考文献 30 4 6 调查结果分类调查结果分类 3 6 1 整体设计整体设计 提供两种方式查询单位 搜索时自动进行本区及全区县两次搜索 并后台标记疑似迁 移 普查 进入单位信息填报表单 备注 对单位状态进行标识 包括确认迁出 确认消亡 未找到 重复单位 底册已有单位 点击 普查 默认为底册单位类型 如果单位类型一 致则开始普查 如果不一致 提示后跳转至新增 不进行单位类型转换 新增单位则按照 所选类型进入表单填报界面 底册已有单位 指标项信息直接抄录至相应位置 单位所在 地地址 按照建筑物地址进行抄录 个体单位所在地地址 按照建筑物地址进行抄录 保存并返回 适用于单个的个体商户 保存并新增 适用于连片个体商户 3 6 4 类与需求对应关系表 如表类与需求对应关系表 如表 4 4 所示 所示 表 4 4 类与需求对应关系 类类对应需求编号对应需求编号关联文件关联文件功能组 点 功能组 点 类名类名简述简述 单位详情页单位详情页 面面 danweiDetailAdanweiDetailA ctivityctivity 单位信息展示类单位信息展示类 B 6 1 4 2B 6 1 4 2 B 6 1 4 3B 6 1 4 3 B 6 1 B 6 1 4 44 4 B 6 1 4 5B 6 1 4 5 3 6 5 com jjpc activity danweiDetailActivity 单位详情类单位详情类 3 6 5 1 说明说明 本类是建筑物信息的综合控制类 包括建筑物信息的展示 建筑信息的新增 修改 建筑 物空间定位 地理位置信息采用 Spinner 下拉框 其他属性信息采用 EditText 展示 可以 显示或编辑 点击 保存 按钮 进入本建筑内的企业列表 3 6 5 2 属性设计属性设计 AddressHelper helper 地理位置信息辅助数据库 Building building 建筑物信息实体类 参考文献 31 3 6 5 3 方法设计方法设计 3 6 5 3 1 insertBuilding Building B 3 6 5 3 1 1 输入输入 建筑物实体 3 6 5 3 1 2 输出输出 Boolean 操作结果 3 6 5 3 1 3 算法算法 public boolean insertBuilding Building b if db null db isOpen return false String strSql insert into Building values b get id b getP Code b getName b getLat b getLng b getLocationTime b getProvince b getCity b getCountry b getTown b getString db execSQL strSql return true 3 6 5 3 2 getLocation 3 6 5 3 2 1 输入输入 无 3 6 5 3 2 2 输出输出 LocationOv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园谁主持起草通知书
- 广东揭阳初中开学通知书
- 庆华镇停电安排通知书
- 应征青年市站体检通知书
- 废品收购站整改通知书
- 康驿一中返校通知书
- 建发招商璟云收房通知书
- 建瓯禁止种茶文件通知书
- 开启新冠监测通知书
- 开封新增学位通知书
- GB/T 1927.21-2022无疵小试样木材物理力学性质试验方法第21部分:握钉力测定
- 新视野英语教程(第四版)读写教程1 单元测试卷 Unit1-4 测试卷、听力及文本答案
- 磁性护理体系构建与实践分享
- 人教版2024年新教材七年级上册生物同步练习题汇编(按章节编写含答案)
- 管理人员素质培训
- 儿科常见病试题及答案详解
- 解除代建合同协议书
- 第13课 东汉的兴衰 课件 初中历史统编版(2024)七年级上册
- 《思想道德与法治》课件-第一章 领悟人生真谛 把握人生方向
- 高性能计算应用的软件定义网络优化-全面剖析
- 骨科围术期血糖管理
评论
0/150
提交评论