2022Android程序设计期末知识点整理

按章节整了点知识点出来,因为是按章节整的所以可能会很多,建议和例题对着看,把这个当作字典

草好像写不完了,先把网络编程前面的发出来好了

Android基础入门

这一章的知识比较散一点,相对也比较不重要+一点

通信技术

大概了解一下1-5G通信技术的区别

  • 1G:模拟信号,只能通话
  • 2G:核心数字语音传输技术,增加了接受数据的功能,支持一些小程序
  • 3G:能够处理图像,音乐,视频流等多种媒体形式,速度有很大的提升
  • 4G:包含TD-LTE和FDD-LTE两种制式
  • 5G:特点:高速率,低时延,大连续
Android的体系结构

了解并掌握Android的4个分层是哪些,大概是干什么用的

Android采用分层结构,由高到低分为4层:

  • 应用程序层:

    手机中的应用程序

  • 应用程序框架层:

    构建应用程序用到的API

  • 核心类库:

    系统库和Android运行时库,为Android和Android程序提供支持,其中Android运行时库包含Dalvik虚拟机,其功能类似JVM,在下面会详细介绍

  • Linux内核层:

    为Android硬件提供底层的驱动

Dalvik虚拟机

稍微了解一下Dalvik虚拟机的架构,以及Android的编译过程

Android的开发语言主要是Java,众所周知Java有一个虚拟机JVM负责程序的翻译和运行,Android也有一个改良版的JVM,这就是Dalvik虚拟机

Dalvik虚拟机基于寄存器架构

Dalvik虚拟机编译文件的过程:

Java源文件经过JDK编译器编译为class文件后,Dalvik虚拟机中的Dx工具会将部分class文件转换成dex文件,dex文件还会在Dalvik虚拟机中进一步优化成odex文件。

简化一下流程就是 java→class→dex→odex

(可以发现其实就是为了在手机上能提高性能而一步一步优化)

Android开发环境的搭建

软件工程来咯,这真的有必要整理知识点吗

按步骤来:

  • 上官网下载Android Studio(简称AS)
  • 安装AS,完成SDK等基本环境的配置
  • 从AS中下载AVD(Android虚拟机)或随便上网找一个安卓模拟器下载并配置
  • 我滴任务完成辣
Android的资源和基本配置

资源是有很多的,那一堆东西放在这里讲浪费篇幅也影响复习的心情,浅讲点常用的

  • 从AndroidManifest文件开始扯点

    Manifest顾名思义是整个Android程序对外表现的配置文件,在这个文件里可以配置Android程序的权限(比如网络权限),主题,注册Activity(没有在Manifest里注册的Activity是不会显示的)等组件

  • 主题和样式资源

    老版AS放在res文件夹下的values文件夹内,新版AS放在values文件夹下的themes文件夹内

  • 图片资源

    放在drawable文件夹或mipmap文件夹里,在程序中调用要使用这种格式:@drawable/文件名@mipmap/文件名

  • 字符串资源

    放在string.xml资源文件中,调用格式为@string/字符串标识名

  • 布局资源

    放在res目录下的layout文件夹中,通常和Activity的Java文件联合使用,用于构建前端GUI界面

  • 颜色资源

    放在res目录下的values文件夹中的colors.xml文件里,调用格式为@color/颜色标识名

  • 尺寸资源

    较少用到,通常对尺寸的使用都是显式声明,一般用于宏定义一个经常用到的尺寸大小,调用格式为@dimen/尺寸名

程序调试

大概了解一下程序调试的工具

在Android中程序调试常用的工具是LogCat,它是Android中的命令行工具,用于输出程序运行的日志

