复习材料《Android移动应用开发技术》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()
{
}