在代码中控制UI界面(简单例子)

时间:2024.4.13

在代码中控制UI界面

在Android中,支持像Java Swing那样完全通过代码控制UI界面。也就是所有的UI组件都通过new关键字创建出来,然后将这些UI组件添加到布局管理器中,从而实现用户界面。

在代码中控制UI界面可以分为以下3个关键步骤。

(1)创建布局管理器,可以是帧布局管理器、表格布局管理器、线性布局管理器和相对布局管理器等,并且设置布局管理器的属性。例如,为布局管理器设置背景图片等。

(2)创建具体的组件,可以是TextView、ImageView、EditText和Button等任何Android提供的组件,并且设置组件的布局和各种属性。

(3)将创建的具体组件添加到布局管理器中。

下面将通过一个具体的例子来演示如何使用Java代码控制UI界面。

【例】在Eclipse中创建Android项目,名称为3.2,完全通过代码实现游戏的进入界面。

(1)在新创建的项目中,打开src/com/mingrisoft目录下的MainActivity.java文件,然后将默认生成的下面这行代码删除。

setContentView(R.layout.main);

(2)在MainActivity的onCreate()方法中,创建一个帧布局管理器,并为该布局管理器设置背景,关键代码如下:

1.        FrameLayout frameLayout = new FrameLayout(this);   // 创建帧布局管理器 

2.         frameLayout.setBackgroundDrawable(this.getResources().getDrawable( 

3.             R.drawable.background01));             // 设置背景 

4.         setContentView(frameLayout);       // 设置在Activity中显示frameLayout

(3)创建一个TextView组件text1,设置其文字大小和颜色,并将其添加到布局管理器中,具体代码如下:

1.         TextView text1 = new TextView(this); 

2.         text1.setText("在代码中控制UI界面");           // 设置显示的文字 

3.         text1.setTextSize(TypedValue.COMPLEX_UNIT_PX, 24); // 设置文字大小,单位为像素 

4.         text1.setTextColor(Color.rgb(1, 1, 1));    // 设置文字的颜色 

5.         frameLayout.addView(text1);            // 将text1添加到布局管理器中

(4)声明一个TextView组件text2,因为在为该组件添加的事件监听中,要通过代码改变该组件的值,所以需要将其设置为MainActivity的一个属性,关键代码如下:

1.      public TextView text2;

(5)实例化text2组件,设置其显示文字、文字大小、颜色和布局,具体代码如下:

1.         text2 = new TextView(this); 

2.         text2.setText("单击进入游戏......");     // 设置显示文字 

3.         text2.setTextSize(TypedValue.COMPLEX_UNIT_PX, 24); //设置文字大小,单位为像素 

4.         text2.setTextColor(Color.rgb(1, 1, 1));    // 设置文字的颜色 

5.         LayoutParams params = new LayoutParams( 

6.                ViewGroup.LayoutParams.WRAP_CONTENT, 

7.                ViewGroup.LayoutParams.WRAP_CONTENT);   // 创建保存布局参数的对象 

8.         params.gravity = Gravity.CENTER;           // 设置居中显示 

9.         text2.setLayoutParams(params);         // 设置布局参数

注意:在我做这个的时候,上面第5,6,7,8行的代码编写没有达到预期的效果,主要问题是“单击进入游戏......”并没有居屏幕的中间显示,经过多次的实验分析,将5678行改成:

5. FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(

6.                         ViewGroup.LayoutParams.WRAP_CONTENT,

7.                         ViewGroup.LayoutParams.WRAP_CONTENT);

8.params.gravity=Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL;

(或params.gravity = Gravity.CENTER;也是可以的)。

便成功达到预期的效果。

说明:在通过setTextSize()方法设置TextView的文字大小时,可以指定使用的单位,在上面的代码中,int型的常量TypedValue.COMPLEX_UNIT_PX表示单位是像素,如果要设置单位是磅,可以使用常量TypedValue.COMPLEX_UNIT_PT,这些常量可以在Android官方提供的API中找到。

(6)为text2组件添加单击事件监听器,并将该组件添加到布局管理器中,具体代码如下:

代码位置:光盘\mr\example\第3章\3.2\src\com\mingrisoft\MainActivity.java