例题
  • 如果希望在XML布局文件中调用颜色资源,可以使用()调用

    答案:@color

  • 第三代移动通讯技术(3G)包括TD-LTE和FDD-LTE两种制式。(Y/N)

    答案:错

  • Android系统采用分层架构,分别是应用程序层、应用程序框架层、核心类库和Linux内核。(Y/N)

    答案:对

  • Android中短信、联系人管理、浏览器等属于Android系统架构中的哪一层?()

    A. 应用程序层 B. 应用程序框架层

    C. 核心类库层 D. Linux内核层

    答案:A

  • Android应用程序的主要语言是Java。(Y/N)

    答案:对

  • Dalvik虚拟机是基于( )的架构。

    A. 栈 B. 堆 C. 寄存器 D. 存储器

    答案:C

  • 简述Android源代码的编译过程。

    答案:Java源文件经过JDK编译器编译为class文件后,Dalvik虚拟机中的Dx工具会将部分class文件转换成dex文件,dex文件还会在Dalvik虚拟机中进一步优化成odex文件。

  • 简述如何搭建Android开发环境。

    答案:有理即可,可参考上文,鉴定为纯纯的送分

  • Android程序入口的Activity是在()文件中注册的

    答案:AndroidManifest.xml

  • 下列关于AndroidManifest.xml文件的说法中,错误的是( )

    A. 它是整个程序的配置文件

    B. 可以在该文件中配置程序所需的权限

    C. 可以在该文件中注册程序用到的组件

    D. 该文件可以设置UI布局

    答案:D,UI布局是在布局文件里设置的,其他选项详见Android的资源和基本配置这一节

  • Android项目中的主题和样式资源,通常放在哪个目录下?( )

    A. res/drawable B. res/layout C. res/values D. assets

    答案:C,A是存放图片资源的目录,B是存放布局资源的目录,D是保存外部文件的目录

  • Android中查看应用程序日志的工具是()

    答案:LogCat

Android常见界面布局

在程序开发中最经常用到的知识点,考的概率也会高点

布局的特殊属性不用刻意去记,看见的时候能认识就行

ViewGroup容器

Android底层是Java,所以也拥有Java的面向对象特性

ViewGroup是盛装界面控件的一个容器

ViewGroup是一个祖先类,所有Android的布局都直接或间接继承自ViewGroup类

线性布局LinearLayout

线性布局是一种让布局内的控件水平或垂直排列的布局,放在线性布局中的控件会按布局的方向按添加顺序排列

常用的特殊属性:

  • android:orientation:指定线性布局的排列方向是水平还是垂直

  • android:layout_weight:指定控件在线性布局中的权重(比重)

相对布局RelativeLayout

相对布局通过相对定位的方式来指定布局内控件的位置,如果不指定的话,默认会将控件安排在界面布局的左上角

表格布局TableLayout

继承自线性布局LinearLayout,所以它完全支持线性布局的所有属性

表格布局顾名思义就是类似表格的布局,其实就是在竖着的线性布局的基础上添加了横着的线性布局

表格布局通过TableRow来指定表格中的行,表格布局中有几个TableRow就有几行

常用的特殊属性

  • android:stretchColumns:设置可拉伸的列
  • android:shrinkColumns:设置可收缩的列
帧布局FrameLayout

帧布局顾名思义,是一帧一帧将布局内的控件叠起来,后添加的控件会覆盖在前添加的布局上面,想象一下将纸叠在一起的样子可以方便理解

类似相对布局,如果不指定位置,添加的控件默认会在布局的左上角

常用的特殊属性:

  • android:foreground:设置前景图像,它会始终覆盖在所有子控件上
  • android:foregroundGravity:设置前景图像显示的位置

讲道理我感觉帧布局继承自相对布局

