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 图41)电话实现[主界面如图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 stubEditText 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;@Overrideprotected 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 stubint 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); //完成数据库名称等设置}@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stubdb.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(){}public DBDAO(Context context){helper = new DataBaseOpenHelper(context)(18);}public void insert(String name, String telnum) //数据表成员增加{SQLiteDatabase db = helper.getWritableDatabase()(19);db.execSQL("insert into person (name, telnum) values (?,?)", new Object[]{name, telnum});db.close();}public void delete(String name) //数据表成员删除{SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("delete from person where name = ?", new Object[]{name});db.close();}public void update(String name, String newnumber) //数据表成员更新{SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("update person set telnum = ? where name = ?", new Object[]{newnumber(20), name(21)});db.close();}public boolean find(String name) //数据表成员条件查找{boolean result = false;Cursor cs;SQLiteDatabase db = helper.getWritableDatabase();cs = db.rawQuery("select * from person where name = ?", new String[]{name});result = cs.moveToNext();cs.close();(22)db.close();return result;}public List<Person> findAll() //数据表成员查找全部{Cursor cs;List<Person> person = new ArrayList<Person>();SQLiteDatabase db = helper.getReadableDatabase(); (23)cs = db.rawQuery("select * from person", null);while(cs.moveToNext()){int id = cs.getInt(cs.getColumnIndex("id"));String name = cs.getString(cs.getColumnIndex("name"));String telnum = cs.getString(cs.getColumnIndex("telnum"));Person p = new Person(id, name, telnum);person.add(p); (24)}cs.close();db.close();return person; (25)}}package com.android.dao.dao;public class Person {int id;String name;String telnum;public Person(int id, String name, String telnum){this.id = id; = name;this.telnum = telnum;}其余省略}package com.android.dao;import省略public class MainActivity extends Activity {LinearLayout layout_root;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);layout_root (26)= (LinearLayout) this.findViewById(yout_root);TextView tv;DBDAO dao;dao = new DBDAO(getApplicationContext()(27));List<Person> persons = dao.findAll()(28);for(Person p : persons){tv = new TextView(this);tv.setText(p.toString()(29));layout_root.addView(tv(30));}}}三、课程内容归纳[简答题(2×5)]1、简要总结Android系统的特点。