您好,欢迎来到刀刀网。
搜索
您的当前位置:首页《Android程序设计》期末试题B(答案)

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

来源:刀刀网
一、判断题(每小题2分,共10分)

1、( 2、( 3、( 4、( 5、(

二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20)

题号12345678910
答案DCBADDDCBB
三、填空题(每空2分,共10分)

1 TableLayout RelativeLayout

2 START_ STICKY START_REDELIVER_INTENT

3 ContentResolver

四、名词解释每小题515

1Intent Filter其实是一个Intent属性条件的集合包含Intent对象的actiondatacategory等属性。每个Intent Filter描述组件的一种能力,即能够接收的一组Intent

2答:ServiceAndroid系统的后台服务组件,适用于开发无界面、长时间运行的应用功能。

3答:如果应用程序注册了BroadcastReceiver,则可以接收到指定的广播消息并作相应的处理。所以BroadcastReceiver可以看成是全局的,用于监听系统广播消息或自定义广播消息。

五、简答题(每小题5分,共20分)

1答:获取子Activity的返回值,一般可以分为以下三个步骤:

1使用startActivityForResult()去启动子Activity

2设置子Activity的返回值在子Activity调用finish()函数关闭前,调用setResult()方法将所需的数据返回给父Activity

3在父Activity中获取返回值当子Activity关闭时,启动它的父ActivityonActivityResult()方法将被调用;如果需要在父Activity中处理子Activity的返回值,则重载此方法即可。

2答:Android系统中运行Service有如下两种方式:

1启动方式

通过ContextstartService()方法启动Service,访问者与Service之间没有关联,即使访问者退出了,Service仍然运行。访问调用stopService()停用Service

2绑定方式

通过ContextbindService()方法绑定Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。访问者调用unbindService()来解绑定Service

3答:要实现自己的BroadcastReceiver,就需要继承android.content.BroadcastReceiver类并重写onReceive()方法。

BroadcastReceiver作为应用级组件,必须注册才能处理广播消息。注册有两种方式:

1静态地在AndroidManifest.xml中用标签声明,并在标签内用标签设置过滤器。

2动态的在代码中先定义并设置好一个 Intent Filter 对象,然后在需要注册的地方调Context. registerReceiver (BroadcastReceiver,IntentFilter)方法

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);

setContentView(R.layout.main);

mText = (TextView) findViewById(R.id.tv);

mButton = (Button) findViewById(R.id.change);

/* 声明并建构一整数array来储存欲使用的文字颜色 */

mColors = new int[] { Color.RED, Color.BLUE, Color.GREEN,

Color.MAGENTA, Color.YELLOW };

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(mColors[colornum]);

}

});

}

}

2、解://TimeService.java

package xiong.startservice;

import java.util.Date;

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import android.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 onStartCommand");

// 让主要任务在一个新的线程中执行,以避免程序停止响应

new Thread(new Runnable() {

public void run() {

while (!threadDisable) {

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

}

Log.i("TimeService", new Date().toString());

}

}

}).start();

return START_STICKY;

}

public void onDestroy() {

super.onDestroy();

this.threadDisable = true;

Log.v("TimeService", "Service onDestroy");

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务