国家开放大学《Android网络开发技术》形考任务1-6参考答案

举报
资源描述
国家开放大学《Android网络开发技术》形考任务1-6参考答案 题目随机,下载后利用查找功能完成学习任务 形考任务1 【简答题】完成以下JSON的解析,完成主体代码即可,解析方法及库不限。 答: public class JSONObjectActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_jsonobject); new Thread(new Runnable() { @Override public void run() { // 模拟进行网络请求 String jsonResult = FileUtils.readXML(); parseJson(jsonResult); }).start(); private void parseJson(String jsonData) { Person person = new Person(); try { JSONObject jsonObject = new JSONObject(jsonData); // 解析persons数组 JSONArray phones = jsonObject.getJSONArray("phones"); person.phones = new ArrayList<>(); for (int i = 0; i < phones.length(); i++) { person.phones.add((String) phones.get(i)); // 解析普通属性 person.name = jsonObject.getString("name"); person.age = jsonObject.getInt("age"); // 解析address JSONObject addressJson = jsonObject.getJSONObject("address"); Address address = new Address(); address.country = addressJson.getString("country"); address.province = addressJson.getString("province"); person.address = address; System.out.println(person.toString()); } catch (JSONException e) { e.printStackTrace(); } class Person { Listphones; String name; int age; Address address; @Override public Stsring toString() { return "Person{"+ "phones ="+ phones + ", name=''' + name + '\" + ", age="+ age + ", address="+ address + '}'; class Address { String country; String province; @Override public String toString() { return "Address{"+ "country='''+ country + '\" + 形考任务2 【简答题】在AndroidManifest.xml中注册广播接收器BootBroadcastReceiver。 答: BroadcastReceiver广播接收器 用于监听/接受Android应用分发的各类广播并做出相应的响应 应用场景: 监听系统事件:如开机广播,网络链接与断开,屏幕转向灯 不同组件间(Activity/Service,包括不同APP间)的通信 多线程通信 先自定义一个广播接收器,创建MyBroadcastReceiver类来继承广播接收器类,并实现它内部的方法 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { 广播接收器的注册方法分为静态注册和动态注册两种方式 静态注册 在AndroidManifest.xml文件的标签内声明 完成注册后就可以在MyBroadcastReceiver类中接受广播实现相关功能 public class MyBroadcastReceiver extends BroadcastReceiver { private static final String TAG = "MyBroadcastReceiver"; @Override public void onReceive(Context context, Intent intent) { // 接受广播 if (intent != null) { // 接收到的什么广播(广播的名称) String action = intent.getAction(); Log.d(TAG, "onReceive: " + action); 这里已经可以通过意图对象来接受广播信息并进行处理了 动态注册 动态注册在onCreate()方法里进行注册 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 新建一个广播接收器 broadcastReceiver = new MyBroadcastReceiver(); // 要接收哪些广播 IntentFilter intentFilter = new IntentFilter(); /// 电量低广播 形考任务3 1.SharedPreference存储数据,最后提交数据时,推荐使用()。 A.commit() B.apply() C.put() D.push() 2.使用SQLite读取数据内容时,用到的核心类是()。 A.ContentValues B.Cursor C.SQLiteOpenHelper D.SQLite 3.自定义Service时,必须实现的方法是()。 A.onCreate() B.onStartCommand() C.onBind() D.onDestroy() 4.使用MediaPlayer开始播放音视频的方法是()。 A.prepare() B.start() C.release() D.setDataSource() 5.自定义View时必须实现的方法是()。 A.onMeasure() B.onDraw() C.onLayout() D.equals() 6.AndroidAsyncTask异步任务中,哪个方法是运行在主线程中() A.doInBackground() B.onPreExecute() C.onPostExecute() D.onPregressUpdate() 7.Android中开启事务的方法正确的是()。 A.db.startTransaction() B.db.beginTransaction() C.db.endTransaction() D.intent.startTransaction() 8.HTTP是万维网实现数据通信的基石。它基于()来传递数据。 A.TCP/IP B.File协议 C.FTP D.mailto协议 9.HTTP是()。 A.不保存状态的协议 B.保存状态的协议 C.状态不确定的协议 D.以上都不对 10.URL的一般格式为() A.<协议>://<端口>:<主机>/<路径> B.<协议>://<路径>:<主机>/<端口> C.<协议>://<主机>:<端口>/<路径> D.<端口>://<路径>:<主机>/<协议> 11.URL(uniformresourcelocator,统一资源定位符)是互联网标准资源的地址。通过一个URL,能找到()资源。 A.一个 B.两个 C.三个 D.四个 12.下列说法错误的是() A.获取HttpClient实例可以直接newHttpClient()。 B.获取到HttpClient实例client后,想执行get请求,client.execute(httpGet),然后封装HttpGet。 C.使用HttpClient方式进行post请求需要封装HttpPost实例。 D.UrlEncodedFormEntity是将提交给服务器参数进行编码的类。 13.以下是Android中用于xml解析方式的是() A.SAX B.DOM C.XmlPullParser D.Juint 14.做网络图片查看器的时候,需要把获取的流信息转换为() A.String B.int C.Bitmap D.Text 15.关于Android中消息机制说法正确的是() A.Handler只能用来发送消息。 B.Handler是用来发送消息和处理消息的。 C.MessageQueue是用来收集消息并主动发送消息。 D.Looper是主消息的循环器.Looper是由handler创建的。 16.利用内容解析者查询短信数据时uri怎么写() A.Uriuri=Uri.parse(“content://sms”) B.Uriuri=Uri.parse(“content://sms/data”) C.Uriuri=Uri.parse(“content://sms/contact”) D.Uriuri=Uri.parse(“sms/”) 17.可以在Activity中得到ContentResolver实例对象的方法是() A.newContentResolver() B.getContentResolver() C.newInstance() D.ContentUris.newInstance() 18.可以在Activity中得到ContentResolver实例对象的方法是() A.newContentResolver() B.getContentResolver() C.newInstance() D.ContentUris.newInstance() 19.在
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 高等教育 > 习题/试题


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号