扩展定制的Camera应用程序(6)

public void onPictureTaken(byte[] data, Camera camera) {

       Uri imageFileUri = 

       getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, 

new ContentValues());

       try {

             OutputStream imageFileOS = 

                  getContentResolver().openOutputStream(imageFileUri);

             imageFileOS.write(data);

             imageFileOS.flush();

             imageFileOS.close();

             Toast t = Toast.makeText(this,"Saved JPEG!", Toast.LENGTH_SHORT);

             t.show();

       } catch (FileNotFoundException e) {

             Toast t = Toast.makeText(this,e.getMessage(), Toast.LENGTH_SHORT);

             t.show();

       } catch (IOException e) {

         Toast t = Toast.makeText(this,e.getMessage(), Toast.LENGTH_SHORT);

             t.show();

       } 

         camera.startPreview();

    } 

}

然而,布局XML稍微有点不同。这个应用程序在一个包含LinearLayout的FrameLayout中显示摄像头预览SurfaceView,其中包含TextView来显示倒计时,并且包含Button来触发倒计时。该FrameLayout中的所有对象均左上角对齐,并且依次堆叠。采用这种方式,TextView和Button均显示在摄像头预览的顶部。

读书导航