안드로이드 초보입니다.

 

책에서 보면 인텐트가 액티비티끼리 서로 호출하려면 통신을 위한 장치가 필요한데 이장치가 "인텐트"이다 라고

 

설명하는데 , 아직 개념을 모르겠습니다.

 

액티비티가 하나인 어플에서도 인텐트를 사용하는거 같은데... 아래와 같이 카메라 구현부분중에도 인텐트가 쓰입니다.

근데 여기는 액티비티가 하나인데 왜 쓰는지 잘 모르겠습니다.

 

// 사진 저장.
 PictureCallback mPicture = new PictureCallback() {
  public void onPictureTaken(byte[] data, Camera camera) {
   String sd = Environment.getExternalStorageDirectory().getAbsolutePath();
   String path = sd + "/cameratest.jpg";

   File file = new File(path);
   try {
    FileOutputStream fos = new FileOutputStream(file);
    fos.write(data);
    fos.flush();
    fos.close();
   } catch (Exception e) {
    Toast.makeText(Camera_03Activity.this, "파일 저장 중 에러 발생 : " +
      e.getMessage(), 0).show();
    return;
   }
   
   Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
   Uri uri = Uri.parse("file://" + path);
   intent.setData(uri);
   sendBroadcast(intent);

   Toast.makeText(Camera_03Activity.this, "사진 저장 완료 : " + path, 0).show();
   mSurface.mCamera.startPreview();
  }
 };

 

글구 이대로 작성하면 카메라 이미지 파일이 sd카드에 저장이 되는걸로 알고있는데, 왜 저장하면 오류가 나는지 모르겠습니다.

위예제는 안드로이드 프로그래밍 정복의 C25_Camera 예제입니다.