Android复习题

合集下载

android开发笔试题及答案

android开发笔试题及答案

android开发笔试题及答案一、选择题1. 下列哪个不是Android开发中常用的布局控件?A. LinearLayoutB. RelativeLayoutC. ConstraintLayoutD. Button答案:D2. 在Android中,下列哪个方法用于启动一个新的Activity?A. startActivity()B. startService()C. bindService()D. sendBroadcast()答案:A3. 下列哪个不是Android中的四大组件?A. ActivityB. ServiceC. Content ProviderD. View答案:D4. 在Android开发中,下列哪个不是UI线程?A. 主线程B. UI线程C. 子线程D. 工作线程答案:C5. 在Android中,下列哪个不是用于处理网络请求的类?A. HttpURLConnectionB. HttpClientC. AsyncTaskD. HttpUrlConnection答案:C二、填空题1. 在Android中,______是用来定义一个应用程序的可执行组件。

答案:Activity2. AndroidManifest.xml文件是Android应用的______。

答案:配置文件3. 在Android开发中,______是用来实现数据持久化的一种方式。

答案:SQLite4. 在Android中,______是用来处理后台任务的。

答案:Service5. Android中,______是用来进行网络通信的。

答案:HTTPURLConnection三、简答题1. 请简述Android中Activity和Fragment的关系。

答案:Activity是Android应用程序中的基本构建块,它是一个可以包含用户界面的屏幕。

Fragment是Activity的一部分,可以被添加到Activity中,用来管理用户界面的一部分。

android考试复习题

android考试复习题

android考试复习题Android考试复习题涵盖了多个方面,包括基础知识、开发工具、UI 设计、API使用、性能优化等。

以下是一些关键点和问题,用以帮助复习:1. 基础知识- 什么是Android操作系统?- Android的架构层有哪些?- 解释Android的Activity生命周期。

2. 开发环境- 描述如何设置Android开发环境。

- 什么是Android Studio?- 解释Android SDK和NDK的区别。

3. 布局与UI设计- 列出常用的Android布局类型。

- 如何使用ConstraintLayout进行复杂布局设计?- 解释Android的Material Design原则。

4. Activity与Fragment- 什么是Activity和Fragment?- 描述Activity和Fragment之间的交互方式。

- 如何实现Activity的启动模式?5. Intent与Broadcast Receiver- 解释Intent的用途和类型。

- 如何使用Broadcast Receiver监听系统广播?6. 数据存储- Android支持哪些数据存储方式?- 解释SQLite数据库的基本操作。

- 如何使用SharedPreferences存储简单数据?7. 网络编程- 如何在Android中实现网络请求?- 解释HTTP协议的基本概念。

- 描述JSON和XML数据格式的使用。

8. 多媒体处理- 如何在Android中播放音频和视频?- 解释Camera API的基本使用方法。

9. 服务与后台任务- 解释Service和IntentService的区别。

- 如何使用WorkManager处理后台任务?10. 性能优化- 描述内存泄漏的原因和解决方法。

- 如何优化应用的启动时间?- 解释Android的Profiler工具的使用。

11. 安全性- 解释Android的安全机制,如权限系统。

android期末复习题

android期末复习题

android期末复习题一、选择题(每题2分,共20分)1. Android操作系统是基于哪个内核开发的?A. Linux内核B. Windows内核C. Unix内核D. MacOS内核2. 下列哪个不是Android应用开发中常用的布局?A. LinearLayoutB. RelativeLayoutC. GridLayoutD. FlowLayout3. 在Android开发中,Activity生命周期中,哪个状态表示Activity已经完全可见?A. onCreate()B. onStart()C. onResume()D. onPause()4. Android应用中,Intent主要用于什么?A. 数据存储B. 组件间通信C. 网络通信D. 线程管理5. 下列哪个不是Android开发中常用的数据存储方式?A. SharedPreferencesB. SQLite数据库C. 文件存储D. 网络存储6. Android开发中,哪个类用于处理网络请求?A. NetworkManagerB. NetworkRequestC. NetworkServiceD. HttpURLConnection7. 在Android开发中,哪个方法用于启动一个新的Activity?A. startService()B. startActivity()C. broadcastIntent()D. sendBroadcast()8. Android开发中,哪个组件用于实现后台服务?A. ActivityB. ServiceC. BroadcastReceiverD. ContentProvider9. Android中,如何实现屏幕旋转时Activity不重新创建?A. 在AndroidManifest.xml中设置android:configChanges属性B. 在Activity中重写onCreate()方法C. 在Activity中重写onPause()方法D. 在Activity中重写onResume()方法10. 在Android开发中,哪个类用于实现广播接收器?A. BroadcastReceiverB. BroadcastServiceC. BroadcastActivityD. BroadcastIntent二、简答题(每题5分,共30分)1. 请简述Android开发中Activity的生命周期,并说明每个状态的特点。