例题
  • ViewGroup是盛装界面控件的容器。(Y/N)

    答案:对

  • Android的常见布局都直接或者间接的继承自()类。

    答案:ViewGroup

  • 下列属性中,用于设置线性布局方向的是( )。

    A.orientation B.gravity C.layout_gravity D.padding

    答案:A

  • LinearLayout布局中的android:layout_weight属性用于设置布局内控件所占的权重。(Y/N)

    答案:对

  • ()布局通过相对定位的方式指定子控件的位置。

    答案:相对布局 或 RelativeLayout

  • Android中的TableLayout继承自()。

    答案:线性布局 或 LinearLayout

  • 表格布局TableLayout可以通过()控制表格的行数。

    答案:TableRow

  • TableLayout继承自LinearLayout,因此它完全支持LinearLayout所支持的属性。(Y/N)

    答案:对

  • 如果在帧布局FrameLayout中放入三个所有属性都相同的按钮,那么能够在屏幕上显示的是第1个被添加的按钮。(Y/N)

    答案:错,应该显示的是最后被添加的按钮

  • 帧布局FrameLayout是将其中的组件放在自己的哪个位置?()

    A.左上角 B.右上角 C.左下角 D.右下角

    答案:A

  • 下列选项中,不属于Android布局的是( )。

    A.FrameLayout B.LinearLayout C.Button D.RelativeLayout

    答案:C ,C是按钮控件,A是帧布局,B是线性布局,D是相对布局

  • 列举Android中的常用布局,并简述他们各自的特点。

    答案:Android中有四种常用布局,分别为RelativeLayout(相对布局)、LinearLayout(线性布局)、FrameLayout(帧布局)、TableLayout(表格布局),他们的特点具体如下:

    • RelativeLayout(相对布局):该布局是通过相对位置的方式指定该布局内子控件的位置。

    • LinearLayout(线性布局):该布局可通过android:orientation属性指定该布局内的子控件水平和竖直排列。

    • TableLayout(表格布局):采用行、列的形式来管理控件。他通常搭配TableRow布局使用,一个TableRow代表一行,在TableRow中添加的控件代表一列。

    • FrameLayout(帧布局):该布局会在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。默认情况下,帧布局中的所有控件会与左上角对齐。

Android常见界面控件

界面控件在程序开发中是界面布局外最常用的,建议重点复习

二次编辑:控件太多了,挑点重要的讲好了,开摆

控件概述

控件在Android中有两种创建方法,通过XML属性或Java方法

XML其实是一个进行数据传输的文件,每一个XML属性实际上都对应一个Java方法

在Java中获取XML布局中的控件的方式:调用findViewById()方法

TextView控件

TextView控件是大部分控件的父类,大部分控件都继承自TextView

TextView控件用于显示文本信息,常用属性有以下几种:

如果有控件继承自TextView,则它也具有以下属性

  • android:text:设置控件的文本
  • android:textSize:设置控件中文本的大小,单位为sp
  • android:maxLength:设置文本的最大长度,超出该长度的文本不显示
  • android:lines:设置文本的行数,超出行数的文本不显示
  • android:maxLines:设置文本的最大行数,超出行数的文本不显示
  • android:background:设置背景,可以是颜色或图片
Button控件

Button控件用于构建一个按钮控件,除了有按键监听以外Button和TextView其实没啥差别

Button继承自TextView,所以可以使用TextView的所有属性

Button控件的点击监听设置有以下三种方法:

  1. 通过在XML布局文件中指定onClick属性设置点击监听:

    • 在Button控件中指明属性οnclick=“方法名”

    • 在Activity的Java文件中定义并实现点击动作的方法

  2. 通过在Activity的Java文件内使用匿名内部类设置点击监听:

    • 在Java中获取按钮控件
    • 在setOnClickListener方法中声明onClickListener匿名内部类
  3. 通过实现OnClickListener接口的类设置点击监听

    • 其实就是上一个方法,只不过不使用匿名内部类而是使用一个类对象
    • 在setOnClickListener方法中传入实现OnClickListener接口的类对象即可
EditText控件

EditText继承自TextView,所以可以使用TextView的所有属性

EditText控件用于创建一个可输入的文本框,常用的属性有以下几种:

  • android:hint:当未输入内容时显示的提示文本信息(比如登录界面账号没输的话框里有个输入账号这样的)
