2013-03-18 3 views
0

안녕하세요 저는 Android 및 Eclipse 환경을 처음 사용합니다. 자바에 대해 전혀 몰라요. 앱을 만들어 안드로이드 장치 카메라를 열려고합니다. 이것은 내 주요 활동 된 .java는카메라 시작 취소됨. 카메라 앱

package com.example.trycamera2; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.provider.MediaStore; 
import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 
public class MainActivity extends Activity { 
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; 
private Uri fileUri; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button button = (Button) findViewById(R.id.button_send);***** 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/xray"); 
       dir.mkdirs(); 
      File file = new File(dir, "tmp_avatar_" 
           + String.valueOf(System.currentTimeMillis()) + ".jpg"); 
       fileUri = Uri.fromFile(file); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 
      startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

} 
    }); 
}; 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
      Bitmap tempBitmap = (Bitmap) data.getExtras().get("data"); 
      FileOutputStream out; 
      try { 
       out = new FileOutputStream(fileUri.getPath()); 
       tempBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       Log.v("ManageImage-other", "another phone type"); 
       e.printStackTrace(); 
      } 

      // Image captured and saved to fileUri specified in the Intent 
      Toast.makeText(this, "Image saved to:\n" + 
        data.getData(), Toast.LENGTH_LONG).show(); 
     } else if (resultCode == RESULT_CANCELED) { 
      // User cancelled the image capture 
     } else { 
      // Image capture failed, advise user 
     } 
    } 
    } 

} 

은 별 표시 줄에 button_send 아래 빨간색 표시가 것처럼 대신 button_send의 대안 action_settings을 보여줍니다 ... 보인다 ....하지만 난 action_settings로 교체하고 발사를 실행할 때 취소 . 에뮬레이터에 .apk를 설치하는 데 실패했습니다. 도움이 될 것입니다.

답변

0

Android와 같은 사운드는 레이아웃에서 버튼을 찾을 수 없습니다. 레이아웃이 있는지 확인하기 위해 레이아웃을 다시 확인하십시오.

그럴 경우 상단의 프로젝트 메뉴로 이동하여 정리를 선택하십시오. 프로젝트를 선택한 다음 Okay를 클릭하십시오. 청소하고 빌드하는 데는 시간이 걸리지 만 문제가 해결 될 수 있습니다.