android 复习题

android 复习题

android 复习题Android 复习题Android操作系统是目前全球最流行的移动操作系统之一,它的广泛应用使得对Android的了解和掌握成为了许多人的必备技能。

为了帮助大家巩固对Android的知识,下面将提供一些常见的Android复习题。

希望这些问题能够帮助你回顾和加深对Android的理解。

1. 什么是Android操作系统?Android操作系统是由Google开发的基于Linux内核的开源移动操作系统。

它为移动设备提供了一个完整的软件堆栈,包括操作系统、中间件和应用程序接口(API),以便开发者可以创建各种各样的应用程序。

2. 请简要说明Android的四个主要组件是什么?Android的四个主要组件是Activity、Service、BroadcastReceiver和ContentProvider。

- Activity是用户界面的一部分,负责管理用户与应用程序之间的交互。

- Service是在后台执行长时间运行操作的组件,它没有用户界面。

- BroadcastReceiver是用于接收和响应系统广播消息的组件。

- ContentProvider允许应用程序之间共享数据,它提供了一种统一的数据访问接口。

3. 什么是Intent?Intent是在Android应用程序之间传递数据的一种机制。

它可以用于启动Activity、启动Service、发送广播和传递数据等操作。

Intent可以包含数据(Extras)和目标组件的信息,以便系统可以根据Intent的内容选择合适的组件来处理。

4. 请解释什么是Android的布局?Android的布局是指定义和排列用户界面元素的方式。

Android提供了多种布局类型,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)等。

开发者可以根据需要选择合适的布局类型,并使用布局属性来调整元素的位置和大小。

android考试复习题

android考试复习题

android考试复习题Android考试复习题Android是目前最流行的移动操作系统之一,它的广泛应用使得对Android开发的需求越来越大。

如果你正在准备Android考试,那么掌握一些常见的复习题是非常重要的。

本文将为你提供一些Android考试复习题,帮助你巩固知识并提高你的准备水平。

一、基础知识1. Android是哪个公司开发的?2. 什么是Android SDK?3. Android应用的基本组成部分是什么?4. 什么是Activity?5. 什么是Intent?6. 什么是布局文件?二、界面设计1. 请列举几种常见的布局文件类型。

2. LinearLayout和RelativeLayout有什么区别?3. 什么是ListView?4. 什么是RecyclerView?5. 什么是Fragment?三、数据存储1. 请列举几种常见的数据存储方式。

2. 什么是Shared Preferences?3. 什么是SQLite数据库?4. 什么是Content Provider?四、网络通信1. 请列举几种常见的网络通信方式。

2. 什么是HTTP请求?3. 什么是JSON?4. 请简要说明如何在Android应用中进行网络请求。

五、多媒体处理1. 什么是MediaPlayer?2. 什么是Camera API?3. 什么是SurfaceView?4. 请简要说明如何在Android应用中播放音频文件。

六、性能优化1. 什么是ANR?2. 请列举几种常见的性能优化方法。

3. 什么是内存泄漏?4. 请简要说明如何进行内存优化。

七、安全性1. 什么是ProGuard?2. 什么是混淆?3. 什么是HTTPS?4. 请简要说明如何保护Android应用的安全性。

八、其他1. 什么是Gradle?2. 什么是Android Studio?3. 请简要说明如何创建一个新的Android项目。

4. 请简要说明如何在Android应用中添加第三方库。

android基础试题及答案

android基础试题及答案

