QRCodeDecode.java :  » UnTagged » itm08-androidqr » at » fhj » itm » Android Open Source

Android Open Source » UnTagged » itm08 androidqr 
itm08 androidqr » at » fhj » itm » QRCodeDecode.java
/**
 * @author Alfort Robert - Kckinger Martin
 * This Class handles de Decode functions
 * @version 2.1
 */

package at.fhj.itm;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.hardware.Camera;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.text.util.Linkify;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

/** Call when Activity Decode is active */
public class QRCodeDecode extends Activity {

  public Button decodeCamera; /** Creating a Button for decoding from Camera */
  public Button decodeFile; /** Creating a Button for decoding from File */
  public static TextView txtOutPut; /** Creating a TextView for output */
  public Camera camera; /** Creating a Camera object */

  /**
   * On Create sets basic Information
   */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.decode); /** ContentView is set to Main layout */

    Log.i("Startup:", "Starting Decoder Instance");

    /**
     * Defining Buttons by ID of a special layout
     */
    decodeCamera = (Button) findViewById(R.id.button_camera);
    decodeFile = (Button) findViewById(R.id.button_file);
    txtOutPut = (TextView) findViewById(R.id.outPutText);
    txtOutPut.setAutoLinkMask(1); /** setAutoLinkMask to true
    /*
     * Set Linkify on (Makes links, call redirection...)
     * @see android.text.util.Linkify
     */
    Linkify.addLinks(txtOutPut, Linkify.ALL | Linkify.EMAIL_ADDRESSES
        | Linkify.PHONE_NUMBERS);

    Log.i("Initial", "Creating Clicklisteners");
    
    /**
     * Creating deocde from Camera Listener
     * @see at.fhj.itm.CameraView.class
     * @see android.app.Activity;
     * @see android.content.Intent;
     */
    decodeCamera.setOnClickListener(new OnClickListener() {
      public void onClick(View arg0) {

        startActivity(new Intent(getApplicationContext(),
            CameraPreview.class));
//        startActivity(new Intent(getApplicationContext(),
//            CameraView.class));
      }
    });

    /**
     * Creating deocde from File Listener
     * @see at.fhj.itm.CameraView.class
     * @see at.fhj.itm.QRCodeDecode.doLaunchImagePicker(View view)
     */
    decodeFile.setOnClickListener(new OnClickListener() {
      public void onClick(View arg0) {
        doLaunchImagePicker(arg0);
      }
    });
  }

  /**
   * Creating Fileexplorer "App"
   * @param view
   */
  public void doLaunchImagePicker(View view) {

    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"),
        1);
  }

  /**
   * This function gives us the chance to handle some Data
   * @see at.fhj.itm.QRDecoder.class
   */
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
      Uri selectedImage = data.getData();
      String[] filePathColumn = { MediaStore.Images.Media.DATA };

      Cursor cursor = getContentResolver().query(selectedImage,
          filePathColumn, null, null, null);
      cursor.moveToFirst();

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
      String filePath = cursor.getString(columnIndex);
      cursor.close();

      
      QRDecoder qrd = new QRDecoder();
      qrd.execute(filePath);
      Log.i("FilePath:", filePath);
    }

  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.