《Android程序设计》期末试题B(答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、判断题(每小题2分,共10分)1、(错)2、(错)3、(对)4、(错)5、(对)二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分)题号12345678910答案DCBADDDCBB三、填空题(每空2分,共10分)1、TableLayout、RelativeLayout2、START_STICKY、START_REDELIVER_INTENT3、ContentResolver四、名词解释(每小题5分,共15分)1、答:IntentFilter其实是一个Intent属性限制条件的集合,包含Intent对象的action、data、category等属性限制。每个IntentFilter描述组件的一种能力,即能够接收的一组Intent。2、答:Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功能。3、答:如果应用程序注册了BroadcastReceiver,则可以接收到指定的广播消息并作相应的处理。所以BroadcastReceiver可以看成是全局的监听器,用于监听系统广播消息或自定义广播消息。五、简答题(每小题5分,共20分)1、答:获取子Activity的返回值,一般可以分为以下三个步骤:(1)使用startActivityForResult()去启动子Activity。(2)设置子Activity的返回值。在子Activity调用finish()函数关闭前,调用setResult()方法将所需的数据返回给父Activity。(3)在父Activity中获取返回值。当子Activity关闭时,启动它的父Activity的onActivityResult()方法将被调用;如果需要在父Activity中处理子Activity的返回值,则重载此方法即可。2、答:Android系统中运行Service有如下两种方式:(1)启动方式通过Context的startService()方法启动Service,访问者与Service之间没有关联,即使访问者退出了,Service仍然运行。访问调用stopService()停用Service。(2)绑定方式通过Context的bindService()方法绑定Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。访问者调用unbindService()来解绑定Service。3、答:要实现自己的BroadcastReceiver,就需要继承android.content.BroadcastReceiver类并重写onReceive()方法。BroadcastReceiver作为应用级组件,必须注册才能处理广播消息。注册有两种方式:(1)静态地在AndroidManifest.xml中用receiver标签声明,并在标签内用intent-filter标签设置过滤器。(2)动态的在代码中先定义并设置好一个IntentFilter对象,然后在需要注册的地方调Context.registerReceiver(BroadcastReceiver,IntentFilter)方法。4、开放性问题,没有标准答案。六、编程题(第1小题10分,第2小题15分,共25分)1、解://ChangeTextColorActivity.javapackagexiong.changetextcolor;importandroid.app.Activity;importandroid.graphics.Color;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;publicclassChangeTextColorActivityextendsActivity{privateTextViewmText;privateButtonmButton;privateint[]mColors;privateintcolornum;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);mText=(TextView)findViewById(R.id.tv);mButton=(Button)findViewById(R.id.change);/*声明并建构一整数array来储存欲使用的文字颜色*/mColors=newint[]{Color.RED,Color.BLUE,Color.GREEN,Color.MAGENTA,Color.YELLOW};colornum=0;mText.setTextColor(mColors[colornum]);/*使用onClick让用户点下按钮来驱动变动文字颜色*/mButton.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){if(colornummColors.length-1)colornum++;elsecolornum=0;mText.setTextColor(mColors[colornum]);}});}}2、解://TimeService.javapackagexiong.startservice;importjava.util.Date;importandroid.app.Service;importandroid.content.Intent;importandroid.os.IBinder;importandroid.util.Log;publicclassTimeServiceextendsService{privatebooleanthreadDisable;publicIBinderonBind(Intentintent){Log.v(TimeService,ServiceonBind);returnnull;}publicvoidonCreate(){super.onCreate();Log.v(TimeService,ServiceonCreate);}publicintonStartCommand(Intentintent,intflag,intstartid){Log.v(TimeService,ServiceonStartCommand);//让主要任务在一个新的线程中执行,以避免程序停止响应newThread(newRunnable(){publicvoidrun(){while(!threadDisable){try{Thread.sleep(5000);}catch(InterruptedExceptione){}Log.i(TimeService,newDate().toString());}}}).start();returnSTART_STICKY;}publicvoidonDestroy(){super.onDestroy();this.threadDisable=true;Log.v(TimeService,ServiceonDestroy);}}

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功