Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.example.cam;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.content.Intent;
- import android.database.Cursor;
- import android.graphics.Bitmap;
- import android.graphics.Bitmap.CompressFormat;
- import android.graphics.BitmapFactory;
- import android.net.Uri;
- import android.os.Bundle;
- import android.os.Environment;
- import android.provider.MediaStore;
- import android.support.v4.widget.SimpleCursorAdapter;
- import android.util.Log;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.Button;
- import android.widget.ListView;
- import android.widget.TextView;
- import android.widget.Toast;
- @SuppressLint("SimpleDateFormat")
- public class AddImages extends Activity {
- private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
- private Uri fileUri;
- public static final int MEDIA_TYPE_IMAGE = 1;
- final DBAdapter db = new DBAdapter(this);
- String fileName;
- File SDCardRoot = Environment.getExternalStorageDirectory();
- File dir = new File(SDCardRoot+"/myApp/");
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- public void onResume() {
- super.onResume();
- setContentView(R.layout.add_image);
- Log.v("onResume", "started back on resume");
- db.open();
- Bundle postVals = getIntent().getExtras();
- String tid = postVals.getString("tid");
- final Cursor c = db.getTicketImages(tid);
- if(c.getCount() > 0) {
- String[] cols = new String[] {DBAdapter.KEY_FILENAME,DBAdapter.KEY_TRANSACTION_DATETIME};
- int[] values = new int[] {R.id.thumbnail,R.id.datetime_stamp};
- SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.image_listview, c, cols, values, 0);
- ListView listView = (ListView) findViewById(android.R.id.list);
- listView.setAdapter(cursorAdapter);
- listView.setOnItemClickListener(new OnItemClickListener() {
- // OnClick Listener for ListView
- @Override
- public void onItemClick(AdapterView<?> listView, View view, int position, long id) {
- String row = c.getString(c.getColumnIndexOrThrow(DBAdapter.KEY_ID)); // row ID from transactions
- Toast.makeText(getBaseContext(), row, Toast.LENGTH_SHORT).show();
- }
- });
- } else {
- // Display Camera image
- }
- Button add_images = (Button)findViewById(R.id.add_more_images);
- add_images.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- String time_stamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); // For image name
- db.open();
- Cursor c = db.getUIDCID();
- String uid = null;
- String cid = null;
- if(c.moveToFirst()) {
- uid = c.getString(c.getColumnIndex(DBAdapter.KEY_UID));
- cid = c.getString(c.getColumnIndex(DBAdapter.KEY_CID));
- }
- fileName = cid + uid + time_stamp + ".jpg";
- db.close();
- 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
- startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
- }
- });
- }
- private Uri getOutputMediaFileUri(int type) {
- return Uri.fromFile(getOutputMediaFile(type));
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode == RESULT_OK) {
- File file=new File(Environment.getExternalStorageDirectory(), "/myApp/"+fileName);
- long file_size = file.length();
- file_size = file_size/1024;
- String fileSize = Long.valueOf(file_size).toString();
- Bundle postVals = getIntent().getExtras();
- String tid = postVals.getString("tid");
- String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
- db.open();
- Cursor c = db.getUIDCID();
- String uid = null;
- String cid = null;
- if(c.moveToFirst()) {
- uid = c.getString(c.getColumnIndex(DBAdapter.KEY_UID));
- cid = c.getString(c.getColumnIndex(DBAdapter.KEY_CID));
- }
- db.insertTicketTransaction(tid, cid, uid, "3", "I01", now, fileName, fileSize, "0");
- db.close();
- try {
- Bitmap bitmap = null;
- try {
- bitmap = BitmapFactory.decodeStream(new FileInputStream(file));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- FileOutputStream outputStream = new FileOutputStream(dir + "/thumb_" + fileName);
- bitmap.compress(CompressFormat.JPEG, 2, outputStream);
- outputStream.flush();
- outputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else {
- Log.v("Image Result", "No image taken");
- }
- }
- private File getOutputMediaFile(int type){
- // Create the directory if it does not exist
- if (!dir.exists()){
- if (!dir.mkdirs()){
- // Error catching
- Log.d("dir create", "failed to create directory");
- return null;
- }
- }
- File photo;
- if (type == MEDIA_TYPE_IMAGE){
- photo = new File(dir.getPath() + File.separator + fileName);
- } else {
- return null;
- }
- return photo;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement