2024最全Android大厂高级面试题,附答案!,阿里P8大牛亲自讲解

A、 res/layout

B、 res/value

C、 assets

D、 res/drawable

4.在创建Android工程时,填写的Minimum Required SDK是()

A、 匹配的目标版本

B、 程序最低兼容的版本

C、 使用哪个SDK版本编译程序

D、 SDK的主题

5.在下列选项中,关于Android工程中的assets目录的说法正确的是()

A、 存放使用到的图片资源

B、 主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中

C、 存放字符串、颜色、数组等常量数据

D、 存放与UI相应的布局文件

判断题

  1. Android 工程中gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改 ()
  2. Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动等 ()
  3. Android操作系统并不是开源的 ()
  4. Android系统是基于Linux平台开发的 ()
  5. 创建程序时,填写的Package Name表示项目名称 ()
  6. Android 工程中AndroidManifest.xml文件是整个程序的配置文件 ()
  7. SDKManager.exe是Android SDK的管理器,双击它可以看到所有可下载的Android SDK版本 ()
  8. Android是Google公司基于Linux平台开发的手机及平板电脑操作系统 ()
  9. Android系统采用分层架构,由高到低分为4层,依次是应用程序层、应用程序框架层、核心类库和Linux内核 ()

填空题

创建程序时,填写的Application Name表示 _______应用名称

在Android项目程序开发完成后中,必须_____ _____正式的Android安装文件,才能发布到互联网上让用户下载使用。打包成

Android 工程中src目录下存放____ ____文件 所有Java代码

[图片上传失败…(image-7d26b8-1608904599684)]

第二部分 Android UI开发初阶

单选题

1.下列表示Toast较长时间显示的是()。

A、 Toast.LENGTH_LONG

B、 Toast.LONG

C、 Toast.LENGTH_SHORT

D、 Toast.SHORT

2.在相对布局文件中,把控件显示在另外一个控件的右侧使用的属性是()

A、 layout_toRightOf

B、 layout_toLeftOf

C、 layout_toStartOf

D、 layout_toEndOf

3.在帧布局中的子控件默认是()对齐的。()

A、 右上角

B、 左上角

C、 左下角

D、 右下角

4.Android相对布局中,使控件相对父控件底部对齐使用的属性是()。

A、 android:layout_alignParentBottom

B、 android:layout_alignBottom

C、 android:layout_alignBaseline

D、 android:layout_alignParentTop

5.在下列选项中,用于给Activity指定主题的属性是()

A、 icon

B、 label

C、 theme

D、 style

6.Android UI开发中,如果TableLayout的第一个TableRow有两个控件,第二个TableRow有三个控件,那这个TableLayout就有()列。

A、1

B、2

C、3

D、4

7.在下列选项中,用于给控件指定主题的属性是()

A、 icon

B、 label

C、 theme

D、 style

8.绝对布局的标签名称是()

A、 FrameLayout

B、 LinearLayout

C、 RelativeLayout

D、 AbsoluteLayout

9.在相对布局文件中,把控件与另外一个控件的下边使用的属性是()

A、 layout_above

B、 padding

C、 layout_below

D、 layout_margin

10.在下列选项中,设置GridLayout中的某控件占3行的是()

A、 android:rowSpan=“3”

B、 android:layout_rowSpan=“3”

C、 android:layout_columnSpan=“3”

D、 android:layout_column=“3”

11.Android UI开发中,设置Activity的()属性可以使Activity显示为对话框样式。()

A、 android:theme=“@android:style/Theme.Dialog”

B、 android:style=“@android:style/Theme.Dialog”

C、 android:theme=“@android:theme/Theme.Dialog”

D、 android:style=“@android:theme/Theme.Dialog”

12.Android UI开发中,设置线性布局为垂直显示需修改的属性的()

A、 android:orientation=“vertical”

B、 android:orientation=“horizontal”

C、 android:layout_centerHorizontal=“true”

D、 android:layout_centerVertical=“true”

13.Android UI开发中,如何设置GridLayout列数为4()。

A、 android:columnCount=“4”

B、 android:layout_columnCount=“4”

C、 android:column=“4”

D、 android:stretchColumns=“4”

14.在Android UI开发中,常见的刮刮卡是通过()实现的。()

A、 FrameLayout

B、 LinearLayout

C、 RelativeLayout

D、 TableLayout

15.样式文件是在()目录下创建的。()

A、 colors

B、 dimens

C、 strings

D、 styles

16.在网格布局中,设置列数的属性是()

A、 column

B、 columnCount

C、 layout_columnCount

D、 stretchColumns

17.在下列选项中,设置线性布局方向的属性是()

A、 orientation

B、 gravity

C、 layout_gravity

D、 padding

18.在布局文件中,给Button指定单击事件响应方法的属性是()

