Salve, mi stavo cimentando nella creazione di una semplice app dotata di un Button e di una ImageView: il button avvia la fotocamera del device, e l'immagine scattata compare nell'ImageView. Questo almeno quanto dovrebbe accadere, ma c'è qualcosa che non quadra...
Questo è il codice:
codice:
import android.app.Activity;import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
Button btn;
private static final int CAMERA_REQUEST = 123;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.click);
imageView = (ImageView) imageView.findViewById(R.id.fotografia);
}
public void btnClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA_REQUEST);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
}
btnClick() è definito come valore di un onClick nell'XML che realizza il Button.
Android Studio non segnala errori, ma in emulazione l'applicazione viene terminata.
Non mi quadra molto quel get("data") ma se non metto le virgolette mi dice che un Intent non è una String!