按章节整了点知识点出来,因为是按章节整的所以可能会很多,建议和例题对着看,把这个当作字典
草好像写不完了,先把网络编程前面的发出来好了
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
:设置控件中文本的大小,单位为spandroid:maxLength
:设置文本的最大长度,超出该长度的文本不显示android:lines
:设置文本的行数,超出行数的文本不显示android:maxLines
:设置文本的最大行数,超出行数的文本不显示android:background
:设置背景,可以是颜色或图片
Button控件
Button控件用于构建一个按钮控件,除了有按键监听以外Button和TextView其实没啥差别
Button继承自TextView,所以可以使用TextView的所有属性
Button控件的点击监听设置有以下三种方法:
-
通过在XML布局文件中指定onClick属性设置点击监听:
-
在Button控件中指明属性οnclick=“方法名”
-
在Activity的Java文件中定义并实现点击动作的方法
-
-
通过在Activity的Java文件内使用匿名内部类设置点击监听:
- 在Java中获取按钮控件
- 在setOnClickListener方法中声明onClickListener匿名内部类
-
通过实现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的生命周期
-
启动状态
可以理解成开机状态,启动后就会进入运行状态
-
运行状态
正在运行时的状态
-
暂停状态
如果Activity可见,但不是焦点时就处于这个状态
-
停止状态
如果Activity不可见时,比如处于后台时,就处于停止状态
此时如果内存不足这个Activity会被销毁
-
销毁状态
被清理出内存。
人被杀就会死,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,讲道理这题有点歧义,没找到具体的解析