您的当前位置:首页正文

android 考试

2022-10-30 来源:我们爱旅游
1、 选择填空

1. Android系统提供了两种创建动画方式:补间动画和帧动画 2. Android系统音频播放的两种方式:①使用MediaPlayer类的public static MediaPlayer create(Context context, int resid)方法但每次调用都会返回新创建的MediaPlayer对象②使用public void setDataSource(String path)方法 3. Android系统视频播放使用VideoView控件

4. MediaController是一个包含了媒体播放器(MediaPlayer)控件的视图。

5. TelephonyManager类其主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态以及手机用户的信息。TelephonyManager类可以实现过滤电话功能 2、 简答

1. Android Google Map API使用的步骤: ①安装Google Play services SDK ②.获取API key

③.把API Key加入应用程序

④. AndroidManifest.xml中设置许可、uses-permission子元素和OpenGL ES V2特性支持 ⑤. 把Google Play services的类库加载进来,在布局文件和Activityl类中加上地图

2.handler机制:

①.Handler创建消息

Handler创建消息时首先查询消息池中是否有消息存在,如果有直接从消息池中取得,如果没有则重新初始化一个消息实例。

使用消息池的好处是:消息不被使用时,并不作为垃圾回收,而是放入消息池,可供下次Handler创建消息时使用。消息池提高了消息对象的复用,减少系统垃圾回收的次数。消息的创建流程如图所示。

②.Handler发送消息

UI主线程初始化第一个Handler时会通过ThreadLocal创建一个Looper,该Looper与UI主线程一一对应。使用ThreadLocal的目的是保证每一个线程只创建唯一一个Looper。之后其他Handler初始化的时候直接获取第一个Handler创建的Looper。Looper初始化的时候会创

建一个消息队列MessageQueue。至此,主线程、消息循环、消息队列之间的关系是1:1:1。

③.Handler处理消息

UI主线程通过Looper循环查询消息队列UI_MQ,当发现有消息存在时会将消息从消息队列中取出。首先分析消息,通过消息的参数判断该消息对应的Handler,然后将消息分发到指定的Handler进行处理。

3.传感器应用程序的开发的步骤: (1)调用Context.getSystemService(SENSOR_SERVICE)方法获取传感器管理服务。

(2)调用SensorManager的getDefaultSensor(int type)方法,获取指定类型的传感器。

(3)在Activity的onResume()中,调用SensorManager的registerListener (SensorEventListener listener, Sensor sensor, int rate)方法注册监听。 (4)实现SensorEventListener接口中下列两个方法,监听并取得传感器Sensor的状态。 3、编程题

//MainActivity.java

public class LabSixTestOneMainActivity extends Activity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button b_One = (Button)findViewById(R.id.button1); b_One.setOnClickListener(new View.OnClickListener() { @Override

}}

public void onClick(View v) {

Intent i = new Intent(MainActivity.this,GetOneActivity.class); MainActivity.this.startActivity(i); } });

// GetOneActivity.java

public class GetOneActivity extends Activity { String str;

String httpUrl; TextView t_One;

Handler h_One = new Handler(){ @Override

public void handleMessage(Message msg) { super.handleMessage(msg);

t_One.setText(msg.getData().toString()); } };

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.getone);

t_One = (TextView)findViewById(R.id.textView1); httpUrl = \"http://www.baidu.com\";

new Thread(new Runnable(){ @Override

public void run() {

String resultData = \"\"; URL url = null; try {url=new URL(httpUrl); } catch (MalformedURLException e) { e.printStackTrace();} if(url != null) {

try {

HttpURLConnection urlConn = (HttpURLConnection)url.openConnection(); InputStreamReader in = new InputStreamReader(urlConn.getInputStream()); BufferedReader buffer = new BufferedReader(in); String inputLine = null; while((inputLine=buffer.readLine())!=null) { resultData += inputLine+\"\\n\"; } in.close(); urlConn.disconnect(); if(resultData!=null) {

Bundle b =new Bundle(); b.putString(\"megpost\ Message meg = new Message(); meg.setData(b); h_One.sendMessage(meg); }else{

Log.d(\"test\读取页面内容 为空!\"); }

} catch (IOException e) { Log.d(\"test\}

}else {

Log.d(\"test\为空!\"); }}}).start(); } }

1. assets文件夹里面的文件都是保持 原始的文件格式,需要用AssetManager

以字节流的形式读取文件。

2. 注意:来自assets中的文件只可以读取,不能进行写的操作。

3. Android系统提供了两种创建动画方式:补间动画(Tween Animation)和帧动画(Frame Animation)。

补间动画(Tween Animation)主要实现对图片进行移动、放大、缩小以及透明度变化的功能,而帧动画(Frame Animation)则比较简单,就是将一张张的图片连续播放以产生动画效果。 4. 方法名称 方法说明

public static MediaPlayer create(Context context, int resid) 从resid资源ID对应的资源文件中装载音频文件,并返回新创建的MediaPlayer对象

public static MediaPlayer create(Context context, Uri uri) 从指定的Uri装载音频文件,并返回新创建的MediaPlayer对象

public int getDuration() 获取音频文件播放的总时长 public void pause() 暂停音乐播放 public void prepare() 准备播放器播放

public void reset() 重置未初始化状态的媒体播放器。

public void seekTo(int msec) 寻求指定的时间位置,播放指定的音频内容 public void setDataSource(String path) 指定装载path路径所代表的文件

public void setDataSource(Context context, Uri uri) 指定装载Uri所代表的文件

public void setDataSource(FileDescriptor fd, long offset, long length) 指定装载fd所代表的文件中从offset开始,长度为length的文件内容

public void setDataSource(FileDescriptor fd) 指定装载fd所代表的文件

public void setLooping(boolean looping) 设置循环播放

public void setVolume(float leftVolume, float rightVolume) 设置音乐音量 public void start() 播放音乐 public void stop() 停止播放音乐

5. 如果程序需要使用MediaPlayer播放多个音频文件,使用MediaPlayer的静态create()方法就不合适了。此时我们可以考虑,使用public void setDataSource(String path)方法来装载指定的音频文件。 6. Android系统提供了VideoView控件,用于在界面设计时显示视频文件。 7. MediaController是一个包含了媒体播放器(MediaPlayer)控件的视图。

8. Android系统除了提供相关类,实现音频与视频的播放之外,还提供了MediaRecorder类实现音频视频的录制,但是需要有硬件设备的支持。

9. TelephonyManager是Android提供的系统服务之一,通过它可以获取手机的一些状态

为TelephonyManager注册PhoneStateListener监听器,当手机的状态改变后将会触发onCallStateChanged()手机的状态分为CALL_STATE_RINGING(响铃中) CALL_STATE_IDLE(空闲)、CALL_STATE_OFFHOOK(忙音)

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