ImageView控件

顾名思义是一个图片控件,用于展示图片,它也继承自TextView,所以可以使用TextView的所有属性

常用属性:

  • android:src:设置控件的图片(其实background也可以设置图片,要是题目有出到这俩保险点选src)
ListView控件

ListView主要用于构建列表控件,列表控件是一种特殊的控件,不仅需要在布局文件中声明控件,还需要一个适配器(Adapter)来加载列表中每一项的数据

Toast类

Toast是一个Android提供的短消息弹窗,用于实现类似连接WiFi时会跳出的WiFi连接成功这样的小提示窗口

AlertDialog控件

别翻书了,书上没有,傻逼书是这样的,以后看到黑马的书绕着走朋友们

AlertDialog控件用于创建一个对话框,就是那种让你点确定取消之类的这种东西

不同于其他控件,AlertDialog不在XML布局文件中指定,而是通过在Java中用AlertDialog.Builder构造器创建并使用的

创建和使用的样子大概是这样的:

AlertDialog alertDialog1 = new AlertDialog.Builder(this)
                    .setTitle("提示")//标题
                    .setMessage("用户信息未完善,请完善用户信息")//内容
                    .setIcon(R.drawable.warning)//图标
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {//添加确定按钮
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            //按下确定按钮后执行的操作
                            Log.i("DEBUG", "确定按钮被按下");

                            //设置数据包
                            Bundle bundle = new Bundle();
                            bundle.putString("username", username);
                            fragMent_list.get("CompleteInformation").setArguments(bundle);
                            Log.i("DEBUG", "在Activity中设置数据包");

                            //跳转到更新用户信息的Fragment
                            FragmentOperate.switchFragment(UserActivity.this, fragMent_list, "CompleteInformation");
                        }
                    })
                    .create();
            //展示弹窗
            alertDialog1.show();

可以看到AlertDialog的使用其实很简单,有几个在创建时用几个主要的成员方法来设置一下属性即可:

  • setTitle(String s):设置标题,标题通过参数设置

  • setMessage(String s):设置正文文本,文本通过参数设置

  • setIcon(int id):设置提示框的图标,图标通过R类中的id引入

  • setPositiveButton(按钮文本, 点击监听器(可选)):设置确定按钮

  • setNegativeButton(按钮文本,点击监听器(可选)):设置取消按钮

  • create():创建提示框,注意只是创建然后备用,没有展示

  • show():在界面中弹出并展示提示框

  • dismiss():关闭该对话框

AlertDialog的声明和使用格式大概是这样的:

//定义并创建对话框
AlertDialog 对话框对象名 = new AlertDialog.Builder(Activity对象)
    .setTitle("标题")
    .setMessage("文本")
    .setIcon(R.id.图标id)
    .setPositiveButton("确定按钮", 监听器的实现略)
    .setNegativeButton("取消按钮", 监听器的实现略)
    .create();