1.        text2.setOnClickListener(new OnClickListener() { // 为text2添加单击事件监听器 

2.          

3.            @Override 

4.          public void onClick(View v) { 

5.               new AlertDialog.Builder(MainActivity.this).setTitle("系统提示") // 设置对话框的标题 

6.                        .setMessage("游戏有风险,进入需谨慎,真的要进入吗?") // 设置对话框的显示内容 

7.                       .setPositiveButton("确定",    // 为确定按钮添加单击事件 

8.                               new DialogInterface.OnClickListener() { 

9.         

10.                               @Override 

11.                               public void onClick(DialogInterface dialog, int which) { 

12.                                   Log.i("3.2", "进入游戏"); // 输出消息日志 

13.                               } 

14.                         }).setNegativeButton("退出", // 为取消按钮添加单击事件 

15.                           new DialogInterface.OnClickListener() { 

16.      

17.                               @Override 

18.                              public void onClick(DialogInterface dialog,int which) { 

19.                                    Log.i("3.2", "退出游戏"); // 输出消息日志 

20.                                   finish();   // 结束游戏 

21.                                } 

22.                            }).show();          // 显示对话框 

23.        } 

24.     }); 

25.     frameLayout.addView(text2);                    // 将text2添加到布局管理器中

运行本实例,将显示如图3.2所示的运行结果。

单击文字“单击进入游戏……”,将弹出如图3.3所示的提示对话框。

  

试一试:根据以上程序,制作一个靠窗体底部居中显示开始链接的游戏开始界面。提示:通过Java代码将LayoutParams对象的gravity属性设置为Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL即可。

说明:完全通过代码控制UI界面,虽然该方法比较灵活,但是其开发过程比较烦琐,而且不利于高层次的解耦,因此不推荐采用这种方式控制UI界面。


第二篇:UI设计(界面)规范


UI设计(流程/界面)规范

一:UI设计基本概念与流程

1.1 目的

规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计流程的可操作性。

1.2范围

l 界面设计

l 此文档用于界面设计,本文档的读者对象是项目管理人员、售前服务人员、UI界面设计人员、界面评审人员和配置测试人员。

1.3 概述

UI设计包括交互设计,用户研究,与界面设计三个部分。基于这三部分的UI设计流程是从一个产品立项开始,UI设计师就应根据流程规范,参与需求阶段、分析设计阶段、调研验证阶段、方案改进阶段、用户验证反馈阶段等环节,履行相应的岗位职责。UI设计师应全面负责产品以用户体验为中心的UI设计,并根据客户(市场)要求不断提升产品可用性。本规范明确规定了UI设计在各个环节的职责和要求,以保证每个环节的工作质量。

1.4 基本介绍

A、需求阶段

软件产品依然属于工业产品的范畴。依然离不开3W的考虑(Who,where,why.)也就是使用者,使用环境,使用方式的需求分析。所以在设计一个软件产品之前我们应该明确什么人用(用户的年龄,性别,爱好,收入,教育程度等)。什么地方用(在办公室/家庭/厂房车间/公共场所)。如何用(鼠标键盘/遥控器/触摸屏)。上面的任何一个元素改变结果都会有相

应的改变。

除此之外在需求阶段同类竞争产品也是我们必须了解的。同类产品比我们提前问世,我们要比他作的更好才有存在的价值。那么单纯的从界面美学考虑说哪个好哪个不好是没有一个很客观的评价标准的。我们只能说哪个更合适,更合适于我们的最终用户的就是最好的。

B、分析设计阶段

通过分析上面的需求,我们进入设计阶段。也就是方案形成阶段。我们设计出几套不同风格的界面用于被选。

C、调研验证阶段

几套风格必须保证在同等的设计制作水平上,不能明显看出差异,这样才能得到用户客观真实的反馈。

测试阶段开始前我们应该对测试的具体细节进行清楚的分析描述。

调研阶段需要从以下几个问题出发:

用户对各套方案的第一印象

用户对各套方案的综合印象

用户对各套方案的单独评价

选出最喜欢的

选出其次喜欢的

对各方案的色彩,文字,图形等分别打分。

结论出来以后请所有用户说出最受欢迎方案的优缺点。

所有这些都需要用图形表达出来,直观科学。

D、方案改进阶段

