Android程序设计期末试卷答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Android程序设计》期末试题B(答案)
一、判断题(每小题2分,共10分)1、(错)2、(错)3、(对)4、(错)5、(对)二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分)
题号1 2 3 4 5 6 7 8 9 10
答案D C B A D D D C B B
三、填空题(每空2分,共10分)1、TableLayout 、RelativeLayout 2、START_ STICKY 、START_REDELIVER_INTENT 3、ContentResolver
四、名词解释(每小题5分,共15分)1、答:Intent Filter其实是一个Intent属性限制条件的集合,包含Intent对象的action、data、category等属性限制。每个Intent Filter描述组件的一种能力,即能够接收的一组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中用
4、开放性问题,没有标准答案。
六、编程题(第1小题10分,第2小题15分,共25分)1、解://ChangeTextColorActivity.java package xiong.changetextcolor; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class ChangeTextColorActivity extends Activity { private TextView mText; private Button mButton; private int[] mColors; private int colornum;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo ntentView(yout.main); mText = (TextView) findViewById(); mButton = (Button) findVi ewById(R.id.change); /* 声明并建构一整数array来储存欲使用的文字颜色 */ mColors = new int[] { Color.RED, Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLO W }; colornum = 0; mText.setTextColor(mColors[colornum]); /* 使用onClick让用户点下按钮来驱动变动文字颜色 */ mButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {
if (colornum < mColors.length-1) colornum++; else colornum = 0; mText.setTextColor(m Colors[colornum]); } }); } }
2、解://TimeService.java package xiong.startservice; import java.util.Date;
import android.app.Service; import android.content.Intent; import android.os.IBinder; import an droid.util.Log;
public class TimeService extends Service { private boolean threadDisable;
public IBinder onBind(Intent intent) { Log.v("TimeService", "Service onBind"); return null; } public void onCreate() { super.onCreate(); Log.v("TimeService", "Service onCreate"); }
public int onStartCommand(Intent intent, int flag, int startid) { Log.v("TimeService", "Service on StartCommand");