android基础试题及答案1. Android操作系统是基于哪个开源项目开发的?A. FreeBSDB. LinuxC. SolarisD. Windows答案:B2. 在Android开发中,哪个文件是用来定义应用的配置和属性的?A. AndroidManifest.xmlB. build.gradleC. strings.xmlD. activity_main.xml答案:A3. Android应用的最小单位是什么?A. ActivityB. ServiceC. BroadcastReceiverD. Application答案:A4. 在Android中,哪个类是用来处理用户界面的?A. ActivityB. ServiceC. BroadcastReceiverD. ContentProvider答案:A5. Android中的Intent是用来做什么的?A. 启动一个新的ActivityB. 启动一个新的ServiceC. 启动一个新的BroadcastReceiverD. 以上都是答案:D6. 在Android中,如何实现Activity之间的数据传递?A. 使用IntentB. 使用BundleC. 使用SharedPreferencesD. 使用数据库答案:A7. Android中的四大组件是什么?A. Activity、Service、BroadcastReceiver、ContentProviderB. Activity、Service、ContentProvider、DatabaseC. Activity、Service、BroadcastReceiver、DatabaseHelperD. Activity、Service、ContentProvider、IntentService答案:A8. 在Android中,如何实现后台服务?A. 使用ActivityB. 使用ServiceC. 使用BroadcastReceiverD. 使用ContentProvider答案:B9. Android中,如何实现应用间的通信?A. 使用IntentB. 使用ServiceC. 使用ContentProviderD. 使用BroadcastReceiver答案:C10. Android中,如何实现应用的本地存储?A. 使用SharedPreferencesB. 使用SQLite数据库C. 使用文件存储D. 以上都是答案:D。

高校Android考试复习题

高校Android考试复习题

1、Android的体系结构2、Activity的启动方式有3、在Android模拟器中,内置了一个用于调试和测试的工具4、启动Service的两种方法。

5、Android四大组件6、Intent过滤器7、Android SDK主要语言基础7、R.java文件的用途。

9、Activity生命周期的事件回调函数10、在Android调试过程中,LogCat出现的日志信息11、通过继承ContentProvider类可以创建一个新的数据提供者的过程。

12、手机操作系统的是()A.AndroidB. Windows VistaC. IOSD. Windows Phone 713、是AbsoluteLayout中特有的属性( )A,android:layout_height B,android:layout_xC,android:layout_above D,android:layout_toRightOf14、在手机开发中常用的数据库是( SQLite )15、若在界面上显示“Hello,World”,应该使用以下哪个控件是()A.TextViewB.ImageViewC.ListViewD.以上都不对16、Spinner控件的显示为文本列表形式,在ArrayAdapter适配器中应选择以下哪种方式()yout.simple_spinner_dropdown_itemB. yout.simple_list _item_1C. yout.simple_list _item_2D. yout.simple_spinner_ item17、打开一个Activity,对提供的数据进行Web搜索的Intent常用动作是()A. ACTION_WEB_SE ARCHB.ACTION_SEARCHC. ACTION_ANSWERD.ACTION_VIEW18、如果将一个TextView的android:layout_height属性值设置为wrap_content,那么该组件将是以下哪种显示效果?( )A.该文本域的宽度将填充父容器宽度B.该文本域的宽度仅占据该组件的实际宽度C.该文本域的高度将填充父容器高度D.该文本域的高度仅占据该组件的实际高度19、使用以下哪种方法将数据写到文件的末尾()A. MODE_PRIVATEB. MODE_APPENDC. MODE_WORLD_READABLED. MODE_WORLD_WRITEABLE20、Android 项目工程下面的assets 目录的作用是什么( )A、放置应用到的图片资源。

Android-复习题+答案

Android-复习题+答案