经过用户调研,我们得到目标用户最喜欢的方案。而且了解到用户为什么喜欢,还有什么遗憾等,这样我们就可以进行下一步修改了。这时候我们可以把精力投入到一个方案上,将方案做到细致精美。

E、用户验证阶段

改正以后的方案,我们可以将他推向市场。但是设计并没有结束。我们还需要用户反馈,好的设计师应该在产品上市以后去站柜台。零距离接触最终用户,看看用户真正使用时的感想。为以后的升级版本积累经验资料。

经过上面设计过程的描述,大家可以清楚的发现,界面UI设计是一个非常科学的推导公式,他有设计师对艺术的理解感悟,但绝对不是仅仅表现设计师个人的绘画。所以我们一再强调这个工作过程是设计过程。UI界面设计不存在美工。

2. UI设计流程

2.1 概述

根据上述原则,分析公司产品的特点,制定符合软件产品(或项目)生命周期的UI设计流程。每个产品(或项目)的生命周期中,UI设计师应该严格按照流程,完成每个环节的职责,确保流程准确有效的得到执行,从而提高产品的可用性,提升产品质量。

二:UI界面用户体验设计原则与规范

1:应该遵循的基本原则

无论是控件使用,提示信息措辞,还是颜色、窗口布局风格,遵循统一的标准,做到真正的一致。

这样得到的好处:

1:使用户使用起来能够建立起精确的心里模型,使用熟练了一个界面后,切换到另外一个界面能够很轻松的推测出各种功能,语句理解也不需要费神理解

2:降低培训、支持成本,支持人员不会行费力逐个指导。

3:给用户统一感觉,不觉得混乱,心情愉快,支持度增加

做法:

项目组有经验人士,确立UI规范:

美工提供色调配色方案,提供整体配色表

界面控制程序人员、用户体验人员提出合理统一使用的控件库。参考标准界面使用规范: 控件功能遵循行业标准,windows平台参见《Microsoft 用户体验》

控件样式在允许的范围内可以统一修改其样式、色调

参考其他软件先进操作,提取对本项目有用的功能,以使用,绝对不能盲从,漫无目的。 根据需要,设计特殊操作控件,准则为:简化操作、达到一定功能目的

界面实施人员与美工商榷控件可实现性,(如不实行此步骤,将会导致各自对对方工作不满意,也会产生不一致的混乱)。重复叠代上述工作。

建立合理化文档《UI标准》描述上述规范,

强行界面设计者理解之,并作为开发准则,

SQA人员进行监控开发人员是否遵循,及时告诫开发人员。

2:(Color)颜色使用恰当,遵循对比原则:

1:统一色调,针对软件类型以及用户工作环境选择恰当色调:

如:安全软件,根据工业标准,可以选取黄色,绿色体现环保,蓝色表现时尚、紫色表现浪漫等等,淡色可以使人舒适,暗色做背景使人不觉得累等

2:如果没有自己的系列界面,采用标准界面则可以少考虑此方面,做到与操作系统统一,读取系统标准色表

3:色盲、色弱用户,即使使用了特殊颜色表示重点或者特别的东西,也应该使用特殊指示符,?quot;!,?着重号,以及图标等

4:颜色方案也需要测试,常常由于显示器、显卡的问题,色彩表现每台机器都不一样,应该经过严格测试,不同机器进行颜色测试

5:遵循对比原则:在浅色背景上使用深色文字,深色背景上使用浅色文字,蓝色文字以白色背景容易识别,而在红色背景则不易分辨,原因是红色和蓝色没有足够反差,而蓝色和白色反差很大。除非特殊场合,杜绝使用对比强烈,让人产生憎恶感的颜色。 6:整个界面色彩尽量少的使用类别不同的颜色

itop色表

具体标准参考美术学统计学术标准。 色表的建设,对于美工在图案设计、包装设计上起着标准参考作用,对于程序界面设计人员设计控件、窗体调色起到有章可循的作用。 3:(Resource)资源

一个多姿多彩的人机交互界面,少不了精美的鼠标光标、图标以及指示图片、底图等。 1:也需要遵循统一的规则,包括上述颜色表的建立,图标的建立步骤也应该尽可能的形成标准,参考itop的outlookbar图标设计标准