//展示对话框
对话框对象名.show();
例题
  • Android的控件样式,每一个XML属性都对应一个Java方法。(Y/N)

    答案:对

  • 下列选项中,哪个用于设置TextView中文字显示的大小?( )

    A.android:textSize=”18”

    B.android:size=”18”

    C.android:textSize=’18sp’

    D.android:size=”18sp”

    答案:C

  • 在XML布局中定义了一个Button,决定Button按钮上显示文字的属性是()

    A.android:value B.android:text

    C.android:id D.android:textvalue

    答案:B

  • 简述实现Button按钮的点击事件的方式有哪几种?

    答案:实现Button按钮的点击事件一共有3种方式,具体如下:

    1、 在布局文件中指定onClick属性的方式设置点击事件。

    2、使用匿名内部类的方式设置点击事件。

    3、通过为Activity实现OnClickListener接口的方式设置点击事件。

  • 使用EditText控件时,当文本内容为空时,如果想做一些提示,那么可以使用的属性是( )

    A.android:text B.android:background

    C.android:inputType D.android:hint

    答案:D

  • 当使用EditText控件时,能够使文本框设置为多行显示的属性是( )

    A.android:lines B.android:layout_height

    C.android:textcolor D.android:textsize

    答案:A,因为EditText继承自TextView,所以也具有TextView的lines属性

  • 为了让一个ImageView显示一张图片,可以通过设置的属性是( )

    A.android:src B.android:background

    C.android:img D.android:value

    答案:单选选A,多选选AB

  • ListView列表中的数据是通过Adapter加载的。(Y/N)

    答案:对

  • Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时消息。(Y/N)

    答案:对

  • 下列关于AlertDialog的描述,错误的是()

    A.使用new关键字创建AlertDialog的实例

    B.对话框的显示需要调用show方法

    C.setPositiveButton方法是用来设置确定按钮的

    D.setNegativeButton方法是用来设置取消按钮的

    答案:A,题目的意思应该是AlertDialog是通过AlertDialog.Builder构造器间接创建的,而不是直接new一个AlertDialog对象,但是很多时候都是直接用一个new的匿名构造器来创建的,这个选项又不说清楚,出题不严谨我给出题人两巴掌

  • AlertDialog对话框能够直接通过new关键字创建对象。(Y/N)

    答案:错,原因见上一题,我去给出题人两巴掌

  • 简述AlertDialog对话框的创建过程。

    答案:创建过程如下:

    • 调用AlertDialog的静态内部类Builder创建AlertDialog.Builder构造器。
    • 调用构造器的setTitle()方法设置标题
    • 调用构造器的setMessage()方法设置内容文本
    • 调用构造器的setPositiveButton()方法设置确定按钮
    • 调用构造器的setNegativeButton()方法设置取消按钮
    • 上面这段排比可以简化为:调用构造器的成员方法设置xxx;xxx;xxx
      (不会真有人去记完整的方法名吧,是没有tab键吗)
    • 调用构造器的create()方法来创建AlertDialog对象
    • 调用AlertDialog对象的show()方法来显示对话框
    • 调用AlertDialog对象的dismiss()方法来取消对话框

程序活动单元Activity

重点+1,作为四大组件之一,这一块知识点也杂,难整的要死

Android四大组件

Android四大组件分别是Activity、Service、ContentProvider和BroadcastReceiver

Activity的生命周期
  1. 启动状态

    可以理解成开机状态,启动后就会进入运行状态

  2. 运行状态

    正在运行时的状态

  3. 暂停状态

    如果Activity可见,但不是焦点时就处于这个状态

  4. 停止状态

    如果Activity不可见时,比如处于后台时,就处于停止状态

    此时如果内存不足这个Activity会被销毁

  5. 销毁状态

    被清理出内存。

    人被杀就会死,Activity被销毁就没了

Activity的生命周期方法
  • onCreate():编程最常用的方法,在Activity创建时调用,一般用于初始化
  • onStart():Activity即将可见时调用,微操优化人才会考虑用的方法
  • onResume():Activity获取焦点时调用的方法
  • onPause():Activity失去焦点,处于暂停状态时调用
  • onStop():Activity不可见,处于停止状态时调用
  • onDestroy():Activity销毁时调用,可以理解成析构函数
  • onRestart():Activity从停止状态到再次可见(启动)时调用

多写一个,在Activity中调用finish()成员方法可以直接关闭Activity

Intent意图

意图是不同Activity进行交互的一个工具,它可以在Activity中传递数据,也可以指定Activity要执行的动作

