0

Android と Eclipse の環境は初めてです。Java についてはまったくわかりません。Android デバイスのカメラを開くアプリを作成しようとしています。

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 をインストールできませんでした..ヘルプは非常に役立ちます。

4

1 に答える 1

0

Android がどのレイアウトでもボタンを見つけられないようです。レイアウトを再確認して、そこにあることを確認してください。

そうである場合は、上部の [プロジェクト] メニューに移動し、[クリーン] を選択します。プロジェクトを選択し、[OK] をクリックします。クリーンアップとビルドには少し時間がかかりますが、問題が解決する可能性があります。

于 2013-03-18T15:03:07.167 に答える