A、 onClick

B、 hint

C、 enabled

D、 focusable

19.Android相对布局中,要使A控件在B控件的下方,A控件需添加的属性是()

A、 android:layout_above

B、 android:layout_alignBaseline

C、 android:layout_below

D、 android:layout_alignBottom

20.Android UI开发中,TableLayout的stretchColumns属性表示()

A、 TableLayout的列数

B、 TableLayout的行数

C、 TableLayout最多能加入的列数

D、 拉伸指定列填充满TableLayout

21.在下列选项中,关于TableRow标签的说法正确的是()

A、 在GridView里面表示一行

B、 是五种布局的一种

C、 是表格布局里面表示一行的标签

D、 在listView里面表示一行

22.在线性布局文件中,把方向设置为水平方的属性是()

A、 vertical

B、 horizontal

C、 fill_vertical

D、 fill_horizontal

23.放入绝对布局中的控件需要通过___ ___两个属性指定其准确的坐标值()

A、 android:width和android:height

B、 android:layout_width和android:layout_height

C、 android:x和android:y

D、 android:layout_x和android:layout_y

24.Android UI开发中,在GridLayout中如何设置某控件占3行()

A、 android:layout_columnSpan=“3”

B、 android:layout_rowSpan=“3”

C、 android:rowSpan=“3”

D、 android:layout_column=“3”

25.在下列选项中,表示Toast较短时间显示信息的是()。

A、 Toast.LENGTH_LONG

B、 Toast.LONG

C、 Toast.LENGTH_SHORT

D、 Toast.SHORT

判断题

  1. 在Android UI开发中,通常情况下使用主题定义一个界面或者整个软件界面的风格,使用样式定义控件的风格。(√)
  2. Android UI开发中,线性布局默认为水平显示。 (√)
  3. 在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加setTheme()方法即可。(√)
  4. Android中的网格布局使用GridLayout控件表示(√)。
  5. Toast.makeText(context,text,time)必须在调用了show()方法后才能把信息显示出来。(√)
  6. Android UI开发中,如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生冲突时,主题的优先级高于样式。(×)
  7. Android UI开发中,文本框可以在界面上显示文字,通常作为提示信息展示。(√)
  8. 当用@string/xxx方式引用一个文本资源时,Android系统会首先判断手机设置的语言和地区,然后通过这些信息去对应values目录下strings.xml文件,引用其中的内容。(√)
  9. 帧布局在界面上是一帧一帧显示的。 (√)
  10. 国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为I18N。(√)
  11. Android 代码中加入Toast.makeText(Context,Text,Time);即可显示Toast。(×)
  12. Android UI开发中,相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。(√)
  13. 样式中的标签是用来声明属性值的。 (×)
  14. TextView控件通常用于在界面上显示文字信息。(×)
  15. 理论上绝对布局可以完成任何的布局设计,且灵活性很大,所以开发中推荐使用绝对布局。(×)
  16. TableLayout可以将视图按照行、列进行排列。 (×)
  17. 相对布局中的控件都是按照相对位置摆放的。 (√)
  18. 绝对布局灵活性很大, 可以完成任何的布局设计,所以开发中推荐使用绝对布局。(×)
  19. 在线性布局文件中,如果把方向设置为水平方向,控件会摆放在同一行。(√)

填空题

  1. _ ________控件可以输入文字,且可以通过inputType属性控制输入的内容只能是数字或者字母等。EditText
  2. 当主题和样式中的属性发生冲突时,主题的优先级要____ ____样式。低于
  3. Android UI开发中,网格布局是________新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。_Android 4.0
  4. Android开发中,想让软件支持简体中文、美式英语两种环境,需要在res目录下新建两个values文件夹,分别命名为________。_values-zh-rCN、values-en-rUS
  5. Android UI开发中,线性布局主要有两种形式,一种是水平线性布局,一种是 _____垂直线性布局
  6. ___ ____是Android布局中最简单的一种,为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)_帧布局
  7. Android UI开发中,TableLayout的行数由______对象控制的__TableRow_
  8. ________是应用到整个Activity和Application的样式。_Theme _
  9. 在Android系统中,线性布局使用__________控件表示。_
  10. Android系统中,___ _____用于定义布局显示在界面上的风格样式和主题
  11. Toast.makeText(Context,Text,Time)中的“Time”表示显示时长,该属性有特定的值,Toast.LENGTH_LONG表示较长时间显示,____ _____表示较短时间显示Toast.LENGTH_SHORT
  12. 主题与样式在代码结构上是一样的,不同之处在于主题的引用要在___ _文件中引用。AndroidManifest.xml
  13. Android有自己的国际化规范和方法,布局中所有文字资源只有通过_____ _方式引用才能起到效果R.string.<string_name>
  14. 在清单文件中,标签中的andorid:theme属性,代表的是___ ____主题的样式,而标签中是改变______主题的样式Application、Activity
  15. Android系统中,___ _____用于定义控件的风格_style
  16. 在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加_________方法即可。setTheme()
  17. ______需要通过指定x、y坐标来控制每一个组件的位置,放入该布局的组件需要通过android:layout_x和android:layout_y两个属性指定其准确的坐标值,并显示在屏幕上。绝对布局
  18. Toast.makeText(context,text,time)中的text是___ ______显示文本消息
  19. 在___ _____控件中可以输入文字,并且可以通过inputType属性控制输入的内容只能是数字或者字母等。_EditText
  20. 网格布局的标签是____ _ GridLayout______
  21. 相对布局的标签是__RelativeLayout_________
  22. 帧布局的标签是 FrameLayout_______
  23. 国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为___ __ I18N__
  24. 表格布局的标签是___ ____ TableLayout__