2:有标准的图标风格设计,有统一的构图布局,有统一的色调、对比度、色阶,以及图片风格

3:底图应该融于底图,使用浅色, 低对比,尽量少的使用颜色。

4:图标、图像应该很清晰的表达出意思,遵循常用标准,或者用户机器容易联想的到物件,绝对不允许画出莫名奇妙的图案。

5:鼠标光标样式统一,尽量使用系统标准,杜绝出现重复的情况,例如某些软件中一个手的形状就有4钟不同的样子。

4:(Font)字体

使用统一字体,字体标准的选择依据操作系统类型决定。

中文采用标准字体,“宋体”,英文采用标准 Microsoft Sans Serif 不考虑特殊字体(隶书、草书等,特殊情况可以使用图片取代),保证每个用户使用起来显示都很正常。

字体大小根据系统标准字体来,例如 MSS字体8磅,宋体的小五号字(9磅)五号字(10.5磅)。

所有控件尽量使用大小统一的字体属性,除了特殊提示信息、加强显示等例外情况 ITop采用BCB,所有控件默认使用 parent font,不允许修改,这样有利于统一调整。 ·系统大小字体属性改变的处理。

Windows系统有个桌面设置,设置大字体属性,很多界面设计者常常为这个恼火,如果设计时遵循微软的标准,全部使用相对大小作为控件的大小设置,当切换大小字体的时候,相对不会有什么特殊问题。

但是由于常常方便使用点阵作为窗口设计单位,导致改变大字体后,出现版面混乱的问题。 这个情况下,应该做相应处理:

1:写程序自动调节大小,点阵值乘以一个相应比例

2:全部采用点阵作为单位,不理会系统字体的调节,这样可以减少调节大字体带来的麻烦。BCB/DELPHI中多采用这种方法,但是必然结果是和系统不统一。

5:(Text)文字表达

提示信息、帮助文档文字表达遵循以下准则:

1:口语化、客气、多用您、请,不要用或少用专业术语,杜绝错别字

2:断句逗号句号顿号分号的用法, 提示信息比较多的话,应该分段,

3:警告、信息、错误 使用对应的表示方法

4:使用统一的语言描述,例如一个关闭功能按钮,可以描述为退出、返回、关闭,则应该统一规定。

5: 根据用户不同采用相应的词语语气语调,如专用软件,可以出现很多专业属于,用户为儿童:这可以语气亲切和蔼,老年用户则应该成熟稳重。制定标准遵循之。

6:(STYLE)控件风格,不要使用错误控件,控件功能要专一

有设计好的同一风格的控件,如果没有能力设计出一套控件,则使用标准控件,绝对不能不伦不类,杂乱无章

·不要错误使用控件,例如:

使用Button样式做TTable的功能,拿主菜单条显示版权信息,

·统一类型的控件操作方式相同,例如一个控件双击可以执行某些动作,而同样控件,双击却没有任何反映

·一个控件只做单一功能,不复用

很多人为了写程序方便,喜欢把一个控件在不同情况下做不同功能用,这些对用户初次理解增加难度,只有用户熟悉后才能理解。 例如

改变红色选项,左边的参数代表不同的设置,可能由于为了节省控件或者编程量,但是只有熟练用户才回使用,这种情况下解决方法:

1:分组,使用双份控件

2:使用TABLE页,给用户很明显的视觉变化

==========================================================================

总结起来就是:

1. 产品制作人,写产品计划书。

2. 用户体验研究员,作调查分析。

3. 信息建构师,设计产品架构。

4. 互动设计师,作出互动流程。

5. 视觉设计师和用户界面设计师,作出页面视觉设计。

6. 前台工程师,前台开发。

7. 后台工程师,后台开发。

8. 用户体验研究员,做用户测试确保质量。

1.确认目标用户

在软件设计过程中,需求设计角色会确定软件的目标用户,获取最终用户和直接用户的需求。用户交互要考虑到目标用户的不同引起的交互设计重点的不同。例如:对于科学用户和对于电脑入门用户的设计重点就不同。

2.设计目标一致

软件中往往存在多个组成部分(组件、元素)。不同组成部分之间的交互设计目标需要一致。例如:如果以电脑操作初级用户作为目标用户,以简化界面逻辑为设计目标,那么该目标需要贯彻软件(软件包)整体,而不是局部。

