Android 开发随手笔记之使用摄像头拍照

2019-12-10 19:51:47于海丽
  • fileName.createNewFile();  FileOutputStream fos = new FileOutputStream(fileName); 
  • fos.write(data);  fos.flush(); 
  • fos.close();  } catch (IOException e) { 
  • e.printStackTrace();  } 
  • }  }); 
  • }  }); 

    这样,我们便实现了用SurfaceView预览摄像头画面,点击Button将当前预览保存到SDCard中。

    完整代码如下:

     

     
    1. import android.app.Activity;  import android.hardware.Camera; 
    2. import android.os.Bundle;  import android.os.Environment; 
    3. import android.view.SurfaceHolder;  import android.view.SurfaceView; 
    4. import android.view.View;  import android.widget.Button; 
    5. import java.io.File;  import java.io.FileOutputStream; 
    6. import java.io.IOException;  public class MainActivity extends Activity { 
    7. private Camera camera;  private Button button; 
    8. private SurfaceView surfaceView;  private SurfaceHolder.Callback callback; 
    9. @Override  protected void onCreate(Bundle savedInstanceState) { 
    10. super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main); 
    11. button = (Button)findViewById(R.id.button);  surfaceView = (SurfaceView)findViewById(R.id.surfaceView); 
    12. callback = new SurfaceHolder.Callback(){  @Override 
    13. public void surfaceCreated(SurfaceHolder holder) {  startCamera();