Back to project page bumper.
The source code is released under:
MIT License
If you think the Android project bumper listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.varwise.bumper; /* w ww . j a v a 2s. com*/ import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.GridView; import android.widget.Toast; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class PhotoViewScreen extends Activity { public static String baseKey = "PhotoViewScreen"; public static final int MEDIA_TYPE_IMAGE = 1; public static final int MEDIA_TYPE_VIDEO = 2; private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200; private Uri fileUri; public static File[] listFile; public static int listFileCount; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.photos_view); getAlbum(); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { //Toast.makeText(PhotoViewScreen.this, "" + position, Toast.LENGTH_SHORT).show(); Intent fullImage = new Intent(getApplicationContext(), PhotoViewFullScreen.class); fullImage.putExtra("position", position); startActivity(fullImage); } }); // Check for SD Card if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { Toast.makeText(this, "Error! No SDCARD Found!", Toast.LENGTH_LONG).show(); } final Button button = (Button) findViewById(R.id.call_camera); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Perform action on click // create Intent to take a picture and return control to the calling application Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name // start the image capture Intent startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); } }); final Button okButton = (Button) findViewById(R.id.pictures_button_ok); okButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { ScreenDB.setFinishedDate(baseKey, getApplicationContext()); finish(); } }); // final Button sendphotosbutton = (Button) findViewById(R.id.pictures_to_email_button); // sendphotosbutton.setOnClickListener( new View.OnClickListener() { // @Override // public void onClick(View v) { // SendGrid sendgrid = new SendGrid("i_got_pie", "scan14sign"); // // SendGrid.Email email = new SendGrid.Email(); // email.addTo("p.jendrusik@gmail.com"); // email.setFrom("battlehack@tst.com"); // email.setSubject("Hello World"); // email.setText("My first email through SendGrid"); // // try { // SendGrid.Response response = sendgrid.send(email); // } catch (SendGridException e) { // System.out.println(e); // } // } // }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { if (resultCode == RESULT_OK) { // Image captured and saved to fileUri specified in the Intent if(data != null) { Toast.makeText(this, "Image saved to:\n" + data.getData(), Toast.LENGTH_LONG).show(); } else { Log.e("Dev", "Intent image data is null"); } } else if (resultCode == RESULT_CANCELED) { // User cancelled the image capture } else { // Image capture failed, advise user } } if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) { if (resultCode == RESULT_OK) { // Video captured and saved to fileUri specified in the Intent if(data != null) { Toast.makeText(this, "Video saved to:\n" + data.getData(), Toast.LENGTH_LONG).show(); } else { Log.e("Dev", "Intent video data is null"); } } else if (resultCode == RESULT_CANCELED) { // User cancelled the video capture } else { // Video capture failed, advise user } } finish(); startActivity(getIntent()); } /** Create a file Uri for saving an image or video */ private static Uri getOutputMediaFileUri(int type){ return Uri.fromFile(getOutputMediaFile(type)); } /** Create a File for saving an image or video */ private static File getOutputMediaFile(int type){ // To be safe, you should check that the SDCard is mounted // using Environment.getExternalStorageState() before doing this. File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "BumperApp"); // This location works best if you want the created images to be shared // between applications and persist after your app has been uninstalled. // Create the storage directory if it does not exist if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ Log.d("BumperApp", "failed to create directory"); return null; } } // Create a media file name String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); File mediaFile; if (type == MEDIA_TYPE_IMAGE){ mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_"+ timeStamp + ".jpg"); } else if(type == MEDIA_TYPE_VIDEO) { mediaFile = new File(mediaStorageDir.getPath() + File.separator + "VID_"+ timeStamp + ".mp4"); } else { return null; } return mediaFile; } private void getAlbum(){ File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "BumperApp"); if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ Log.d("BumperApp", "failed to create directory"); return; } } if (mediaStorageDir.isDirectory()) { listFile = mediaStorageDir.listFiles(); listFileCount = listFile.length; } } }