3.元素外观一致

交互元素的外观往往影响用户的交互效果。同一个(类)软件采用一致风格的外观,对于保持用户焦点,改进交互效果有很大帮助。遗憾的是如何确认元素外观一致没有特别统一的衡量方法。因此需要对目标用户进行调查取得反馈。

7.可用性原则

7.1可理解

软件要为用户使用,用户必须可以理解软件各元素对应的功能。如果不能为用户理解,那么需要提供一种非破坏性的途径,使得用户可以通过对该元素的操作,理解其对应的功能。例如:删除操作元素。用户可以点击删除操作按钮,提示用户如何删除操作或者是否确认删除操作,用户可以更加详细的理解该元素对应的功能,同时可以取消该操作。

7.2可达到

用户是交互的中心,交互元素对应用户需要的功能。因此交互元素必须可以被用户控制。用户可以用诸如键盘、鼠标之类的交互设备通过移动和触发已有的交互元素达到其它在此之前不可见或者不可交互的交互元素。要注意的是交互的次数会影响可达到的效果。当一个功能被深深隐藏(一般来说超过4层)那么用户达到该元素的几率就大大降低了。可达到的效果也同界面设计有关。过于复杂的界面会影响可达到的效果。(参考简单导向原则) Quote

[阶段一:分析]

1、 用户需求分析

2、 用户交互场景分析

3、 竞争产品分析这两者可以说是相辅相成的。

对于一个较为正规的项目而言,必然有对用户需求的分析内容。其中用户UI需求是重要的组成部分。如果说UI设计原则是所有UI设计的出发点的话,那么用户UI需求就是本次设计的出发点。好的UI设计建立在对用户深刻了解之上。因此用户交互场景分析就很重要。对于大部分项目组来说也许没有时间和精力去实际勘查用户的现有交互、制作完善的交互模型考察,但是UI设计人员在分析的时候一定要站在用户角度思考:如果我是用户,这里我会需要什么。竞争产品能够上市并且被UI设计者知道,必然有其长处。这就是所谓三人行必有我师的意思。每个设计者的思维都有局限性,看到别人的设计会有触类旁通的好处。当然有的时候可以参考的并不一定是竞争产品。

[阶段二:设计]

采用面向场景、面向事件驱动和面向对象的设计方法。 UI设计着重于交互,因此必然要对最终用户的交互场景进行设计。软件是交互产品,用户所作的就是对软件事件的响应以及触发软件内置的事件。因此要面向事件设计。现在的程序开发主流采用的是面向对象设计。面向对象设计可以有效的体现面向场景和面向事件的特点。设计的四个要素:交互对象,数据对象,事件(交互事件和异常),动作

[阶段三:开发]

通过:用户交互case图(说明用户和系统之间的联系)用户交互流程图(说明交互和事件之间的联系)交互功能设计图(说明功能和交互的对应关系) 最终得到UI的设计产品。

[阶段四:验证]

正如UI交互设计原则探讨文中提到的,对于UI产品的验证主要从下面几个方面入手:

1、 功能性对照UI设计的再好,和需求不一致也不可以。

2、 实用性内部测试UI设计的最重要点就是实用性。

3、 用户焦点小组UI设计是否优秀的重要衡量依据。最后,说一点其他的问题。现在往往认为交互式设计和最终的UI效果设计可以截然分开。这就好比说需求可以和设计截然分开,是不可能的。

Quote

UI设计流程以及设计师参与的环节

最近的工作中总结出一条结论:拥有一个完善规范的流程,是决定着一个项目走向成功或失败的关键。

对于UI设计的工作流程,我觉得可以根据“市场分析-用户分析-架构-原型-界面-输出-完善”这条主线制定,每个环节UI设计师都应参与其中。

1.产品定位与市场分析

这一类工作大多都是由新产品研发部门以及市场需求完成的,但UI设计师应了解产品的市场定位、产品定义、客户群体、运营方式等。

2.用户研究与分析

这个过程是非常重要的,设计师应该找到合适的方法来完成此环节。你可以搜集相关资料分析目标用户的使用特征、情感、习惯、心里、需求等,提出用户研究报告和可用性设计建议。这部分工作也可和团队配合完成。时间与项目需求允许的情况下,更可以制定实景用户分析。

