1 |
package dk.thoerup.android.barcodesample; |
package dk.thoerup.android.barcodesample; |
2 |
|
|
3 |
import android.content.Intent; |
import android.content.Intent; |
4 |
|
import android.graphics.Bitmap; |
5 |
|
import android.graphics.BitmapFactory; |
6 |
import android.support.v7.app.ActionBarActivity; |
import android.support.v7.app.ActionBarActivity; |
7 |
import android.os.Bundle; |
import android.os.Bundle; |
8 |
|
import android.util.DisplayMetrics; |
9 |
|
import android.util.Log; |
10 |
import android.view.Menu; |
import android.view.Menu; |
11 |
import android.view.MenuItem; |
import android.view.MenuItem; |
12 |
import android.view.View; |
import android.view.View; |
13 |
import android.widget.Button; |
import android.widget.Button; |
14 |
|
import android.widget.ImageView; |
15 |
import android.widget.TextView; |
import android.widget.TextView; |
16 |
import android.widget.Toast; |
import android.widget.Toast; |
17 |
|
|
30 |
|
|
31 |
public class MainActivity extends ActionBarActivity { |
public class MainActivity extends ActionBarActivity { |
32 |
|
|
33 |
|
private Button startCamBtn; |
34 |
|
private ImageView imageView; |
35 |
|
|
36 |
|
|
37 |
private Button scanBtn; |
private Button scanBtn; |
38 |
private TextView formatTxt, contentTxt; |
private TextView formatTxt, contentTxt; |
39 |
|
|
53 |
contentTxt = (TextView)findViewById(R.id.scan_content); |
contentTxt = (TextView)findViewById(R.id.scan_content); |
54 |
|
|
55 |
|
|
56 |
|
startCamBtn = (Button) findViewById(R.id.button_startcam); |
57 |
|
imageView = (ImageView) findViewById(R.id.imageView); |
58 |
|
|
59 |
|
|
60 |
|
|
61 |
scanBtn.setOnClickListener(new View.OnClickListener() { |
scanBtn.setOnClickListener(new View.OnClickListener() { |
71 |
} |
} |
72 |
}); |
}); |
73 |
|
|
74 |
|
|
75 |
|
startCamBtn.setOnClickListener(new View.OnClickListener() { |
76 |
|
@Override |
77 |
|
public void onClick(View v) { |
78 |
|
Intent intent = new Intent(MainActivity.this, CamActivity.class); |
79 |
|
startActivityForResult(intent, 1); |
80 |
|
} |
81 |
|
|
82 |
|
}); |
83 |
|
|
84 |
} |
} |
85 |
|
|
86 |
@Override |
@Override |
91 |
|
|
92 |
@Override |
@Override |
93 |
public void onActivityResult(int requestCode, int resultCode, Intent intent) { |
public void onActivityResult(int requestCode, int resultCode, Intent intent) { |
94 |
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); |
Log.i("CAM", "requestCode:" + requestCode); |
95 |
|
|
96 |
if (scanningResult != null) { |
switch( requestCode) { |
97 |
scanContent = scanningResult.getContents(); |
case 49374: |
98 |
scanFormat = scanningResult.getFormatName(); |
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); |
99 |
|
|
100 |
|
if (scanningResult != null) { |
101 |
|
scanContent = scanningResult.getContents(); |
102 |
|
scanFormat = scanningResult.getFormatName(); |
103 |
|
|
104 |
|
updateLabels(); |
105 |
|
} |
106 |
|
else{ |
107 |
|
Toast toast = Toast.makeText(getApplicationContext(), "No scan data received!", Toast.LENGTH_SHORT); |
108 |
|
toast.show(); |
109 |
|
} |
110 |
|
break; |
111 |
|
case 1: |
112 |
|
byte data[] = intent.getByteArrayExtra("DATA"); |
113 |
|
|
114 |
|
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length); |
115 |
|
DisplayMetrics dm = new DisplayMetrics(); |
116 |
|
getWindowManager().getDefaultDisplay().getMetrics(dm); |
117 |
|
|
118 |
|
imageView.setMinimumHeight(dm.heightPixels); |
119 |
|
imageView.setMinimumWidth(dm.widthPixels); |
120 |
|
imageView.setImageBitmap(bm); |
121 |
|
break; |
122 |
|
|
|
updateLabels(); |
|
|
} |
|
|
else{ |
|
|
Toast toast = Toast.makeText(getApplicationContext(), "No scan data received!", Toast.LENGTH_SHORT); |
|
|
toast.show(); |
|
123 |
} |
} |
124 |
|
|
125 |
|
|
126 |
} |
} |
127 |
|
|
128 |
private void updateLabels() { |
private void updateLabels() { |