[图片上传失败…(image-8fe84d-1608904599684)]

第三部分 Activity

单选题

1.在下列选项中,设置ProgressBar的最大进度的方法是()

A、 setMax()

B、 setProgress()

C、 setCurrentProgress ()

D、 setTotalProgress()

2.Android使用()的方式来管理Activity的实例()

A、 任务栈

B、 任务堆

C、 队列

D、 任务列

3.下面代码采用的是()启动Activity()

Intent intent = new Intent();

intent.setAction(“cn.itscast.xxx”);

startActivity(intent);

A、 显示意图

B、 显式意图

C、 隐式意图

D、 隐示意图

4.onActivityResult()方法有三个参数,其中()表示在返回数据时传入结果码()

A、 requestCode

B、 resultCode

C、 data

D、 result

5.在startActivityForResult方法表示请求码的参数是()

A、 requestCode

B、 resultCode

C、 data

D、 intent

6.Android中Intent传递类对象时,该类对象需实现()或Parcelable接口()

A、 Copyings接口

B、 Copying接口

C、 Serializables接口

D、 Serializable接口

7.多个RadioButton要实现单选,需要包裹在哪一个控件里()

A、 RatingBar

B、 RatingBars

C、 RadioGroup

D、 RadioGroups

8.在下列选项中,用来设置Activity的启动模式的属性是()

A、 android:launch

B、 android:launchMode

C、 android:launchMethod

D、 android:launchProperty

9.()启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例()

A、 singleTask

B、 singleTop

C、 singleTask和 singleTop

D、 singleInstance

10.Activity在()状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互?()

A、 启动状态

B、 运行状态

C、 暂停状态

D、 停止状态

11.启动系统相机使用的action是()

A、 android.media.action.IMAGE_CAPTURE

B、 android.media.action. IMAGES_CAPTURE

C、 android.media.action. VIDEO_CAPTURE

D、 android.media.action.VIDEOS_CAPTURE

12.下列不是onActivityResult()方法参数的是()

A、 requestCode

B、 resultCode

C、 data

D、 result

13.没有明确指定组件名的Intent称为()

A、 显示意图

B、 显式意图

C、 隐式意图

D、 隐示意图

14.( )启动模式是指,每次启动该Activity时,系统会这个Activity的实例作为一个任务压入任务栈的栈顶,每次销毁一个Activity时,系统会从任务栈中把这个Activity实例对应的任务移除。()

A、singleTask

B、singleTop

C、standard

D、singleInstance

15.当Activity的启动模式指定为(),每次启动该Activity时,系统首先会检查栈中是否存在该活动的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例(),

A、 singleTask

B、 singleTop

C、 standard

D、 singleInstance

16.Android采用()的方式来管理Activity的实例()

A、 任务栈

B、 任务堆

C、 队列

D、 任务列

17.在下列选项中,不能使用Intent传递的数据类型是()

A、 把大基本数据类型及其数组

B、 Map

C、 Parcelable

D、 Serializable

18.在下列选项中,用来设置Activity的启动模式的属性是()

A、 android:launch

B、 android:launchMode

C、 android:launchMethod

D、 android:launchProperty

19.在下列选项中,关于onActivityResult方法中的参数描述错误的是()

A、 requestCode,表示在启动Activity时传递的请求码

B、 resultCode,表示在返回数据时传入结果码

C、 data,表示携带返回数据的Intent

D、 data,表示启动Activity时传递的Intent

20.下列能打开系统相机的方法是()

A、 显示意图

B、 显式意图

C、 隐式意图

D、 隐示意图

21.Activity销毁时执行执行方法是()

A、 onStart()

B、 onResume()

C、 onPause()

D、 onDestroy()

22.下列选项中不能通过Intent传递的是()

A、“数据”

B、2

C、 对象obj

D、实现Serializable接口的对象obj

23.Activity在()状态是对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应。()