意图分为显式意图和隐式意图

  • 显式意图:

    直接指定目标Activity,是较为常用的简单切换方式

    Intent 意图对象名 = new Intent(Activity, 要跳转的Activity.class);
    

    在原Activity中调用startActivity(意图对象)方法来启动新的Activity

    如果要获取这个Activity返回的数据,还需要重写这个Activity的startActivityForResult()方法

  • 隐式意图:

    隐式意图不会明确指出需要激活的Activity,它会使用一个组件过滤器IntentFilter,在<inter-filter>标签中来匹配相应的组件

    匹配的属性主要包括以下三个:

    • action属性:

      表示意图对象要完成的操作

      <inter-filter>标签中可以包含多个action属性,但不能没有

    • data属性:表示意图对象要传递的数据

    • category属性:表示为action属性添加的额外信息

Activity的启动模式

Activity在底层以任务栈的形式来管理和维护

  • standard模式:

    每启动一个Activity就会在任务栈里创建一个新的实例,这是Activity默认的创建模式

  • singleTop模式:

    被启动的Activity如果在任务栈栈顶,则复用这个Activity

  • singleTask模式:

    当被启动的Activity在任务栈里时,会直接复用这个Activity实例,并弹出任务栈里它上面所有的Activity实例

  • singleInstance模式:

    启动一个新的任务栈来管理这个Activity

例题
  • 下列选项中,不属于Android四大组件的是( )。

    A.Service B.Activity C.Handler D.ContentProvider

    答案:C

  • 简述Activity的生命周期的方法及什么时候被调用。

    答案:Activity一共有7个方法,这些方法和调用的时机具体如下:

    1、onCreate():Activity创建时调用,通常做一些初始化设置。

    2、onStart():Activity即将可见时调用。

    3、onResume():Activity获取焦点时调用。

    4、onPause():当前Activity被其他Activity覆盖或屏幕锁屏时调用。

    5、onStop():Activity对用户不可见时调用。

    6、onDestroy():Activity销毁时调用。

    7、onRestart():Activity从停止状态到再次启动时调用。

  • 下列选项中,哪个不是Activity生命周期方法( )。

    A.onCreate() B.startActivity() C.onStart() D.onResume()

    答案:B,B是意图用的一个开启Activity的方法

  • 如果想要关闭当前的Activity,可以调用Activity提供的finish()方法。(Y/N)

    答案:对

  • 启动一个新的Activity并且获取这个Activity的返回数据,需要重写()方法。

    答案:startActivityForResult()

  • 下列方法中,哪个是启动Activity的方法( )。

    A.startActivity() B.goToActivity() C.startActivityResult() D.以上都是

    答案:A

  • 下列关于Intent的描述中,正确的是( )。

    ​ A.Intent不能够实现应用程序间的数据共享

    ​ B.Intent可以实现界面的切换,还可以在不同组件间直接进行数据传递

    ​ C.使用显式Intent可以不指定要跳转的目标组件

    D.隐式Intent不会明确指出需要激活的目标组件,所以无法实现组件之间的数据跳转

    答案:B
    A显然是错的,意图就是用来干这个的

    C显式意图必须要指明传递的目标

    D隐式通过data属性来传递数据

  • <intent-filter>标签中间只能包含一个action属性。(Y/N)

    答案:错,可以包含多个

  • 下列关于Android中Activity管理方式的描述中,正确的是( )。

    A.Android以堆的形式管理Activity

    B.Android以栈的形式管理Activity

    C.Android以树的形式管理Activity

    D.Android以链表的形式管理Activity

    答案:B,以任务栈的方式管理

  • 默认情况下,Activity的启动方式是standard。(Y/N)

    答案:对

  • 简述Activity的四种启动模式及其特点。

    答案:Activity的四种启动模式分别为standard、singleTop、singleTask和singleInstance,这些模式的特点具体如下:

    1、 standard:每启动一个Activity就会在栈顶创建一个新的实例。

    2、 singleTop:当被启动的Activity位于栈顶时,复用该Activity实例。

    3、 singleTask:当被启动的Activity在栈中存在实例时,会直接复用此Activity实例,并把当前Activity上面的所有实例弹出栈。

    4、 singleInstance:会启动一个新的任务栈来管理该Activity。

  • Activity的启动模式包括standard、singleTop、singleTask和()

    答案:singleInstance