1.可以开启SD卡访问权限的设置<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>2.在Android项目中,哪个文件用于存放布局文件res下layout文件夹3.如果手机内存不足,操作系统会选择杀死onstop被调用即Activity被停止或处于后台状态下的Activity以释放更多的内存空间4.属性android:layout_toLeftOf是哪种布局管理器所特有相对布局5.ListView是Android中常用的列表控件,给ListView填充数据可以采用适配器,适配器不能直接使用,需要自定义类继承的是答案?6.TextView控件的属性android:textAppearance规定文字的显示方式,其中用于显示大号字体的属性值是?android:attr/textAppearanceLarge7.Android中的进度条有两种样式:环形和水平,如果要设置为水平进度条需要给属性style赋值?android:progressBarStyleHorizontal8.在TableLayout布局管理器的属性中,能够实现设置可伸展的列,伸展后使得该行元素充满整行的是android:strechColumns=”0”9.在Android常用的布局管理器中,每次只能呈现一个控件的布局管理器是帧布局FrameLayout10.在Android项目中,哪个文件夹用于存放位图文件assets11.Android常用的图片资源中,不包括哪种格式的图片bmp位图12.SharedPreferences可以将数据以xml文件的形式保存在手机内存储空间,在保存数据时指明只能供本应用程序使用,其他应用程序无法访问的参数是Context.MODE_PRIVATE13.Android中控件的属性layout_width的取值有哪些?各有什么样的作用?14.创建OptionMenu的方法有哪两种?二者有何优缺点?15.SQLiteOpenHelper类的作用是什么?16.Java中访问修饰符有哪些?他们所限制的范围是什么样的?本类同包非子类不同包子类任何类Public * * * *Protected * * *Default(默认) * *Private *17.对一个Activity来说,在什么情况下会发生执行onPause onResume方法的调用?18.ListView间接继承android.widget.AdapterView抽象类,获得了四种监听器,其中常用于设置监听列表项被选中的方法是onItemSelected方法19.只能用于填充文本内容的适配器是ArrayAdapter20.GridView把元素按照二维表格的形式排列,其中用于设定表格列数的属性是android:numColumns=”3”21.自定义AlertDialog的内容时,使用的方法是setView方法22.在设置单选列表对话框时,可以使用方法setSingleChoiceItems(ListAdapter adapter,int checkedItem,DialogInterface.OnClickListener listener),其中参数checkedItem的作用是选项列表索引值23.Android中的按钮有很多种,可以响应长按,在某一个控件上弹出的菜单被称为上下文菜单onCreateContextMenu24.创建菜单项是通过Menu的add方法,该方法有4个重载方法,最为常用的是add(int groupId,int itemId,int order,CharSequence title),其中参数itemId的作用是菜单项在整个菜单的唯一标示,参数order的作用是给菜单项排序.25.AlertDialog.Builder builder=new_Builder(this)26.Animation类是tweened animation中一个抽象类,它有四个实现类;其中AlphaAnimation可以实现透明度动画效果,RotateAnimation可以实现旋转动画效果,ScaleAnimation可以实现缩放动画效果,TranslateAnimation实现移动动画效果27.抽象类与接口有哪些相同点?有哪些不同点?28.根据对话框显示的内容不同,可以划分成多种不同的对话框,请列举至少5种不同的对话框样式,并对每一种样式进行简要说明(如何实现,有何用途)29.android:showAsAction属性的作用什么?可以取哪些值?各有什么特点?30.常用的数据适配器有哪些?它们都有什么样的特性?31.请简要说明android:stretchColumns和android:shrinkColumns属性的作用是什么?32.对于一个Activity来说,在什么情况下会发生执行onStop onRestart方法的调用?。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android复习题及答案1、选择题1. 下列哪些语句关于内存回收的说明是正确的?( )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象2. Android 中下列属于Intent的作用的是( )A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作3. 下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的( )A、<receiver android:name="NewBroad"><intent-filter><actionandroid:name="android.provider.action.NewBroad"/> <action></intent-filter></receiver>B、<receiver android:name="NewBroad"><intent-filter>android:name="android.provider.action.NewBroad"/> </intent-filter></receiver>C、<receiver android:name="NewBroad"><actionandroid:name="android.provider.action.NewBroad"/> <action></receiver>D、<intent-filter><receiver android:name="NewBroad"><action>android:name="android.provider.action.NewBroad"/> <action></receiver></intent-filter>4. 关于ContenValues类说法正确的是( )A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型5. 下面退出Activity错误的方法是( )A、finish()B、抛异常强制退出C、System.exit()D、onStop()6. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是( )A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.7. Android项目工程下面的assets目录的作用是什么( )A、放置应用到的图片资源。

B、主要放置多媒体等数据文件C、放置字符串,颜色,数组等常量数据D、放置一些与UI相应的布局文件,都是xml文件8. 关于res/raw目录说法正确的是( )A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式B、这里的文件是原封不动的存储到设备上会转换为二进制的格式C、这里的文件最终以二进制的格式存储到指定的包中D、这里的文件最终不会以二进制的格式存储到指定的包中9. Android是如何组织Activity的( )A、以栈的方式组式ActivityB、以队列的方式组织ActivityC、以树形方式组织ActivityD、以链式方式组织Activity。

10. onPause什么时候调用( )A.当界面启动时 B.当onCreate方法被执行之后C.当界面被隐藏时D.当界面重新显示时11. 在Activity中,如何获取service对象( )A.可以通过直接实例化得到。

B.可以通过绑定得到。

C.通过startService() D.通过getService()获取。

12. 在表格布局中,android:collapseColumns="1,2"的含义是()A、在屏幕中,当表格的列能显示完时,显示1,2列B、在屏幕中,当表格的列显示不完时,折叠C、在屏幕中,不管是否能都显示完,折叠1、2列D、在屏幕中,动态决定是否显示表格。

