复习材料《Android移动应用开发技术》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、关于android进程,说法不正确的是( B )

A、组件运行所在的进程,是由androidManifest.xml决定,它可以指定该组件运行于哪个进程。

B、背景进程是不为用户所见的Activity,但是还会有可能被用户看到,所以它不能被杀死

C、当急需内存时,android会决定优先关闭那些空闲的进程

D、可视进程一般不会不被系统所杀死

2、Matrix类的作用( A )

A、可以存储缩小或放大比列

B、存储文件中的图片信息

C、存储资源中的图片信息

D、存储内存中的图片信息

3、关于主题的说法,错误的是( D )

A、它是属性集合

B、它可以在程序中来设置

C、它通常用于一个Activity或所有Activity上

D、它可以用于单个TextView上

4、setOnTouchEvent 设置返回值为true 和 false有何区别?以下说法较准确是( C )

A、没有区别,都能对事件进行监听

B、设置为true时只能在移动时获得一次监听事件,false则可以多次

C、设置为false是,在处理一次监听事件后,系统将抛弃该次事件

D、返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息

二、开发技术设计与应用能力部分

注:以下程序均是相关程序或小项目的实现代码,根据每个程序或项目的特性,完成程序空缺部分的内容,使其实现。具体程序代码注释省略。

图1 图2 图3 图4

1)电话实现[主界面如图1]

程序描述:完成手机打电话功能。

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(yout.activity_main);

Button btn_call = (Button)this.findViewById(R.id.btn_call);

btn_call.setOnClickListener(new btnCall());

}

private class btnCall implements OnClickListener (1)

{

public void onClick(View v) {

// TODO Auto-generated method stub

EditText et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);

String s_number = et_number.getText().toString().trim(); (2)

Intent i_call = new Intent();

i_call.setAction(Intent.ACTION_CALL(3));

i_call.setData(Uri.parse("tel:"+s_number));

startActivity(i_call); (4)

}

}

}

2)动画实现[主界面如图2]

程序描述:手机屏幕触摸后演示动画,假设XML文件已经设置好,id资源为:R.drawable.panda public class MainActivity extends Activity {

ImageView iv_action;

AnimationDrawable ad_action;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(yout.activity_main);

iv_action = (ImageView)this.findViewById(R.id.iv_action);

iv_action.setBackgroundResource(5)(R.drawable.panda);

ad_action = (AnimationDrawable) iv_action.getBackground();

}

public boolean onTouchEvent(MotionEvent event) {

ad_action.start();(6)

return super.onTouchEvent(event);

}

}

3)撕衣服游戏实现

项目描述:划动屏幕时完成撕衣服效果,并产生撕衣服声音(sound.mp3)

public class MainActivity extends Activity {

ImageView iv_upper;

ImageView iv_below;

Bitmap bmp_upper;

Bitmap bmp_below;

Bitmap bmp_upper_alter;

Canvas canvas;

Paint paint;

SoundPool sp;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(yout.activity_main);

sp = new SoundPool(5, AudioManager.STREAM_SYSTEM(7), 5);

sp.load(getApplicationContext(), R.raw.sound, 0);

Options opts = new Options();

opts.inSampleSize = 2;

iv_upper = (ImageView) this.findViewById(R.id.iv_upper);

iv_below = (ImageView) this.findViewById(R.id.iv_below);

bmp_upper = BitmapFactory.decodeResource(getResources(), R.drawable.upper, opts);

bmp_below = BitmapFactory.decodeResource(getResources(), R.drawable.below, opts);

bmp_upper_alter = Bitmap.createBitmap(bmp_upper.getWidth(), bmp_upper.getHeight(), bmp_upper.getConfig()(8));

iv_upper.setImageBitmap(bmp_upper_alter(9));

iv_below.setImageBitmap(bmp_below(10));

paint = new Paint();

paint.setColor(Color.BLACK(11));

paint.setStrokeWidth(5);

canvas = new Canvas(bmp_upper_alter(12));

canvas.drawBitmap(bmp_upper(13), new Matrix(), paint);

iv_upper.setOnTouchListener(new OnTouchListener() {

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

int x;

int y;

switch (event.getAction()(14)) {

case MotionEvent.ACTION_MOVE:

x = (int)event.getX();

y = (int)event.getY();

sp.play(1, 1, 1, 0, 0, 1);

for(int i=-20; i<21;i++)

{

for(int j=-20; j<21; j++)

{

bmp_upper_alter.setPixel(i+x, j+y, Color.TRANSPARENT(15));

}

}

iv_upper.setImageBitmap(bmp_upper_alter(16));

break;

default:

break;

}

return true;

}

});

}

}

4)数据库技术项目

项目描述:完成数据库的增、删、改、查设计,完成数据库数据的显示界面设计及实现。

注:相关文件及包结构关系如下,完成相关设计及实现

package com.android.dao.dao;

import 省略;

public class DataBaseOpenHelper extends SQLiteOpenHelper {

public DataBaseOpenHelper(Context context) {

super(context, "testdb.db", null, 1); //完成数据库名称等设置

}

@Override

public void onCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

db.execSQL("create table person (id integer primary key autoincrement(17), name varchar(20), telnum varchar(20))"); //数据表结构设计

}

其余省略

}

package com.android.dao.dao;

import 省略

public class DBDAO {

DataBaseOpenHelper helper;

public DBDAO()

{

}

相关文档
最新文档