网络编程

这个学期的大重点,建议重点复习

注意:Android想要访问网络资源首先需要在Manifest文件中开启网络访问权限

HttpURLConnection类

Android通过HttpURLConnection类实现基于URL的请求和响应功能

HttpURLConnection类继承自URLConnection类,用于发送HTTP请求和获取HTTP响应

HttpURLConnection的使用

注意:HttpURLConnection不能直接实例化,使用时需要通过URL类对象的openConnection()方法来初始化

在使用HttpURLConnection时会用到下面两种请求方式:

  • GET:

    GET向服务器提交的参数跟在URL后面,使用GET方式提交的请求数据一般小于1024字节

    GET其实是很常见的网络请求方式,在网页地址后看到一个?的话一般后面跟的就是GET请求

  • POST:

    POST向服务器提交的请求数据一般为键值对形式,此时用户无法通过网页URL来看到发送的请求数据,相对来说更安全一些(然而抓包一下还是能抓到)

使用HttpURLConnection的代码格式(访问网络的步骤)如下:

URL url = new URL("网址"); //实例化URL对象

HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //通过URL对象的openConnection()方法来初始化HttpURLConnection对象

conn.setRequestMethod("GET或POST"); //设置请求方式

conn.setConnectTimeout(整型数值); //设置连接的超时时间,以免无法连接的时候还死锁等待

InputStream is = conn.getInputStream(); //获取服务器返回的输入流

conn.disconnect(); //关闭连接
WebView控件

Android默认内置了WebKit引擎,如果想使用该引擎访问网页,则需要使用WebView控件

通过JSONArray解析JSON数据

详细的解析在下面的链接里

Android JSON数据解析_icejuhua的博客-CSDN博客

感谢icejuhua老板帮我分担了一部分工作(乐

例题
  • Android中要访问网络,必须在AndroidManifest.xml中注册网络访问权限。(Y/N)

答案:对

  • HttpURLConnection继承自()类。

    答案:URLConnection类

  • HttpURLConnection用于发送HTTP请求和获取HTTP响应(Y/N)

    答案:对

  • HttpURLConnection是抽象类,不能直接实例化对象,需要使用URL的openConnection()方法获得。(Y/N)

    答案:对

  • 使用HttpURLConnection进行HTTP网络通信时,GET方式发送的请求只能发送大小在1024个字节内的数据。(Y/N)

    答案:对

  • 简述使用HttpURLConnection 访问网络的步骤。

    答案:分为以下几步:

    • 根据网址创建URL对象
    • 通过URL对象的openConnection()方法对HttpURLConnection对象进行实例化
    • 对HttpURLConnection对象进行基本设置,设置请求方式和超时时间等
    • 利用getInputStream()方法获取服务器返回的输入流实例
    • 操作完成后关闭连接
  • Android系统默认提供的内置浏览器使用的是()引擎。

    答案:WebKit

  • Android中的WebView控件是专门用于浏览网页的,其使用方法与其他控件一样。(Y/N)

    答案:对

  • Android内置的浏览器使用的是WebView引擎。(Y/N)

    答案:错,是WebKit引擎,WebView是控件

  • Android针对HTTP实现网络通信的方式主要包括( )。(多选)

A.使用HttpURLConnection实现

B.使用ServiceConnection实现

C.使用HttpClient实现

D.使用HttpConnection实现

答案:ABCD,书上没写,6

  • Android中的HttpURLConnection中的输入/输出流操作被统一封装成了( )。

    (多选)

    A.HttpGet B.HttpPost C.HttpRequest D.HttpResponse

    答案:ABD,讲道理这题有点歧义,没找到具体的解析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值