13. 绝对布局中,android:layout_x 的含义有( )A、以手机左下为原点,组件显示到屏幕中的横向坐标值。

B、以手机左上为原点,组件显示到屏幕中的横向坐标值。

C、以手机右下为原点,组件显示到屏幕中的横向坐标值。

D、以手机右下为原点,组件显示到屏幕中的横向坐标值。

14. 创建Menu需要重写的方法是( )A、onOptionsCreateMenu(Menu menu)B、onOptionsCreateMenu(MenuItem menu)C、onCreateOptionsMenu(Menumenu) D、onCreateOptionsMenu(MenuItem menu)15. 在使用SQLiteOpenHelper这个类时,它的哪一个方法是用来实现版本升级之用的( )A.onCreate() B.onCreade() C.onUpdate() D.onUpgrade()16. ScrollView中,可以直接包含多少个组件( )A.三个 B.两个 C.一个D.无数个17. TabHost.newTabSpec("tab1")( )A.为tab页创建标题为tab1 B.为tab页创建ID为tab1C.为tab页创建内容 D.为tab页创建新空格18. 关于适配器的说法正确的有( )A.它主要是用来存储数据B.它主要用来把数据绑定到组件上C.它主要用来解析数据 D.它主要用来存储xml数据19. 关于Activity说的法不正确的是( )A. Activity是为用户操作而展示的可视化用户界面B.一个应用程序可以有若干个ActivityC. Activity可以通过一个别名去访问D. Activity可以表现为一个漂浮的窗口20. service中如何实现更改Activity界面元素( )A.通过把当前actvity对象传递给service对象。

B.通过向Activity发送广播。

C.通过Context对象更改Act]ivity界面元素D.可以在service中,调用Activity的方法实现更改界面元素。

21. 激活Activity的方法是( )A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn()22. 在使用SQLiteOpenHelper这个类时,它的哪一个方法是用来实现版本升级之用的( )A.onCreate() B.onCreade() C.onUpdate() D.onUpgrade()23. 关于android进程,说法不正确的是( )A.组件运行所在的进程,是由androidmanifest.xml决定,它可以指定该组件运行于哪个进程。

B、当急需内存时,android会决定优先关闭那些空闲的进程C.背景进程是不为用户所见的Activity,但是还会有可能被用户看到,所以它不能被杀死D.可视进程一般不会不被系统所杀死24. 在Activity的生命周期中,当它从可见状态转向半透明状态时,它的哪个方法必须被调用( )A.onStop() B.onPause() C.onRestart() D.onStart()25. 当Activity被消毁时,如何保存它原来的状态( )A.实现Activity的onSaveInstanceState()方法B.实现Activity的onSaveInstance()方法C.实现Activity的onInstanceState()方法D.实现Activity的onSaveState()方法26. 关于Intent对象说法错误的是( )A.在android中,Intent对象是用来传递信息的B.Intent对象可以把值传递给广播或ActivityC.利用Intent传值时,可以传递一部分值类型D.利用Intent传值时,它的key值可以是对象27. 在android中,ArrayAdapter类是用于( )A.用于把数据绑定到组件上B.它能把数据显示到Activity上C.它能把数据传递给广播D.它能把数据传递给服务28. 使进度条变横向的系统样式是( )A. @android:style/Widget.ProgressBar.HorizontalB. @android:style/ProgressBar.HorizontalC. @style/Widget.ProgressBar.HorizontalD. @style/ProgressBar.Horizontal29. activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行( )A、onPause()B、onCreate()C、 onResume()D、onStart()30. android 中下列属于Intent的作用的是( )A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作31. 关于res/raw目录说法正确的是( )A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式B、这里的文件是原封不动的存储到设备上会转换为二进制的格式C、这里的文件最终以二进制的格式存储到指定的包中D、这里的文件最终不会以二进制的格式存储到指定的包中32. 下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的是( )A、android:name="android.provider.action.NewBroad"/>B、android:name=”android.provider.action.NewBroad”/>C、android:name="android.provider.action.NewBroad"/>D、android:name=”android.provider.action.NewBroad”/>33. 下面哪一个不属于Android体系结构中的应用程序层( )A、电话簿B、日历C、SQLiteD、SMS程序34. 下面哪种说法不正确( )A、Android应用的gen目录下的R.java被删除后还能自动生成;B、res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),大小写字母(a-z , A-Z);C、AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。

相关文档
最新文档