




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要近年来,手机厂商发布的手机越来越多,手机用户也越来越多,每部手机都各有特色,手机用户也不在满足于厂商内置的默认手机主题,需要更换个更加性化彰显性格的手机主题,手机主题市场日益壮大,华为主题商场的签约设计师已达到4800个,而其中公司账户制作的主题占了很大的一部分产量,公司制作手机主题的量非常大,一月星期都会有几百个,不同的人制作的质量又不太一样,出现质量差的手机主题,会影响公司账户的口碑。所以市场急需一款制作手机主题、速度快、学习成本低、质量稳定的手机主题编辑工具。本程序基于Java语言编写,并调用了Zip4j,Dom4j,Thumbnailator等优秀的开源库,GUI使用了Java的JavaFX。关键词:JavaFX手机主题桌面应用ABSTRACTIn
recent
years,
mobile
phone
manufacturers
have
released
more
and
more
mobile
phones
and
more
and
more
mobile
phone
users.
Each
mobile
phone
has
its
own
characteristics.
Mobile
phone
users
are
not
satisfied
with
the
default
mobile
phone
theme
built
in
by
manufacturers,
and
need
to
replace
a
more
personalized
mobile
phone
theme.
The
mobile
phone
theme
market
is
growing.
The
number
of
signed
designers
of
Huawei
theme
shopping
malls
has
reached
4800,
among
which
the
company
account
system
The
themes
made
by
the
company
account
for
a
large
part
of
the
production.
The
number
of
mobile
phone
themes
made
by
the
company
is
very
large.
There
will
be
hundreds
of
them
every
month
and
week.
The
quality
of
the
themes
made
by
different
people
is
not
the
same.
The
poor
quality
of
mobile
phone
themes
will
affect
the
reputation
of
the
company's
accounts.
Therefore,
the
market
urgently
needs
a
mobile
theme
editing
tool
with
high
speed,
low
learning
cost
and
stable
quality.
This
program
is
written
based
on
Java
language,
and
calls
excellent
open
source
libraries
such
as
zip4j,
Dom4j,
thumbnail,
etc.
the
GUI
uses
Java's
JavaFX.Keywords:JavaFX ThemeDesktopApps目录TOC\o"1-3"\h\u1.绪论 绪论研究背景及意义随着科技的发展,智能手机逐步渗透进入了人们娱乐、生活的各个方面,智能手机已经成为了我们身边不可缺少的电子产品,不再只是一个打电话的机器,人们赋予手机的属性也越来越多,智能手机使用的场景越来越丰富,人们使用智能手机的时间也越来越长,手机已经成为了现代人不可缺少的随身物品,手机也跟机械手表一样,成为了人们彰显个性和身份的物品。国内研究现状国内的手机厂商,都会有自己的手机主题编辑器,如:小米主题编辑器、OPPO主题编辑器、华为主题编辑器。但这些编辑器功能都一些缺点,比如:功能少、操作繁琐、更新速度慢等缺点。已经满足不了一些手机主题制作公司的需求了。研究目标和内容手机主题的制作,除了画插画以外,还需要将修改手机主题里数以百计的图片和颜色代码,制作效率非常慢,学习成本也很高,一个手机主题的制作时间,熟手大概要一天左右,新手可能要一到两个星期才能完成。针对这些公司的需求,设计并制作一款:功能强大、操作方便、简单易学的手机主题编辑工具。技术背景Java语言Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。JavaFXJavaFX是基于JAVA,开源的,用于桌面、移动端和嵌入式系统的下一代客户端应用程序平台。相较于Java第一代GUI工具Swing,JavaFX技术有着良好的前景,包括可以直接调用JavaAPI的能力。因为JavaFXScript是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用JavaFX技术创建和管理大型程序变为可能。Zip4jZip4j一个Github的开源项目,它拥有很多Java内置的ZipAPI所不具备的很多功能,例如:从Zip文件创建,添加,提取,更新,删除文件读/写密码保护的Zip文件支持AES128/256加密支持标准邮编加密支持Zip64格式支持存储(无压缩)和Deflate压缩方法从SplitZip文件创建或提取文件支持Unicode文件名进度监视器Zip4j默认采用UTF-8编码,所以它支持中文,同时也支持密码,而且支持多种压缩算法,可以说功能强大,但使用起来却非常简单。Dom4jdom4j是一个十分优秀的JavaXMLAPI,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,对主流的JavaXMLAPI进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的,如今可以看到越来越多的Java软件都在使用dom4j来读写XML。ThumbnailatorThumbnailator是一个优秀的图片处理的Google开源Java类库,处理效果远比JavaAPI的好,从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处理操作SocketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。PAGE主题工具编辑器可行性研究与需求分析前期准备了解华为主题文件结构:通过华为主题设计师官网的说明,华为主题文件是后缀为hwt的文件,是由Zip文件改后缀来的,通过这个信息,可以得知,华为主题文件其实是一个Zip压缩文件,可以用解压Zip的方法把hwt的文件里的文件解压出来,初步解压后,会有几个没有后缀和后缀无法识别的文件,这几个文件也是把后缀去掉后的文件,把这几个文件完全解压后将会得到一个完整的主题工程文件夹,如图3.1所示:图3.1主题解压步骤图文件夹说明:Preview:预览图Unlock:锁屏Wallpaper:桌面壁纸和锁屏壁纸Icons:应用图标而这些经过二次解压得到的文件夹com.android.contacts、com.android.mms、com.android.phone、com.android.phone.recorder、com.android.server.telecom、com.android.systemui、com.huawei.android.launcher其实是控制手机某个应用的美化的模块,一个模块对应一个应用,他们之间相互独立,互不干扰。手机主题制作说明:手机主题文件完全解压后,得到两种文件,格式为png或jpg的图片文件和xml文件。图片文件:控制手机UI中的背景图片,如果用别的图片替换掉主题文件中的图片,在重新将主题文件打包,放进手机里应用,则会替换用来那个图片所显示的内容,如将Wallpaper文件夹中的壁纸图片,替换成其他图片,具体效果如下图所示。图3.2测试主题的换图效果xml文件:xml有三种类型,一种是包含主题描述信息的,比如这个主题的英文名、中文名、设计师、制作者、版本等信息;一种是控制手机锁屏布局的,在Unlock文件夹中;还有一种是控制手机UI字体颜色的,文件中包含了很多控制字体颜色的代码,通常以name区分,标签中的内容是这个字体要显示的具体颜色,控制字体颜色的代码为8位十六进制数,前2位代表透明度,后6位为RGB色值,具体效果如下图所示。图3.3测试修改字体颜色主题编辑工具概述主题制作的原理比较简单,但是操作起来比较复杂,制作一个主题,要修改上百个图片和颜色代码,重复的步骤很多,机械性操作,制作主题时,忘记修改某个图片或某个颜色代码的情况很多,会浪费很多时间在调试上。为了能快速的制作一个主题,必须要有一个可以代替这种机械性操作的工具,代替人工完成这些操作。主题编辑工具主要围绕着替换图片、修改图片、修改xml文件进行操作。主题编辑工具必须是方便易用,可视化、实时的。功能需求用户登录用户打开工具后,首先见到的是登记界面,输入账号密码后,管理登录的服务器会核对账号密码是否准确,用户是否已经超过使用时限,如果都通过了,就能跳转到主界面。主题批量导入到文件夹选择一个或多个主题文件,把选择的主题文件解压到主题保存路径。素材批量导入选择一个文件夹后,读取文件夹里的全部文件,按照对应的文件夹名字或者文件名字,替换掉对应的主题文件图片素材。主题字体颜色批量修改主题文件的字体颜色控制代码非常多,但是很多字体颜色控制代码是可以用同一个颜色的,不需要每个字体代码都用不同的颜色,只要将这些字体颜色控制代码分类,就可以减少需要修改的字体颜色控制代码,用户只需要修改少部分字体颜色控制代码,剩下的字体颜色控制代码主题编辑工具就会帮忙修改。主题图片颜色叠加主题的图片素材因为会经常改变,而传统的修改方法是:觉得图片颜色不合适——在主题包里找到对应的图片素材——用PS等工具修改图片颜色——重新画点九信息——然后放进主题包。操作非常的繁琐,复杂,重复性高,主题编辑工具可以提供一个功能,用户想要修改一个图片的颜色,只需要选择一个颜色,主题编辑工具就会这个图片改变颜色。主题素材显示主题文件中图片的素材比较多,而且分布在各个文件夹中,并不能一次观察到全部图片,所以需要一个在一个界面就能看到全部素材的功能,然后还要将主题素材进行分类,方便用户了解这个图片具体是那个素材,在手机哪里显示的。模拟手机UI界面只是单纯的修改字体颜色和图片,相当于盲人摸象,并不能知道修改后的真实效果是什么样子的,每次修改后,都要翻到手机里测试才能知道具体的效果,这又会浪费很多时间,所以要用工具模拟手机UI。主题描述文件编辑读取主题的描述信息并提供可视化修改。主题素材模板存储并调用对于主题制作公司来说,主题的素材大部分是可以重复利用的,并不需要每次都重新制作一遍,所以应该加入了一个可以快速将正在使用中的素材保存下来并能随时调用的功能。主题预览图显示信息编辑读取主题文件里的预览图,将预览图文件夹里的全部图片显示出来,并提供调整图片大小,修改文件名字等功能。主题预览图一键生成主题制作完了,需要制作主题在手机上的预览图,通常情况是将手机主题放到手机里,然后用手机的截图工具进行截图,放到主题包里作为预览图,但是官方对预览图的分辨率是有要求的,比如华为Mate30Pro的分辨率为1176*2400,而官方规定的预览图分辨率为1080*2160,想要将手机截图的图片作为预览图,就需要对图片进行截取或者拉伸,这都会影响预览图的显示效果,工具提供一键生成标准分辨率的预览图,不用拉到手机上截图和修改分辨率。主题版本一键升级手机系统是每年都会升级一次的,而每次升级,UI界面都会发生改变,UI界面发生改变,手机主题就需要修改,如果主题版本跟系统版本不匹配,就会出现兼容性问题,但是升级一次主题,都等于重新制作一个新主题,这会浪费一部分时间,旧主题跟新主题有很多相似的地方,有的素材也是通用的,所以可以通过主题编辑工具将主题按照旧版本的样子,完成对旧主题升级新主题的操作。拖拽素材快速导入制作主题的时候,有的时候会对一个图片反复进行修改,如果每次都打开文件选择器选择文件,会浪费一部分时间,所以应该提供一个不用文件选择器,直接通过拖拽就能将图片添加到主题文件的功能。程序设计程序界面设计程序界面主要分为3部分:登录界面程序的入口,只有登录了才能进入主界面使用工具。主界面程序的功能界面,有新建主题、打开主题、导入主题和选择主题的保持目录等功能。主题编辑界面主题编辑界面,有三个版本,分别是华为主题8.0、华为主题9.0和华为主题10.0,对主题的的所有操作都可以在这里完成,编辑界面分为4部分,上面为编辑工具的功能栏,左边为字体颜色选择区域,中间是手机模拟的区域,右边是主题素材显示的区域。程序主要使用的类文件复制将源路径文件复制到目标路径,如果目标路径已存在一个名字相同的文件,则覆盖它,如果目标路径的文件夹不存在,将会新建一个文件夹,本方法采用了FileChannel类进行对于文件的复制。平时我们都是使用输入输出流进行文件复制操作,利用源文件创建出一个输入流,然后利用目标文件创建出一个输出流,最后将输入流的数据读取写入到输出流中,这个方法很常用,但是FileChannel类比传统方法好用,它能直接连接输入输出流的文件通道,将数据直接写入到目标文件中去,效率更高,部分代码如图4.1所示。图4.1文件复制代码图片颜色叠加传入一张图片和一个Color对象,方法遍历图片的全部像素点,将像素点的RGB颜色除了透明度以外,全部换成新Color里的RGB颜色,然后返回一张修改后的图片,功能上跟PS里混合工具的颜色叠加一样,部分代码如图4.2所示。图4.2图片颜色叠加主题文件解压将一个后缀为.hwt的主题文件解压成主题工程文件,因为主题用ZIP格式打包的,只是后缀改成了.hwt,所以我们可用用ZIP解压文件的类来解压.hwt的主题文件。将主题文件路径转为一个zipFile对象,使用zipFile里的getFileHeaders()方法可以拿到zip压缩文件里的文件List<FileHeader>对象,然后使用for循环将FileHeader文件解压到对应的文件夹,如果遇到了有二次压缩的com.android.contacts文件等,调用另外一个解压ZIP的方法解压,如图4.3所示。图4.3主题文件解压主题文件打包将已经被解压成一个文件夹的主题文件重新打包成后缀为hwt的华为主题文件。此方法不能用Zip4j来打包,因为调用此库打包出来的主题文件,虽然可以正常使用,但是上传到华为主题后台的时候,会提示格式错误,导致上传失败,原因不明,所以我改用了Java自带的ZipAPI来打包成.hwt文件。因为有的文件夹是要二次压缩的,并不能直接将整个文件夹打包成hwt文件,需要先将不需要二次压缩的文件和文件夹复制到一个临时文件夹中,然后将要二次压缩的文件夹进行压缩,压缩包放到临时文件夹中,去掉后缀,在对临时文件夹进行压缩,这样就能得到一个标准的hwt文件。部分代码如图4.4所示。图4.4主题文件打包文字转图片模拟手机UI是以图层来实现对模拟手机UI的,所以模拟界面显示的文字并不能用Label来显示,需要将要显示的字符,转换成一个带透明通道的BufferedImage对象。实现方式,新建一个BufferedImage对象,高度初始为1000,宽度可自定义,BufferedImage对象调用createGraphics方法返回一个Graphics2D对象,我们可以对Graphics2D进行操作,将字符写入BufferedImage对象,部分代码如图4.5所示。图4.5文字转图片读取XML文件读取XML文件将使用Dom4J库,传入一个文件路径路径,新建一个SAXReader和Document对象,使用SAXReader对象的read()方法,可以得到一个Document对象,Document对象里包含了XML文件的全部内容,方便以后我们对他进行操作,部分代码如图4.6所示。图4.6读取XML文件读取点九图拉伸信息什么是点九图点九图是可伸缩的位图图像,可以用作视图的背景,点九图实际上是在图片的四周各增加了1px的像素,并使用纯黑(#FF000000)的线进行标记,其它的与原图没有任何区别,允许按照我们的需求,把对应的区域设置为黑色线,它在使用的过程中就可以根据我们的实际需求自动调整图形大小以适应视图内容,点九图保存的后缀名为.9.png。点九图分的黑边分为4个区域,上边和左边是分别是水平拉伸区域和垂直拉伸区域,控制着图片的可拉伸区域,下边和右边,分别是水平内容区域和垂直内容区域,是用来显示内容的地方,如图4.7所示,如果显示的内容超出的垂直内容区域或者水平内容区域的范围,图像就会进行拉伸,例如:水平内容区域所显示的内容超过了水平内容区域的50px,则图片会在水平拉伸区域拉伸50px,水平拉伸区域外的地方,不会拉伸,如图4.8所示。图4.7点九图拉伸信息说明到这里,我们对点九图有了初步的了解,如果点九图拉伸信息只是图片四周上的黑色像素,为什么要专门写个类来读取呢,直接读取图片的黑色像素不就可以了吗,因为直接在图片上画黑边,只是方便设计师制作图片的时候标出拉伸区域和内容显示区域,实际使用还需要用专门工具将黑边去掉,将黑边的信息写入图片文件中。点九图编译器有官方提供的aapt程序,但是因为不是用Java写得,调用起来速度很慢,满足不了主题编程工具的需求,而且这软件并没有开源,所以要实现点九图编译,需要查阅官方文档。官方文档显示:点九图片的拉伸信息是以4字节的签名标记:6E705463(十六进制值)如图4.9所示,找到了签名标记,就找到了点九图拉伸信息储存的区域,签名标记的前4字节为整个点九拉伸信息的长度,知道点九图信息的长度后,可以通过字节操作,将全部点九信息信息读取出来,部分代码如图4.10所示。图4.8点九图拉伸测试图4.9点九图签名标记图4.10读取点九图拉伸信息代码自定义点九图拉伸信息根据上面的信息、官方文档和获取到的点九信息进行分析,得出下面的表格:长度单位:byte对应数据4整个Chunk的长度4nptc签名开头1无意义1mDivX数组长度1mDivY数组长度1mColor数组长度4Skip,无意义4Skip,无意义4mPaddubgs.left4mPaddubgs.right4mPaddubgs.top4mPaddubgs.bottom4Skip,无意义mDivX.length*4mDivX数组mDivY.length*4mDivY数组mColor.length*4mColor数字4CRC32校验码其中对应数据的含义为:mPaddubgs.left:下面黑边第一个黑色像素坐标。mPaddubgs.right:下面黑边最后一个像素坐标。mPaddubgs.top:右边黑边第一个黑色像素坐标。mPaddubgs.bottom:右边黑边最后个黑色像素坐标。mDivX:上面黑边黑色区域的起始坐标和结束坐标组成的数组。mDivY:下面黑边黑色区域的起始坐标和结束坐标组成的数组。mColor:mDivX与mDivY的所显示的黑边,在图像上投影,所分割出来的区域,第一个像素的Color。CRC32:mPaddubgs.left:、mPaddubgs.right、mPaddubgs.top、mPaddubgs.bottom、mDivX、mDivY、mColor数据的CRC32校验码。图解,如图4.10所示。图4.10点九图拉伸信息含义根据已知的信息,我们已经可以自己自定义点九拉伸信息了,新建三个byte数组,分别为mDivX、mDivY、mColor,新建两个ByteBuffer参数,data为主要的数据,不包括标签和CRC32校验码,chunk包括标签、拉伸信息、和CRC32校验码,是一个完整的点九图拉伸信息,部分代码:如图4.11所示:图4.11自定义点九拉伸信息将自定义的点九图拉伸信息写入图片传入一个BufferedImage对象,将BufferedImage对象转换为二进制数组,二进制数组分层头和尾两部分,将点九图拉伸信息插入其中,然后把二进制数组保存到硬盘,部分代码如图4.11所示图4.11将点九图拉伸信息保存到图片文件中自定义组件JavaFX自带的组件有很多,功能也也很强大,但是本程序需要用到非常多的组件,如果用官方只用官方提供的组件,则代码量非常惊人,代码的阅读性也会变差,所以需要自定义组件。YLTImageView描述:读取主题文件里的预览图文件夹,显示文件夹里面的全部图片,并显示图片的信息,右键点击可以弹出功能选择框,如图4.12所示。组件功能:显示图片名字显示图片大小点击图片显示大图可以自动调整图片大小,小于规定的大小。图片替换删除图4.12预览图组件部分功能实现方式和代码:自动调整图片大小:把要调整的图片复制一份副本到预览图目录,然后用Thumbnailator里的Thumbnails将图片按质量,由大到小逐一调整,如果图片大小小于300k,则退出循环,删除源文件,将调整后的图片名字改成原来的名字。图4.13自动调整图片大小MyImageView描述:继承了ImagView类,因为要模拟手机UI的显示效果,而手机的分辨率往往比电脑显示器的分辨率要大,如果按照手机显示图片的坐标在电脑上显示,会导致显示不全,超出显示器的范围,为了解决这个问题,新建了四个SimpleIntegerProperty类的参数YLT_X、YLT_Y、YLT_W、YLT_H,这些参数的值发生改变时,会将参数除与3,并将得到的结果作为布局坐标。组件功能:将显示的图片颜色叠加图片对齐部分功能实现方式和代码:图片对齐:记录初始化时的坐标,当图片改变时,重新计算图片关于X轴的布局,实现居中或者靠左对齐,代码如图4.14所示。图4.14图片对齐D9Image描述:继承MyImageView类,读取点九图拉伸信息,模拟点九图在手机上显示的效果,有点九图拉伸信息时,能让图片无损放大和缩小,没有拉伸信息时,单纯的放大,有损显示。组件功能:读取点九图拉伸信息。模拟手机上的点九图显示效果。部分功能实现方式和代码:模拟手机上的显示效果:首先读取点九图的拉伸信息,然后按照拉伸信息上面黑边和左面黑边,将原图片分为N个区,分区分为4种,如图4.15。不可拉伸(不被黑边所包围的透明区域)只能横向拉伸(上面有黑边,左边无黑边的绿色区域)只能纵向拉伸(上面无黑边,左边有黑边的绿色区域)可横向和纵向拉伸(上面有黑边,左边有黑边的紫色区域)图4.15图片对齐新建一个类,记录每个区域的坐标、大小,是否可横拉伸或纵拉伸,记录完全部区域后,按照需要显示的大小,计算出横向要拉伸多少和纵向拉伸多少,在算出这个区域所含有的黑色像素和总像素的比例,算出这个区域要拉伸大小,全部刷完后,得出了拉伸之前的全部区域的坐标和拉伸之后的全部坐标。把拉伸前的坐标将原图分成N分,对比拉伸之后的坐标,把单个图片拉伸,然后将全部图片拼起来,就会得到可无损拉伸后的图片,部分代码如图4.16所示。图4.16图片拼合TextImage描述:继承MyImageView类,将字符转换为带透明度的图片。功能:将字符转换为图片。部分功能实现方式和代码:传入一个字符,然后调用将字符转换为图片的方法,把得到的图片设置为要显示的图片。部分代码如图4.17所示。图4.17字符转换为图片程序开发程序开发的流程图:图5.1程序开发流程图这是这个程序的开发流程,从简单到复制,整个项目都会按照这个顺序开发。登录界面登录界面设计,如下图所示:图5.2程序登录界面登录客户端设计登录系统采用Socket通信技术,使程序与服务器的登录系统通信,输入账号密码后,程序会尝试跟服务器建立通信,通讯成功,程序向服务器发送账号密码等信息,服务器接收到账号密码后,在服务器的数据库中核对账号密码是否存在,如果存在,则继续判断用户的账号是否已经过期,如果登录成功,返回true,登录失败就返回登录失败的原因,部分代码如下图所示:图5.3客户端与服务器建立通讯,并发送账号信息登录服务器设计登录系统服务器与用户数据库分别存放在两台独立的主机,这样能提高系统的稳定性和安全性。登录系统服务器启动后,程序会进入阻塞状态,等待客户端与之建立通信,建立通讯后,服务器会开启一条线程,用于核对用户的信息,部分代码如下图所示。图5.4登录服务器等待通讯主界面主界面设计,如下图所示:图5.5主界面主界面主要有3个功能:新建主题可以选择3三个版本,分别为8.0、9.0和10.0,选择要新建的主题版本,填写好主题信息,点击确定后会在主题保存目录下新建一个主题文件夹,将主题的文件复制到里面,界面如下图所示:图5.6新建主题界面打开主题点击后会弹出一个文件夹选择器,用文件夹选择器选择了一个主题文件夹后,程序会读取主题的description.xml文件,判断选择主题的版本,然后启动对应的主题编辑器。导入主题点击后弹出一个文件选择器,用文件选择器选择一个后缀为hwt的文件(可多选)后,会读取选择的主题文件版本,和主题的中文名,然后将主题文件解压到主题保存路径里。主题编辑器界面基础布局因为主题的版本不同,主题的素材和UI都不一样,所以主题编辑器的界面是不能通用的,但是一些界面是可以通用的,不同的主题版本共用一个布局,方便以后的管理,如下图所示。图5.7主题编辑器界面基础布局主题编辑器界面基础功能读取主题描述信息读取description.xml文件中的主体描述信息,并在主题编辑工具上显示。保存主题描述信息在主题编辑器上修改了主题描述信息后,点击保存,可以将编辑器上的信息保存到主题文件。读取主题预览图打开主题后,工具会读取预览图文件夹下的全部图片,并将图片显示在预览图显示区域。导出主题点击导出主题,弹出文件选择器,调用主题打包方法,将当前显示的主题打包成hwt文件。应用图标导入名单编辑当设计师设计图标时,通常情况下是按照自己的习惯给图片命名的,如“联系人图标”,但是这个命名是不能直接使用的,官方对每个图标的名字都有严格的规定,比如这个“联系人图标”,就要改成“com.android.contacts”才能被主题正确识别,所以我提供了一个按照设计师的习惯,可以自定义一个图标导入名单,如图5.8所示,“联系人”对应的是“com.android.contacts”,表示导入图标时,将名字为联系人的图片修改为com.android.contacts。图5.8图标自定义导入名单主题编辑器完整布局不同的版本的主题版本,主题颜色代码分类和主题素材的分类都有所不同,所以界面的布局是不能通用的,所以每个版本都需要制作一个单独的布局,如图5.9所示,左边为颜色代码区,中间为模拟手机显示区,右边为素材预览区。图5.9华为主题8.0编辑器界面完善编辑器功能字体颜色效果实时预览当颜色代码区的颜色选择器的颜色发生变化时,颜色选择器所选中的颜色能在中间的手机模拟区看到图5.10颜色选择器字体颜色修改颜色选择器的值发生变化时,会实时的将主题文件里的字体颜色控制代码修改为当前显示的颜色,而修改那些字体代码的颜色,由当前颜色选择器的名字决定,如当前的颜色选择器名字为分割线,当这个颜色选择器的值发生变化时,会修改主题xml文件里字段为如图5.12所示,的代码。图5.12颜色选择器主题素材预览把在主题文件夹里面的图片素材,全部显示出现,在按照图片的类型进行分类管理,当素材发生变化时,显示的素材也会发生变化,并讲素材分为可用主题编辑工具改变颜色,和不可修改颜色两种,如果可以修改颜色,点击素材图片的时候会出现颜色选择器。图5.13素材预览素材效果实时预览当素材发生变化时,素材的变化也会实时反映在手机模拟区域。图5.14素材实时显示图片素材颜色叠加点击素材,会显示一个颜色选择器,当颜色选择器的值被确定时,所点击的素材就会根据颜色选择器的值将与之对应的图片素材修改,生成一个新的图片,如下图所示。图5.15图片素材颜色叠加图片素材模板图片素材不是用过一次就不能再用了,之前用过的素材是可以重复利用的,但是每次要用之前的素材时,在一个个素材文件夹里翻需要的素材,是一个费时费力的工程,所以如果将此功能直接集成到工具里,将会提供制作主题的效率,如下图所示。保存模板:将当前主题的素材,保存到模板文件夹里,不用手动去将素材复制到素材文件夹里。选择模板:程序启动时,会读取之前用户保存过的模板文件夹,然后显示出来,当需要使用时,点击需要的模板就可以直接调用。图5.16图片素材模板文件拖动导入单个文件或者文件夹,通过拖拽实现将素材导入到主题文件中,并刷新素材。图5.17图片拖拽导入一键生成预览图把当前模拟手机界面里的全部图层合并成一张图片,然后输出到预览图文件夹中,只生成已经勾选的预览图。主题自检华为主题审核有诸多的规定,其中一项就是主题需要设计师自检,自检的范围有:检测图片的大小,不能超过1M,检测图片分辨率是否符合规定,官方图标是否有有缺少,主题包是否有一些主题文件以外的文件。如果这让人工自检,会非常的浪费时间,而且容易有遗漏,导致上传的主题被打回,此功能可以判断主题文件是否符合规范,如果不符合规范,会提示你主题的具体那个文件出现了什么问题。总结和展望工作总结这个主题编程工具,从一年前制作到现在,已经制作了有一年的时间了,期间经过了多次改版,走了不少弯路,但是这期间让我学习到了很多东西,我相信这不会是终点的,这工具会增加更多的功能,使用起来更方便。工作展望本程序开发目的是为了满足自己工作需求的,从高中开始,我就有接触华为主题开发,自己也上传过几个主题到华为主题商店,可到了大学之后就比较少去关注这个事情了,到了大三,回到主题制作圈子发现,制作主题的人越来越多,主题商店里的主题层指数及增长,大一点的公司已经忙不过来了,需要找外包,我就在当时接到了主题制作的外包,制作了十几个后发现,自己手动做实在是太慢了,然后就用上了自己学过的编程知识,从简单的修改xml文件开始,工具得到了一步步的升级,现在用起来非常的方便,也得到了部分公司的认同,拿到了授权工具的合同,现在主题编辑器市场还是一片蓝海,如果这个主题编辑器能继续增加功能,我觉得得到更多公司的认同。参考文献Java语言程序设计(基础篇)原书第10版.机械工业出版社王二牛同学zip4j使用学习/p/89bf65317e6b2018.09.08FilipJirsakDom4j/dom4j/dom4jAimlsJavaFX中文基础教程/read/cv2569124argugsRigThumbnailator使用简介|学步园/3229489.html致谢眨眨眼,大学四年就要过去了,现在闭上眼睛还能想起第一天来到学院时的情景,我在四年里,学习到了很多知识,扩展了自己的视野。这篇论文是在谭康裕导师的指导下完成的,谭康裕老师在我做毕业设计时,给了我很大的帮助,让我尽快的完成了毕业设计,由衷的感谢谭康裕老是给与玩的帮助。最后,感谢在大学四年间教育过我,帮助过我的各位老师和同学。
怎样提高电脑系统运行速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。1.加快系统启动速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。(1)MsconfigWindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡(如图1),该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。(2)BootvisBootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。(3)禁用多余的服务WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。4)修改注册表来减少预读取,减少进度条等待时间WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。(5)减少开机磁盘扫描等待时间当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。2.提高系统运行速度提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。(1)设置处理器二级缓存容量WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系统缓存同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。(3)改进输入/输出性能这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。(4)禁用内存页面调度在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。(5)关闭自动重新启动功能当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。(6)改变视觉效果WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选框来关闭所有的视觉效果,也可选择“自定义”然后选择自己需要的视觉效果。(7)合理设置页面虚拟内存同样也是在“性能选项”对话框中,选择“高级”选项卡,在其中的“虚拟内存”栏中单击“更改”按钮,接下来选择虚拟内存为“自定义大小”,然后设置其数值。一般情况下,把虚拟设为不小于256M,不大于382M比较合适,而且最大值和最小值最好一样。(8)修改外观方案WindowsXP默认的外观方案虽然漂亮,但对系统资源的占用也多,可将其改为经典外观以获得更好的性能。在桌面空白位置单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,会打开“显示属性”对话框,在“主题”选项卡选择主题为“Windows经典”,即可将外观修改为更为经济的Windows经典外观。(9)取消XP对ZIP支持WindowsXP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择“开始→运行”,在“运行”对话框中键入“regsvr32/uzipfldr.dll”,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。(10)关闭Dr.WatsonDr.Watson是WindowsXP的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存保存为DUMP文件以供程序员分析。不过,记录DUMP文件对普通用户则毫无帮助,反而会带来很大的不便:由于Dr.Watson在应用程序崩溃时会对内存进行DUMP记录,将出现长时间硬盘读写操作,要很长一断时间程序才能关闭,并且DUMP文件还会占用大量磁盘空间。要关闭Dr.Watson可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,双击其下的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。同样,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,可在“系统属性”对话框中选择“高级”选项卡,单击“启动和故障恢复”栏中的“设置”按钮,并在弹出的“启动和故障恢复”对话框中选择“写入调试信息”为“无”(如图5)。(11)启动硬盘/光驱DMA模式打开“系统属性”对话框,选择“硬件”选择卡中的“设备管理器”按钮,打开“设备管理器”窗口,在设备列表中选择“IDEATA/ATAPI控制器”,双击“主要IDE通道”或“次要IDE通过”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”。(12)关掉不用的设备WindowsXP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。(13)关闭错误报告当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在“系统属性”对话框中选择“高级”选项卡,单击“错误报告”按钮,在弹出的“错误汇报”对话框中,选择“禁用错误汇报”单选项,最后单击“确定”即可。另外我们也可以从组策略中关闭错误报告:从“运行”中键入“gpedit.msc”,运行“组策略编辑器”,展开“计算机配置→管理模板→系统→错误报告功能”,双击右边设置栏中的“报告错误”,在弹出的“属性”对话框中选择“已禁用”单选框即可将“报告错误”禁用。(14)关闭自动更新“自动更新”功能对许多WindowsXP用户而言并不是必需的,可将其关闭以节省系统资源。在“我的电脑”上单击鼠标右键,从快捷菜单中选择“属性”命令,选择“系统属性”对话框中的“自动更新”选项卡,勾选“关闭自动更新,我将手动更新计算机”单选框,单击“确定”按钮即可关闭自动更新功能。如果在“服务”已经将“AutomaticUpdates”服务关闭,“系统属性”对话框中的“自动更新”选项卡就不能进行任何设置了。(15)去掉菜单延迟去掉菜单弹出时的延迟,可以在一定程度上加快XP。要修改的键值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”键,把默认的400修改为0,按F5刷新注册表即可生效。(16)清除预读文件WindowsXP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在WindowsXP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。(17)关闭自动播放功能在WindowsXP中,当往光驱中放入光盘或将USB硬盘接上电脑时,系统都会自动将光驱或USB硬盘扫描一遍,同时提示你是否播放里面的图片、视频、音乐等文件,如果是拥有多个分区的大容量的USB硬盘,扫描会耗费很长的时间,而且你得多次手动关闭提示窗口,非常麻烦。这种情况下我们可以将WindowsXP的自动播放功能关闭。运行“组策略”程序。在组策略窗口左边栏中,打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框。在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”(如图6)。这样以后就不用担心WindowsXP的“自动播放”功能带来的麻烦了。如果你只是想禁止系统扫描某个驱动器(如USB硬盘)上的文件,可采用下面的方法。先连上你的USB硬盘,让系统将它识别出来。然后打开“我的电脑”,选择USB硬盘上的某个分区,按鼠标右键,会弹出磁盘属性窗口,选取“自动播放”选项卡,将所有内容的类型都选择为不执行操作。如果USB硬盘有多个分区,对所有分区都进行同样的操作,这样当你将USB驱动器拔掉再重新接上时,系统会将USB硬盘识别出来,而不会反复问你是否播放USB硬盘中的文件了。3.加快关机速度WindowsXP的关机速度要慢于启动速度,特别有些任务还需要手工结束,更加延缓了关机速度。因此,要加快关机速度,首先要开启WindowsXP的自动结束任务功能。具体步骤是:从注册表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的键值设置为1即可。然后再修改“HungAppTimeout”为“4000(或更小)”(预设为5000),该键值同样也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同样把WaitToKillServiceTimeout设置为“4000”;通过这样设置后的关机速度明显要加快了。够全面吧~~◆二、硬件优化设置◆1、关掉不用的设备
在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,在要停用设备属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。当需要使用这些设备时再从设备管理器中启用它们。◆2、内存性能优化
WindowsXP中有几个选项可以优化内存性能,它们全都在注册表下面位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory
Management
1)禁用内存页面调度(Paging
Executive)
XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。256M以上内存才使用这个设置。把“DisablePagingExecutive”的值从0改为1就可以禁止内存页面调度了。
2)提升系统缓存
必须有256M以上的内存,才激活它。把LargeSystemCache键值从0改为1,一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。
3)输入/输出性能
内存大于256M才更改这里的值,这个优化只对server(服务器)用户才有实在意义,它能够提升系统进行大容量文件传输时的性能。建一个DWORD(双字节值)键值,命名为IOPageLockLimit,数值设8M-16M字节之间性能最好,具体设什么值,可试试哪个值可获得最佳性能。这个值是用字节来计算的,比如你要分配12M,就是12×1024×1024,也就是12582912。◆3、启动硬盘/光驱DMA模式
“系统属性”-“硬件”-“设备管理器”,在设备列表中选择“IDE
ATA/ATAPI控制器”,双击“主要
IDE
通道”或“次要
IDE
通道”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”(在BIOS里也应该要先设为支持DMA)。
◆4、关闭自动播放功能
运行“组策略”程序,在组策略窗口左边栏中打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框,在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”。
◆5、设置二级缓存容量
WindowsXP有时无法自动检测处理器的二级缓存容量,需要我们手动设置。运行注册表编辑器,找到HKCU_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory
Management,选择Dword值SecondLevelDataCache(如果没有就新建这个值),修改这个值(填时使用10进制)为你的CPU的二级缓存的大小,比如你的CPU的二级缓存是256KB,就修改Dword值SecondLevelDataCache为10进制的256即可。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论