毕业设计(论文)-基于android系统的天气预报查询系统.doc_第1页
毕业设计(论文)-基于android系统的天气预报查询系统.doc_第2页
毕业设计(论文)-基于android系统的天气预报查询系统.doc_第3页
毕业设计(论文)-基于android系统的天气预报查询系统.doc_第4页
毕业设计(论文)-基于android系统的天气预报查询系统.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

河河北北农农业业大大学学 本本科科毕毕业业论论文文 (设设计计) 题题 目:目: 基于 android 系统的天气预报查询系统 学学 院:院: 信息科学与技术学院 专业班级:专业班级: 计算机专升本 1101 班 学学 号号 2013 年 6 月 1 日 摘摘 要要 近几年来随着 3G 技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动 应用开发成为当下最热门的技术之一。在 Google 和 Android 手机联盟的共同推动下, Android 在众多移动应用开发平台中脱颖而出。Android 是一个真正意义上的开源智能手 机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧,手机已被赋 予了除通话以外的其它许多功能。全新的手机软件领域已逐渐聚焦了众多软件开发商的 目光,软件开发者和软件用户将共同面临这个振奋人心的新境界。 本设计使用 Android 设计技术开发了一种运用在 Android 系统上的手机天气预报软件 系统,本系统通过选择城市来获得天气,风向,温度等信息。基于 android 的天气预报系 统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行和行程安 排,避免了不必要的麻烦,具有很强的实用性。 关键词关键词:天气预报系统;android 开发 AbstractAbstract In recent years, with the 3G technology matures and the growing popularity of smart phones, the increasing demand for mobile applications, mobile application development become the most popular technology. Given a friendly boost by Google and Android Handset Alliance, Android stands out in numerous mobile application development platforms. Android is a truly open- source smart phone operating system, which once launched immediately by the global mobile device manufacturers and developers blitz, mobile phones have been given in addition to many other functions outside the phone. The new phone software field has gradually focused the attention of a large number of software developers, software developers and software users will be facing this exciting new realm. This design uses design techniques developed an Android application in the Android system mobile weather software system, the system by selecting the city to get weather, wind direction, temperature and other information. Android based software allows users to weather forecasting system for real- time weather conditions around the master, a great convenience to the users travel and travel arrangements, to avoid unnecessary trouble, and highly practical. KeywordsKeywords: Weather forecast system; android development 目目 录录 1. 需求分析需求分析.1 1.1 开发背景.1 1.2 系统研究内容.1 1.3 项目需求分析.1 2. GOOGLE ANDROID 移动平台的相关理论移动平台的相关理论 .1 2.1 GOOGLE ANDROID 移动平台的概述.1 2.1.1 Android系统的特点.2 2.1.2 Android的功能.2 2.2 GOOGLE ANDROID移动平台开发过程研究.2 2.3 GOOGLE ANDROID移动平台下的应用研究.3 2.4 小结.3 3. 项目设计项目设计 .4 3.1 项目总体设计.4 3.2 系统功能界面.4 3.2.1 欢迎界面.4 3.2.2 设置所在城市界面.5 3.2.3 天气显示界面.6 3.2.4 Widget桌面小部件界面.7 3.3 设计目标.8 4. 系统设计系统设计 .8 4.1 开发及运行环境.8 4.2 数据库设计.8 4.3 主要方法及步骤.8 4.4 主要方法及技术.9 5. 主要模块主要模块 .9 5.1 项目框架.9 5.2 主要功能实现.10 5.2.1 导入db_weather.db数据库文件.10 5.2.2 实现城市列表的创建与过滤.11 5.2.3 访问网络得到天气信息.14 5.2.4 Widget窗体小部件的更新.15 6. 功能测试功能测试 .17 结论结论 .21 参考文献参考文献 .22 1 基于基于 androidandroid 系统的天气预报查询系统系统的天气预报查询系统 1. 需求分析需求分析 1.11.1 开发背景开发背景 近几年来随着 3G 技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动 应用开发成为当下最热门的技术之一。手机是已经成为了生活中不可少的通读设备,没 有手机有时会让人觉得寸步难行,手机将脱离传统的打电话,发短信等基本功能,而基 于智能手机的处理能力和扩展能力,基于 3G 网络高速数据传输,越来越多的功能和业务 将被开发出来并大规模的应用。在 Google 和 Android 手机联盟的共同推动下,Android 在 众多移动应用开发平台中脱颖而出。Android 是一个真正意义上的开源智能手机操作系统, 该系统一经推出立即受到全球移动设备厂商和开发者的热捧。为顺应潮流,本设计旨在 搭载 Android 的移动设备上运行,实现天气状况的实时动态更新与显示,方便人们的出行 与生活。 1.21.2 系统研究内容系统研究内容 1. 界面的设计 2. 代码的设计 3. 程序的测试 4. 产品的发布 1.31.3 项目需求分析项目需求分析 根据功能的需求,分析此项目的主要功能应具备以下几点: 1. 精确查询全国各地城市未来几天内的实时天气状况 2. 系统要具有实用性,符合用户查看信息习惯,界面设计优美 3. 系统要具有稳定性,且在一定程度上节省流量的开销 2. Google android 移动平台的相关理论移动平台的相关理论 2.12.1 GoogleGoogle androidandroid 移动平台的概述移动平台的概述 Android 是 Google 公司于 07 年 11 月 5 日宣布的基于 LINUX 平台开源手机操作系 统,该平台由操作系统,中间件,用户界面和应用软件组成,Android 是 Google 开发的 基于 Linux 平台的开源手机操作系统。它包括操统,用户界面和应用程序-移动电话工 作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,谷歌与开放 手机联盟合作开发了 Android,这个联盟由包括中国移动,摩托罗拉,高通,宏达在内的 30 多家技术和无线应用的领军企业组成。通过与运营商,设备制造商,开发商和其他有 关各方结成深层次的合作伙伴关系,希望借助建立标准化,开放式的移动电话软件平台, 在移动产业内形成一个开放式生态系统。 2 2.1.1 Android 系统的特点系统的特点 1.开放性。Google 与开放性手机联盟合作开发了 android,Google 通过与运营商, 设备制造商,开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化, 开放式的移动电话软件平台,在移动产业内形成一个开放式生态系统。 2.应用程序无界限。Android 上的应用可以通过标准 API 访问核心移动设备功能。通 过互联网,应用程序可以声明它们的功能可提供其它应用程序使用。 3.应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换或扩展, 即使是拨号或主屏幕这样的核心组件。 4.应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入 HTML、JavaScript 和样 式表,还可以通过 Web view 显示内容。 5.应用程序可以并行运行。Android 是一种完整的多任务环境,应用程序可以在其中 并行运行,在后台运行时,应用程序可以生成通知引起注意。 2.1.2 Android 的功能的功能 1.支持虚拟键盘。虚拟键盘的出现意味着基于 Android1.5 或以上的版本的移动设备 可以同时支持物理键盘和虚拟键盘。 2.使用 widget 实现桌面的个性化。可以用 widget 修饰自己的桌面。大多数小的 Web 应用都是从网络上获得实时数据并展示给用户的,android 预装了 Widget,包括数字时 钟,日历,音乐播放器,相框。 3.用在线文件快速浏览数数,类似于 OSX Leopard 的 Quick look 特征,Android 的在 线文件夹可显示的数据条目,比如联系人,喜欢的应用,E-mail 信息,播放列表,书签, RSS 源等,并不需要运行系统程序处理特定的数据条目。 4.视频录制和分享。Android 还有录制和分享视频的功能,对回放和 MPEG-4,3GP 等 视频也有了更好的支持。可以通过 E-mail,MMS 或直接上传等方式来分享视频。 5.更快,更兼容的浏览器,Android 的基于 WebKit 内核的浏览器带来了重要的调速 半置,这得益于新的 WebKit 渲染引擎和优化的 JAVA 脚本编译器。 6.Voice search 语音搜索。带有语音识别技术的 Google 手机已于 2008 年 11 月面世, 它支持语音搜索功能,该功能增强了默认的搜索能力,已超过了纯文本搜索。 7.立体蓝牙和免提电话。除了增强的免提电话体验,Android 还支持立体蓝牙 (A2Dphe 和 AVCRP),并有自动配对功能。 8.强大的 GPS 技术.Android 内部提供了大量的 GPS 组件,我们可以很轻松地获得设 备当前的位置等信息,让导航等功能更加完善。 9.Android 系统硬件检测,android 可自动检测和修复 SD 卡的文件系统,允许第三 方应用显示 Android 系统的硬件特征,为了让用户下载到与自己的设备匹配的应用,我 们可以检测用户设备的硬件信息,让满足应用要求的设备安装该程序。 2.22.2 GoogleGoogle androidandroid 移动平台开发过程研究移动平台开发过程研究 Android 移动平台作为 21 世纪的新秀,受到了越来越多的开发者的钟爱,在这股开 3 发的浪潮中,逐渐形成了具有 Android 一套具有 Android 特色的开发流程。 由于 Android 的优越性,其开发显得非常的有规律可寻。大致的开发流程如下: 需求分析:作为一个软件,它必须有其存在的意义和价值,而这个价值和意义就需 要靠需求分析来确定。 功能分析。作为一个手机软件,它的使命就是给用户使用的。如何提供用户最好的 用户体验就值得每一个程序员的深思,这也是确保一个程序成功的关键所在。 界面设计:作为一个手机软件,其只能在极有限的区域中显示,如何在有限的空间 里更完美的展现出自己的独特之处就显得更为重要了。 测试:在任何一个软件开发行业中,无论是 J2EE,J2SE,J2ME 等等其他开发中,测 试时必不可少的一环,在 Android 开发中,由于手机的高频率使用,和硬件系统上的不 足,使得对软件的要求更加的严格,这就要求在开发完成后,再对其进行严格的测试, 而测试又包括了:单元测试,系统测试等方面的测试。 系统开发:作为一个软件的主体部分,系统开发的好坏直接决定了该系统的性能和 寿命。 发布:在完成一个系统的开发后,就要对其发布,经过广大用户的考验,只有经过 这个过程,才算是一个合格的产品,在 Android 平台中,Google 提供了完整的发布机制- -Google market。 2.32.3 GoogleGoogle androidandroid 移动平台下的应用研究移动平台下的应用研究 Android 系统提供给应用开发者本身就是一个框架,所有的应用开发都必须遵守这个 框架原则。我们在开发应用时就是在这个框架上进行扩展,下面来看看 android 这个框 架都有些什么功能可供我们使用。 Android.app:提供高层的程序模型和基本的运行环境 Android.content:包含对各种设备上的数据进行访问和发布 Android.database:通过内容提供者浏览的操作数据库 Android.graphics:图形库,包含画布,颜色过滤,点,矩形,可以将它们直接绘制 到屏幕上。 Android.location:定位和相关服务的类 A: 提供帮助网络访问类,超过通常的 *接口。 Android.media: 提供一些类管理多种音频,视频的媒体接口。 Android.os:提供了系统服务,消息转输和 IPC 机制。 Android.opngl:提供 OpenGL 的工具。 Avider:提供访问 Android 的内容提供者的类。 Android.telephony:提供与拨打电话相关的 API 交互。 Android.view 提供基础的用户界面接口框架。 Android.util:涉及工具性的方法,例如时间日期的操作。 Addroid.webkit:默认浏览器操作接口。 Android.widget 包含各种 UI 元素在应用程序的布局中使用。 2.42.4 小结小结 本章主要通过三个方面:1.Google android 移动平台的概述:2. Google android 4 移动平台开发过程的研究:3. Google android 移动平台下的应用研究,概要的介绍了 Google android 移动平台相关知识,对 Google android 移动平台有初步的认识和了解, 为后面的开发做了坚实的基础。 3. 项目设计项目设计 3.13.1 项目总体设计项目总体设计 本软件是一个 App Widget 应用程序,启动程序后可以进行城市的设置,可以通过图 片和文字显示当前和未来两天的天气状况,包括温度、风向和雨雪情况等。 该软件的基本功能需求有: 1欢迎界面 系统启动时首先进入欢迎界面; 2启动 App Widget 应用程序 为了方便用户实时了解天气状况,特别添加在 Android 系统桌面上显示当前天气与 时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时当用户单击小部件 时,自动跳转至天气显示界面,显示三天内的详细天气。 3设置所在城市界面 通过可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方 便用户查找,支持以输入框的形式来过滤查询预报城市。当单击选中城市时跳转至天气 显示界面,来显示该城市当三天内的天气状况;第一次运行时自动跳到该界面。 4显示天气界面 显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当日的建议, 用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面背景,以及跳转至 设置预报城市界面来更换预报城市。 3.23.2 系统功能界面系统功能界面 3.2.1 欢迎界面欢迎界面 当系统启动时,首先会显示欢迎界面。如图 3-1 所示: 5 图 3-1 欢迎界面 3.2.2 设置所在城市界面设置所在城市界面 1当第一次运行程序时,跳转至城市设置界面进行预报城市的选择,如图 3-2 所示: 图 3-2 设置城市 2 用户可通过输入框过滤查询当前系统中预存的城市,如图 3-3 所示: 6 图 3-3 过滤框输入选择城市 3.2.3 天气显示界面天气显示界面 1选择了预报城市后,系统跳转至天气显示界面,显示该城市三天内的实时天气, 如图 3-4 所示: 图 3-4 显示天气 2 在天气界面中用户可通过按菜单键来调出菜单,设置城市,更新天气与更换背 景,如图 3-5 所示: 7 图 3-5 调出菜单 3.2.4 Widget 桌面小部件界面桌面小部件界面 方便用户第一时间了解天气动态,添加 widget 显示功能界面,如图 3-6 所示: 图 3-6 Widget 桌面小部件 8 3.33.3 设计目标设计目标 设计完成一个实用稳定的天气预报系统,同时要廉价使其能滿足大部分用户的需求, 因此针对上述要求,本设计应滿足: 1系统能及时的反馈指定预报城市的天气情况; 2. 可设置所在城市,自行输入或者列表选择城市; 3节省流量开销,规定在指定的时间间隔内才更新天气,其它时段显示缓存的天气; 4操作方便快捷,使用简单,界面设计美观大方,支持 widget。 4. 系统设计系统设计 4.14.1 开发及运行环境开发及运行环境 1. JDK1.6.0 _10 2. Eclipse3.8 3. Android Development Toolkit (ADT) 21.0.1 4. Android 2.2 及以上 5. Windows 7 4.24.2 数据库设计数据库设计 由于在本系统中是通过访问中央气象台提供的天气信息得到的天气预报,在查询指 定城市的天气时,需要用到它提供的城市码,而城市码相对稳定不变,所以在构建系统 时将其事先通过 Android 的网络访问技术将其缓冲到本地 SQLite 数据库进行保存起来, 方便以后的查询,同时节省了流量开销。综上所述在本地建立 db_weather.db 的数据库, 其中只存在两个表: provinces 和 citys。citys 表中存在 city_num 用天气的查询,同时 还存在外键 province_id 与 provinces 表形成 1 对 n 的关系。结构如图 4-1 所示: 图 4-1 数据库表结构 4.34.3 主要方法及步骤主要方法及步骤 1. 搭建 Android 开发环境,并建立名为 WeatherForecastSystem 项目。 2. 在程序第一次运行时,将 db_weather.db 数据库文件导入到应用程序数据库中。 3. 建立设置城市界面,读取数据库文件,获取省份,城市以及对应的城市码。 9 4. 接收用户选择的城市码,访问: 得到天气信息。 5. 解析天气信息,将城市码及天气信息缓冲下来,并为其设置有效时间,方便下次 启动时直接得到天气信息,过期则从网上更新。 6. 定时由保存的城市码更新天气信息。 4.44.4 主要方法及技术主要方法及技术 1. Android 手机的界面 UI 设计 2. Android 的网络通信 3. Android 的广播 4. Widget 小部件编程 5. JSON 解析 6. SQLite 数据库操作 7. Android 文件操作 5. 主要模块主要模块 5.15.1 项目框架项目框架 在装有 ADT 插件的 Eclipse 中新建一个名为 WeatherForecastSystem 的项目,项目 主要文件结构如图 5-1 所示: 图 5-1 WeatherForecastSystem 工程的源代码文件结构 为了使源代码文件的结构更加清晰,WeatherForecastSystem 工程设置了多个命名空 间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件。源代码文件 的名称以及说明如表 5-1 所示。 10 表 5-1 WeatherForecastSystem 工程的文件用途说明 包 名 称文 件 名说 明 com.weather.appMainActivity.java “天气显示页面”的 Activity com.weather.appWelcomeActivity.java“欢迎页面”的 Activity com.weather.appSetCityActivity.java “设置城市页面”的 Activity com.weather.appWeatherWidget.java桌面小部件 com.weather.appUpdateWidgetService.java后台更新服务 com.weather.adapterMyListAdapter.java城市列表 com.weather.daoDBHelper.java数据库操作类 com.weather.utilsWebAccessTools.java网络访问工具类 5.25.2 主要功能实现主要功能实现 5.2.1 导入导入 db_weather.db 数据库文件数据库文件 public void importInitDatabase() /数据库的目录 String dirPath=/data/data/com.weather.app/databases; File dir = new File (dirPath); if (!dir.exists() dir.mkdir (); /数据库文件 File dbfile = new File(dir, db_weather.db); try if(!dbfile.exists() dbfile.createNewFile(); /加载欲导入的数据库 InputStream is= this.getApplicationContext().getResources().openRawResource(R.raw.db_weather); FileOutputStream fos = new FileOutputStream(dbfile); byte buffere=new byteis.available(); is.read(buffere); fos.write(buffere); is.close(); fos.close(); 11 catch(FileNotFoundException e) e.printStackTrace(); catch(IOException e) e.printStackTrace(); 5.2.2 实现城市列表的创建与过滤实现城市列表的创建与过滤 实现城市列表是通过继承 android.widget.BaseExpandableListAdapter 适配器实现 的,其中主要实现它的 public View getGroupView()得到列表的一级列表和 public void getChildView()得到列表的二级子列表实现的,在这里由于只是实现文本显示功能, 故用 TextView 组件来填充就行了,如果要构造这个自定义的适配器,则只需在提供存放 省份直辖市的一级列表的数组 String groups 和存放对应的城镇的二级列表的 String childs 就行了。 Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) TextView textView = null; /这里判断 convertView 是否为空 if(convertView=null) /产生一个 TextView 组件 textView = getGenericView(); /设置它的文本内容 textView.setText(getChild(groupPosition,childPosition).toString(); else textView = (TextView)convertView; textView.setText(getChild(groupPosition,childPosition).toString(); return textView; Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) TextView textView = null; if(convertView=null) textView = getGenericView(); textView.setText(getGroup(groupPosition).toString(); else 12 textView = (TextView)convertView; textView.setText(getGroup(groupPosition).toString(); return textView; private TextView getGenericView() AbsListView.LayoutParams lp = new AbsListView.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, 48); TextView textView = new TextView(context); textView.setLayoutParams(lp); textView.setTextSize(18); textView.setTextColor(Color.WHITE); textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); textView.setPadding(32, 0, 0, 0); return textView; 同时为了兼具过滤功能,还需再实现 android.widget.Filterable 接口,这个接口 有一个 getFilter()返回 Filter 过滤器的列表,故还要提供一个 Filter 过滤类,在本系 统中,实现的是一个内部类 CityFilter,它继承 android.widget.Filter 类,覆盖实现 了两个方法,一个是 performFiltering()得到 FilterResults 过滤结果对象方法,另一 个是根据得到的 FilterResults 对象更新适配器的 publishResults()方法。 其中的 performFiltering(CharSequence constraint)方法的实现是通过 constraint 这个关键字以省份直辖市为单位进行匹配,如果匹配成功,则添加该省份以 下的所有城市,如果匹配不成功,则再逐一与这个省份下的城市匹配,则只添加匹配的 城市,其中匹配的结果放在 Mapvalues 这样的向量中, 再由新建的 FilterResults 封装返回, (具体实现如下): 1. 首先是对关键字进行判断是否为空,如为空则由 values 添加所有省份与城市, 其中的 allGroups 和 allChilds 保存的是所有的省份与对应的城市: /当过滤条件为空时,返回所有的省份与城市 if(constraint = null | constraint.length() = 0) for(int i=0; iallGroups.length; i+) ArrayList index = new ArrayList(); /添加所有与之对应的城市 for(int j=0; jallChildsi.length; j+) index.add(j); values.put(i, index); 13 2. 如果关键字 constraint 不为空,则以省份为单位进行匹配,省份匹配的添加下 面的所在城镇,如果不匹配,则进一步深入匹配城镇,添加符合条件的城镇: String filterStr = constraint.toString(); for(int i=0; iallGroups.length; i+) /查找省名是否包含用户输入的字符串 if(allGroupsi.contains(filterStr) ArrayList index = new ArrayList(); /添加所有与之对应的城市 for(int j=0; jallChildsi.length; j+) index.add(j); values.put(i, index); else ArrayList index = new ArrayList(); /如果省份名没有,则查找它下面的城市名是否包含 for(int j=0; j 0) values.put(i, index); else index = null; 3. 得到过滤的结果后将其用 FilterResource 封装后返回: FilterResults results = new FilterResults(); results.values = values; results.count = values.size(); 另外的 publishResults(CharSequence constraint,FilterResults results)方法就 是根据上面得到的 results 对象来得到新的 String groups 与 String Childs 数 组,再调用 BaseExpandableListAdapter 父类的 notifyDataSetChanged()方法来更新列 表,从而实现过滤后结果的显示(具体实现如下): 1. 首先将 FiltersResult 对象 MapfilterResult, 然后来判断过滤后的结果长度是否为 0,如果长度为 0 则说明过滤后的结果为空,则调用 父类的 notifyDataSetInvalidated()方法阻止列表更新。 14 2. 如果长度不为 0,则说明存在过滤结果,则将它转换为 groups 数组与 childs 数 组,并调用 notifyDataSetChanged()方法实再更新: 如上所述则就实现了带有过滤性可伸展性列表适配性的实现,则在使用时在 XML 组 件配置文件中使用 ExpandableListView 列表,并调用它的 setAdapter()方法来加载自定 义的适配器。而在使用它的过滤功能时则调用自定义适配器的 getFilter()得到过滤 Filter 对象,再调用 Filter 对象的 filter(String)方法实现的,在本系统中用触发文 本输入框 EditText 的 TextChangedListener 事件调用从而实现手动选择所在城市的过滤 查询。 5.2.3 访问网络得到天气信息访问网络得到天气信息 接收用户选择的城市码,访问: 得 到天气信息。首先实现上述功能需使用 Android 的网络访问技术,故编写工具类 WebAccessTools 类如下: public class WebAccessTools private Context context; public WebAccessTools(Context context) this.context = context; public String getWebContent(String url) /创建一个 http 请求对象 HttpGet request = new HttpGet(url); /创建 HttpParams 以用来设置 HTTP 参数 HttpParams params=new BasicHttpParams(); /设置连接超时或响应超时 HttpConnectionParams.setConnectionTi

温馨提示

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

评论

0/150

提交评论