0

嘿,我是android和eclipse环境的新手。我不知道Java。我正在尝试创建一个应用程序来打开android设备的相机。这就是我的主要activity.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 下有一个红色标记...它显示了替代 action_settings 而不是 button_send ....但是当我用 action_settings 替换并运行时,启动被取消。无法在模拟器上安装 .apk ..any帮助将非常有用。

4

1 回答 1

0

听起来 Android 在任何布局中都找不到您的按钮。仔细检查您的布局以确保它们在那里。

如果是,只需转到顶部的 Project 菜单,然后选择 Clean。选择您的项目,然后单击确定。清理和构建需要一些时间,但这可能会解决您的问题。

于 2013-03-18T15:03:07.167 回答