A、 启动状态

B、 运行状态

C、 暂停状态

D、 停止状态

24.在下列选项中, 可以获得Intent中String类型参数的方法是()

A、 getExtraString(string)

B、 getStringExtra(string)

C、 getStringPut(string)

D、 getPutString(string)

25.Activity通过()方法可以设置它的布局文件()

A、 setContentViews()

B、 setContentView()

C、 setLayoutView()

D、 setLayoutViews()

26.两个RadioButton要实现单选需要包裹在()中()

A、 RadioGroups

B、 RadioGroup

C、 RatingBar

D、 RatingBars

27.Activity通过()方法可以设置它的布局文件,并把视图显示在界面上。()

A、 setLayoutView()

B、 setContentView()

C、 setLayoutViews()

D、 setContentViews()

28.()是指在开启组件时,不需要直接指定目标组件的名称,而是通过指定一组动作、数据、类型等属性,让系统从清单文件中匹配指定的组件并开启它。

A、 显示意图

B、 显式意图

C、 隐式意图

D、 隐示意图

29.Activity的布局文件放在哪个目录下()

A、 res/layout

B、 res/layouts

C、 res/xml

D、 res/values

30.开启当前应用中的Activity使用()

A、 显示意图

B、 显式意图

C、 隐式意图

D、 隐示意图

31.Activity获取焦点时执行方法是()

A、 onStart()

B、 onResume()

C、 onPause()

D、 onDestroy()

判断题

  1. Activity的生命周期分为五种状态,分别是启动状态、运行状态、暂停状态、停止状态和销毁状态。( )
  2. 当Activity处于运行状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先杀死栈底部的Activity,来确保可见的Activity正常运行( )
  3. Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。( )
  4. 栈是一种“先进先出”的数据结构。( )
  5. 当Activity处于销毁状态时,将被清理出内存。( )
  6. ProgressBar通常用于访问网络展示loading对话框以及下载文件时显示的进度。它有两种表现形式,一种是水平的,另一种是环形的( )
  7. 使用Intent传递数据只需调用putExtra()方法将想要存储的数据存在Intent中即可( )
  8. 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法拿到输入的用户名( )
  9. Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。( )
  10. Activity可以不用在AndroidManifest.xml文件中注册就可以运行( )
  11. 显示意图,即启动Activity时不需要指定Activity的名称。( )
  12. 创建一个Activity必须继承自android.app.Activity或者其子类( )
  13. 关闭Activity的界面时会执行onPause、onStop、onDestroy方法。( )
  14. Activity不是Context的子类。( )
  15. Activity的启动状态很短暂,一般情况下,当Activity启动之后便会进入运行状态。( )
  16. 显式意图,即启动Activity时不需要指定Activity的名称。( )
  17. ProgressBar有两种表现形式,一种是水平的,另一种是环形的。( )
  18. standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式( )
  19. 在目标Activity中,通常使用setResult方法设置返回数据。( )
  20. standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式( )
  21. 通常一个应用程序对应一个任务栈,默认情况下每启动一个Activity都会入栈,并处于栈顶位置。( )
  22. 启动系统相机使用的action是android.media.action.VIDEO_CAPTURE。( )
  23. 启动系统相机使用的action是android.media.action.IMAGE_CAPTURE。( )
  24. 使用Intent传递数据时,可以使用putExtra()方法把参数封装到Intent中。( )
  25. Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象( )
  26. 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法得到输入的用户名。( )
  27. 当用startActivityForResult()启动activity B时,可以在onActivityResult()方法接收activity B回传的数据(√)
  28. 使用Intent不能传递Parcelable类型的对象。( )

填空题

  1. 通过__ _____方法可以获取到Intent对象getIntent
  2. Activity的启动模式有四种,分别是standard、singleTop、和singleInstance singleTask
  3. Activity的startActivityForResult()方法接收两个参数,第一个参数是Intent,第二个参数是__ ______,用于在判断数据的来源_请求码
  4. _____ ____可以用来开启Activity,同样它也可以用来在Activity之间传递数据Intent对象
  5. 一个对象从创建到销毁的过程被称为该对象的_____ ______生命周期
  6. Andorid提供了一个_____方法,来实现回传数据startActivityForResult()
  7. ____ _____通常用于访问网络展示loading对话框以及下载文件时显示的进度_ProgressBar
  8. _____ __是Android程序各个组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递Intent

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

总结

【Android 详细知识点思维脑图(技能树)】

我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

最后,赠与大家一句话,共勉!

盖了95%以上Android开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-I4D7lS0i-1711719662668)]

总结

【Android 详细知识点思维脑图(技能树)】

[外链图片转存中…(img-7QHxSt3M-1711719662668)]

我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-7AeK8je1-1711719662669)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

最后,赠与大家一句话,共勉!

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值