Android应用试卷A一、选择题(10分)1. 下列不是手机操作系统的是?(D)A.AndroidB. Window MobileC. Apple IPhone IOSD. windows vista2. 下列选项哪个不是Activity启动的方法?(B )A. startActivityB. goToActivityC. startActivityForResultD. startActivityFromChild3. 下列哪个不是Activity的生命周期方法之一?(B )A. onCreate B startActivity C. onStart D. onResume4. 下列哪个可做Android数据存储?( A )A. SQliteB. MySqlC. OracleD. DB25. 下列哪个可做EditText编辑框的提示信息?( D )A. android:inputTypeB. android:textC. android:digitsD. android:hint二、真空题(2分)1. 为了使android适应不同分辨率机型,布局时字体单位应用sp ,像素单位应用sp 和dip 。
2. 定义LinearLayout水平方向布局时至少设置的三个属性:android:orientation ,android:layout_width 和android:layout_height 。
3. 设置 ImageView控件为灰色的方法是:android:background=”#040”。
4. layout布局文件的命名不能出现字母大写。
5. 设置EditText只能输入”1234567890.+-*/%()”属性:android:digits。
6. 设置TextView字体的属性是:android:textSize 。
三、简答题(30分)1. Android项目中的入口Activity怎么写?如何注册一般的Activity?(1) Android项目中的入口Activity:<?xml version="1.0" encoding="utf-8"?><manifestxmlns:android="/apk/res/android "package="com.test"android:versionCode="1"android:versionName="1.0"><application android:icon="@drawable/icon"android:label="@string/app_name"><activity android:name=".WelcomeActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="android.intent.action.MAIN" /><categoryandroid:name="UNCHER" /></intent-filter>(2)注册一般的Activity:</activity><activity android:name=".test"/></application><uses-sdk android:minSdkVersion="6" /></manifest>2. 列举通过Intent传递不同数据类型的方法(至少5个)?①Intent.addCategory(String category)②Intetn.addFlags(int flags)③Intent.equals(Object o)④Intent.fillIn(Intent other,int flags)⑤Intent.filterEquals(Intent other)3. 请介绍下Android中常用几种布局(至少3种,多一个加2分)?线性布局LinearLayout,相对布局RelativeLayout,表单布局TableLayout,帧布局FrameLayout,列表布局:listview,表格布局:gridview,绝对布局:absoluteLayout,标签布局:tablayout4. 阐述android:padding和android:layout_margin的异同?(1)不同点:android:padding 是站在父View 的角度描述问题,它规定它里面的内容必须与这个父View 边界的距离。
android:layout_margin 则是站在自己角度描述问题,规定自己和其他(上下左右)的 View 之间的距离如同一级只有一个View,那么他的效果基本上就和padding一样。
(2)相同点:如同一级只有一个View,那么android:layout_margin的效果基本上就和android:padding一样5. 列举TextView控件中的10个属性?①android:text②android:hint③android:textColor④android:textSize⑤android:bufferType⑥android:maxLines⑦android:lines⑧android:layout_width⑨android:layout_height⑩android:layout_gravity四、编程题(40分)1.写出按钮和按钮单击事件(6分)布局文件:main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="/apk/res/android "android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="计算你的标准体重"android:id="@+id/title"android:textSize="20sp"android:layout_centerHorizontal="true" android:layout_marginTop="20dp"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="性别:"android:layout_below="@+id/title"android:layout_marginTop="20dp"android:id="@+id/sextitle"/><RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:id="@+id/sexgroup"android:layout_below="@+id/sextitle"android:checkedButton="@+id/male"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/male"android:text="男"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"android:id="@+id/female"/></RadioGroup><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="身高:"android:layout_below="@+id/sexgroup"android:layout_marginTop="20dp"android:id="@+id/heighttitle"/><EditTextandroid:layout_width="200dp"android:layout_height="wrap_content"android:layout_below="@+id/heighttitle"android:id="@+id/height"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="计算"android:layout_below="@+id/height"android:id="@+id/btn"android:layout_marginTop="20dp"android:paddingLeft="20dp"android:paddingRight="20dp"/></RelativeLayout>Activity:MainActivity.javaimport android.app.MainActivity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.RadioButton;public class MainActivity extends Activity {/** Called when the activity is first created. */ @Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.main);Button btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(btnClickListener);}OnClickListener btnClickListener = new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubRadioButton male = (RadioButton)findViewById(R.id.male);//sex=1 代表男性//sex=2 代表女性int sex = male.isChecked()?1:2;EditText et = (EditText)findViewById(R.id.height);//得到用户输入的身高float height =Float.parseFloat(et.getEditableText().toString());float weight = getWeight(sex, height);new AlertDialog.Builder(Main.this).setTitle("体重").setMessage("您的标准体重为"+weight).setPositiveButton("确定", newDialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {}}).show();}};//此方法用来计算标准体重public float getWeight(int sex,float height){ float weight = 0.0f;if (sex==1) {weight = (height - 80) * 0.7f;} else {weight = (height - 70) * 0.6f;}return Math.round(weight);}}2. 写出按钮和按钮单击后跳转到另一个Activity(6分)布局文件:main.xml(写出完整控件即可)<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android "android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#fff"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/welcome_title"android:layout_gravity="center"android:textSize="24sp"android:textColor="#000"android:layout_marginTop="10dip"android:layout_marginBottom="10dip"android:textStyle="bold"/><ImageViewandroid:layout_width="wrap_content"android:layout_height="140dip"android:background="@drawable/bg_welcome"android:layout_marginLeft="10dip"android:layout_marginRight="10dip"/><Buttonandroid:id="@+id/wel_btn1"android:layout_width="140dip"android:layout_height="wrap_content"android:text="@string/welcome_btn1"android:layout_gravity="center_horizontal" android:layout_marginTop="10dip"android:padding="1dip"/><Buttonandroid:id="@+id/wel_btn2"android:layout_width="140dip"android:layout_height="wrap_content"android:text="@string/welcome_btn2"android:layout_gravity="center_horizontal" android:layout_marginTop="10dip"android:padding="1dip"/><Buttonandroid:id="@+id/wel_btn3"android:layout_width="140dip"android:layout_height="wrap_content"android:text="@string/welcome_btn3"android:layout_gravity="center_horizontal" android:layout_marginTop="10dip"android:padding="1dip"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/welcome_address"android:layout_gravity="right"android:textSize="15sp"android:textColor="#000"android:layout_marginRight="10dip"android:layout_marginTop="30dip"android:textStyle="italic"/></LinearLayout>Activity:MainActivity.java(跳转目标OtherActivity.java)(写出关键代码即可)import junit.framework.MainActivity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {Button wel_btn1;Button wel_btn2;Button wel_btn3;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.main);wel_btn1=(Button)findViewById(R.id.wel_btn1);wel_btn2=(Button)findViewById(R.id.wel_btn2);wel_btn3=(Button)findViewById(R.id.wel_btn3);wel_btn1.setOnClickListener(onClickListener);wel_btn2.setOnClickListener(onClickListener);wel_btn3.setOnClickListener(onClickListener);}OnClickListener onClickListener=new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubMainActivity.this.finish();Intent intent=newIntent(MainActivity.this,OtherActivity.class);startActivity(intent);}};}3. 写出加1 和减1的程序主要代码(6分)布局文件:main.xml<?xml version="1.0" encoding="utf-8" ?>-<LinearLayout xmlns:android="/apk/res/android" android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="每天运动:"android:gravity="left" android:textSize="18sp" /><Buttonandroid:id="@+id/add"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/btn_add"android:textSize="24sp" /><TextViewandroid:id="@+id/result"android:layout_width="90dip"android:layout_height="wrap_content"android:textSize="18sp"android:background="#fff" /><Buttonandroid:id="@+id/less"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/btn_less"android:textSize="24sp" /></LinearLayout>Activity:MainActivity.javaimport android.app.MainActivity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {TextView textView;int temp = 0;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.button);Button addButton = (Button) findViewById(R.id.add);addButton.setOnClickListener(onClickListener);Button lessButton = (Button) findViewById(R.id.less);lessButton.setOnClickListener(onClickListener);textView = (TextView) findViewById(R.id.result);textView.setText("0分钟/天");}OnClickListener onClickListener = new OnClickListener() { public void onClick(View v) {// TODO Auto-generated method stubif(v.getId() == R.id.add){temp += 5;textView.setText(temp+"分钟/天");}else if(v.getId() == R.id.less){temp -= 5;textView.setText(temp+"分钟/天");}}};}4. 写出按钮点击和非点击状态图片切换的那个btn_login.xml文件代码(6分)(图片:btn_login_nor.png,btn_login_on.png)<?xml version="1.0" encoding="UTF-8"?><selectorxmlns:android="/apk/res/android "><item android:state_pressed="true"android:drawable="@drawable/ btn_login_nor " /><item android:drawable="@drawable/ btn_login_on" /></selector>5. 只写出猜纸牌游戏中的点击第一张进行猜牌的功能代码?(6分)布局文件:main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android "android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="猜猜看红心A是哪一张?"android:textSize="20sp"android:layout_marginTop="20dp"android:layout_marginLeft="20dp"android:id="@+id/result"/><LinearLayoutxmlns:android="/apk/res/android "android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="60dp"android:layout_marginLeft="20dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/p04"android:id="@+id/img1"/><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/p04"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:id="@+id/img2"/><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/p04"android:id="@+id/img3"/></LinearLayout><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="再玩一次"android:layout_marginTop="80dp"android:layout_gravity="center"android:paddingLeft="30dp"android:paddingRight="30dp"android:id="@+id/btn"/></LinearLayout>Activity:MainActivity.javaimport java.util.Arrays;import java.util.Collections;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class Guess extends Activity {List<Integer> list =Arrays.asList(R.drawable.p01,R.drawable.p02,R.drawable.p0 3);boolean enable = true;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.main);ImageView img1 = (ImageView)findViewById(R.id.img1); ImageView img2 = (ImageView)findViewById(R.id.img2); ImageView img3 = (ImageView)findViewById(R.id.img3);img1.setOnClickListener(imgClickListener);Button btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(btnListener);}OnClickListener btnListener = new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubImageView img1 =(ImageView)findViewById(R.id.img1);ImageView img2 =(ImageView)findViewById(R.id.img2);ImageView img3 =(ImageView)findViewById(R.id.img3);img1.setImageResource(R.drawable.p04);img2.setImageResource(R.drawable.p04);img3.setImageResource(R.drawable.p04);img1.setAlpha(255);img2.setAlpha(100);img3.setAlpha(100);TextView result =(TextView)findViewById(R.id.result);result.setText("猜猜看红心A是哪一张?");}};}6. 写一个注册页面,不包含后台验证(自己发挥)(10分)要求:a.注册项:用户名、账号、密码、性别、出生年月日、爱好、手机和注册按钮b.用户名框只能输入字母和下划线,宽度为200像素c. 账号框只能输入数字,宽度为200像素d.密码框要用设置对应属性(即不可显示),宽度为200像素e.性别用单选框,默认选中男f.出生年日月用日期控件,默认当前日期g.爱好用多选框,默认选中第二个选项。