アレルギーのある人がアレルギー反応を起こしたときの反応や、食べた食べ物を写真に収められるようなアプリを作りたいと思っています。次に、ドキュメントに情報を追加し、そのすべてに加えて、ジオローカリゼーションを保存できます。(アレルギーのある人は、通常、6か月に1回アレルギーを見ることができるため、日記が必要であるという考えです)
私は動作するこのコードを書きました:私はカメラを使用できるように電話のメニューボタンを押す必要があります。でも、カムが使えるボタンが欲しいです。誰かが私のコードを変更し、カメラの使用を許可するボタンを正しく追加して、Android携帯で写真を撮ることができるようにすることで私を助けてくれますか?
忠実に、
私のコード:
パッケージandroid.camera;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ImageView;
public class CameraActivity extends Activity {
private static final int PICTURE_RESULT = 9;
private Bitmap mPicture;
private ImageView mView;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
mView = (ImageView) findViewById(R.id.view);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.camera:
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
CameraActivity.this.startActivityForResult(camera, PICTURE_RESULT);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
/* public void onDestroy() {
super.onDestroy();
if (mPicture != null) {
mPicture.recycle();
}
}*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if results comes from the camera activity
if (requestCode == PICTURE_RESULT) {
// if a picture was taken
if (resultCode == Activity.RESULT_OK) {
// Free the data of the last picture
if(mPicture != null)
mPicture.recycle();
// Get the picture taken by the user
mPicture = (Bitmap) data.getExtras().get("data");
// Avoid IllegalStateException with Immutable bitmap
Bitmap pic = mPicture.copy(mPicture.getConfig(), true);
mPicture.recycle();
mPicture = pic;
// Show the picture
mView.setImageBitmap(mPicture);
// if user canceled from the camera activity
} else if (resultCode == Activity.RESULT_CANCELED) {
}
}
}
}