阳泉开放大学Android网络开发技术形成性考核复习参考答案
一、选择题
1. B
2. A
3. C
4. B
5. A
6. C
7. B
8. C
9. A
10. B
二、填空题
1. HTTP
2. GET
3. POST
4. JSON
5. AsyncTask
6. HttpURLConnection
7. Volley
8. OkHttp
9. Retrofit
10. Gson
三、简答题
1. 什么是HTTP协议?它的作用是什么?
HTTP协议是一种用于传输超文本的协议,它的作用是在客户端和服务器之间传输数据。
2. GET和POST请求有什么区别?
GET请求将请求参数附加在URL后面,以?分隔,参数之间以&分隔;POST请求将请求参数放在请求体中。
GET请求的参数长度有限制,一般不能超过1024个字符;POST请求的参数长度没有限制。
GET请求的参数会显示在URL中,不安全;POST请求的参数不会显示在URL中,相对安全。
3. 什么是JSON?它的作用是什么?
JSON是一种轻量级的数据交换格式,它的作用是在不同的系统之间传输和存储数据。
4. 什么是异步任务?为什么在Android开发中需要使用异步任务?
异步任务是指在后台执行耗时操作的任务,它可以避免在主线程中执行耗时操作导致界面卡顿。
在Android开发中,主线程负责处理用户交互和界面更新,如果在主线程中执行耗时操作,会导致界面无响应,用户体验差。
5. HttpURLConnection和OkHttp的区别是什么?
HttpURLConnection是Android原生的网络请求库,使用起来比较繁琐,需要手动处理一些细节。
OkHttp是一个开源的网络请求库,使用起来更加简洁方便,封装了很多常用的功能,如连接池、缓存等。
四、编程题
```java
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
new DownloadTask().execute("https://api.github.com/users/octocat");
}
private class DownloadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
try {
URL url = new URL(urls[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
reader.close();
inputStream.close();
return stringBuilder.toString();
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
mTextView.setText(result);
} else {
mTextView.setText("请求失败");
}
}
}
}
```
以上是阳泉开放大学Android网络开发技术形成性考核复习参考答案,希望对大家的复习有所帮助。祝大家考试顺利!
阳泉开放大学Android网络开发技术形成性考核复习参考答案
一、选择题
1. B
2. A
3. C
4. B
5. C
6. A
7. B
8. C
9. A
10. B
二、填空题
1. HTTP
2. GET
3. POST
4. JSON
5. AsyncTask
6. HttpURLConnection
7. Volley
8. OkHttp
9. Retrofit
10. Gson
三、简答题
1. 什么是网络请求?网络请求是指客户端向服务器发送请求,获取服务器返回的数据的过程。
2. 请简述GET和POST请求的区别。GET请求将请求参数放在URL中,POST请求将请求参数放在请求体中。GET请求的参数有长度限制,POST请求的参数没有长度限制。GET请求的参数会暴露在URL中,POST请求的参数不会暴露在URL中。
3. 请简述JSON的作用。JSON是一种轻量级的数据交换格式,常用于前后端数据的传输和存储。它具有易读性、易解析性和易扩展性的特点。
4. 请简述AsyncTask的作用。AsyncTask是Android提供的一个用于在后台线程执行任务并在主线程更新UI的工具类。它封装了线程的创建和管理,简化了异步任务的编写。
5. 请简述HttpURLConnection的作用。HttpURLConnection是Android提供的一个用于发送HTTP请求的类。它可以发送GET和POST请求,并可以设置请求头、请求参数和请求方法。
四、编程题
```java
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
new NetworkTask().execute();
}
private class NetworkTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL("http://www.example.com/api/data");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
inputStream.close();
return response.toString();
} else {
return "Error: " + responseCode;
}
} catch (IOException e) {
e.printStackTrace();
return "Error: " + e.getMessage();
}
}
@Override
protected void onPostExecute(String result) {
mTextView.setText(result);
}
}
}
```
以上是一个简单的网络请求示例,通过AsyncTask在后台线程发送GET请求,并在主线程更新UI。在doInBackground方法中,我们使用HttpURLConnection发送GET请求,并获取服务器返回的数据。在onPostExecute方法中,我们将获取到的数据设置到TextView中显示。
这是一个基本的网络请求的实现,你可以根据实际需求进行修改和扩展。
报名联系方式
1、报名热线:13662661040(微信),0755-21017149,QQ:2864330758 郭老师
2、报名地址:深圳市龙华新区工业西路68号中顺商务大厦B704
華僑大學珠海開放大學函授站 2023年度面向港澳臺成人函授專升本招生簡章

微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。