안드로이드 초보입니다.
책에서 보면 인텐트가 액티비티끼리 서로 호출하려면 통신을 위한 장치가 필요한데 이장치가 "인텐트"이다 라고
설명하는데 , 아직 개념을 모르겠습니다.
액티비티가 하나인 어플에서도 인텐트를 사용하는거 같은데... 아래와 같이 카메라 구현부분중에도 인텐트가 쓰입니다.
근데 여기는 액티비티가 하나인데 왜 쓰는지 잘 모르겠습니다.
// 사진 저장.
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 예제입니다.
intent는 가장 단순하게 설명하면 엑티비티 간에 통신을 위한 수단입니다.
여기서 엑티비티는 내 앱뿐만 아니라 다른 앱의 엑티비티도 포함합니다.
다른 앱에 정보를 실어서 인텐트로 호출을 하게되면 호출된 앱은 받은 정보를 토대로 일을 수행하게 됩니다.
소스상에서는 미디어 스캔을 하기 위해서 인텐트에 정보를 실어서 브로드캐스트로 신호를 던지는 겁니다.
그럼 미디어 스캔을 할수있는 다른 앱에서 그 신호를 받고 일을 수행하게 됩니다.




인텐트 첫줄에 쓰는 기능을 불러오는거예요
저런 기능이 님이 만든거 안에 없자나여
A액티비티
B액티비티
서로 연락한다고 보심 될듯요...
저의 쵸딍적인 이해에 의하면 내 집에서 옆집으로 전화한다고 ;;;;;;; 시끄럽다고....
그럼 옆집은 조용해지죠 ㅡㅡㅋ