3.架构设计

这里涉及到比较多的界面交互与流程的设计,根据可用性分析结果制定交互方式、操作与跳转流程、结构、布局、信息和其他元素。

4.原型设计

我觉得这里应该是一个小的阶段标志,要对前面所有工作加以设计方面的实施,根据进度与成本,可以把原型控制在“手绘-图形-FLASH-视频”几个质量范围。原型的本质更倾向与一个DEMO,它不需要有全部的功能,但要体现出设计对象的基本特性。

5.界面设计

如果很倾向于图形界面设计,这儿是你最喜欢的部分。但一定要结合循环讨论过的分析结果做设计,否则你的作品很难被人信服。色调、风格、界面、窗口、图标、皮肤的表现是本环节的关键。

6.界面输出

作为设计师,在这一部分的工作就是配合好开发人员完成相关的界面结合。

7.完善工作

这个环节是很多部门共同参与的,包括可用性的循环研究、用户体验回馈、测试回馈。同时,UI人员也应该把一些可行性建议进行完善。很多设计师做了东西不喜欢改,这是一个大忌。

如上的流程,可能会有很多部门共同参与完成,UI设计师如何与团队配合并发挥自己应有的作用非常重要。一名合格的UI设计师,应该能贯穿整个UI流程进行工作,而并非是单纯的图形界面设计。

更多相关推荐:
个人求职简历范文(简单版)

个人求职简历姓名Email联系电话XXXXXXX居住地区XXXXXXXXX个人简历一

个人求职简历范文(简单版)

个人求职简历姓名Email联系电话XXXXXXX居住地区XXXXXXXXX个人简历一

简单个人简历范本(标准版)

个人简历一求职书二应聘职位个人求职简历三个人简历四个简的作则人历写原备注一份卓有成效的个人简历是开启事业之门的钥匙正规的简历有许多不同的样式和格式大多数求职者把能想到情况的都写进简历中但我们都知道没有人会愿意阅...

个人求职简历范文(简单版)

个人求职简历姓名Email联系电话187xxxxxxxx居住地区新疆克拉玛依市自荐信尊敬的贵公司领导您好感谢你在百忙之中抽出时间来阅读我的简历我是克拉玛依职业学院专业1014届专科毕业生通过我对贵公司事业业务的...

个人简历范文(简约而不简单)

键入文字个人简历范文1键入文字2

最简单个人简历的模板

个人简历姓名生日籍贯性别身高民族汉照片政治面貌团员毕业院校学历本科专业联系电话邮编电子邮件地址个人简介爱好特长相关证书社会实践工作经历MyResumeNamebirthdaynativeplacemembers...

个人求职简历范文(简单版)

个人求职简历姓名Email联系电话XXXXXXX居住地区XXXXXXXXX个人简历一

20xx年优秀个人简历范文大全

键入文字20xx年个人简历优秀范文1简约而不简单1键入文字2键入文字20xx年外企中英文个人简历模板2Standardresumtemplate标准简历模板NotePleasecompletesection1a...

个人简历模板及范文

个人简历的写作原则一份卓有成效的个人简历是开启事业之门的钥匙正规的简历有许多不同的样式和格式大多数求职者把能想到情况的都写进简历中但我们都知道没有人会愿意阅读一份长达五页的流水帐般的个人简历尤其是繁忙的人事工作...

大学生个人简介范文

大学生个人简介范文txt16生活就是面对现实微笑就是越过障碍注视未来生活就是用心灵之剪在人生之路上裁出叶绿的枝头生活就是面对困惑或黑暗时灵魂深处燃起豆大却明亮且微笑的灯展17过去与未来都离自己很遥远关键是抓住现...

20xx年个人简历范文大全

键入文字20xx年外企中英文个人简历模板2Standardresumtemplate标准简历模板NotePleasecompletesection1and2inbothEnglishandChineseandt...

个人简历写法及范文

个人简历个人简历可以是表格的形式也可以是其他形式个人简历一般应包括以下几个方面的内容1个人资料姓名性别出生年月家庭地址政治面貌婚姻状况身体状况兴趣爱好性格等等2学业有关内容就读学校所学专业学位外语及计算机掌握程...

简单个人简历(49篇)