/[projects]/android/BarcodeSample/app/src/main/java/dk/thoerup/android/barcodesample/MainActivity.java
ViewVC logotype

Contents of /android/BarcodeSample/app/src/main/java/dk/thoerup/android/barcodesample/MainActivity.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2559 - (show annotations) (download)
Fri May 22 13:26:16 2015 UTC (8 years, 11 months ago) by torben
File size: 5050 byte(s)
Add very basic camera functionality
1 package dk.thoerup.android.barcodesample;
2
3 import android.content.Intent;
4 import android.graphics.Bitmap;
5 import android.graphics.BitmapFactory;
6 import android.support.v7.app.ActionBarActivity;
7 import android.os.Bundle;
8 import android.util.DisplayMetrics;
9 import android.util.Log;
10 import android.view.Menu;
11 import android.view.MenuItem;
12 import android.view.View;
13 import android.widget.Button;
14 import android.widget.ImageView;
15 import android.widget.TextView;
16 import android.widget.Toast;
17
18 import com.google.zxing.integration.android.IntentIntegrator;
19 import com.google.zxing.integration.android.IntentResult;
20
21 /*
22 http://blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner/
23
24 http://code.tutsplus.com/tutorials/android-sdk-create-a-barcode-reader--mobile-17162
25
26
27 http://stackoverflow.com/questions/27851512/how-to-integrate-zxing-library-to-android-studio-for-barcode-scanning
28
29 */
30
31 public class MainActivity extends ActionBarActivity {
32
33 private Button startCamBtn;
34 private ImageView imageView;
35
36
37 private Button scanBtn;
38 private TextView formatTxt, contentTxt;
39
40 //ved rotate bliver activity'en genstartet - så enten skal variablerne gøres static/gemmes på anden vis eller også skal man låse for rotation
41 static String scanContent = "";
42 static String scanFormat = "";
43
44
45
46 @Override
47 protected void onCreate(Bundle savedInstanceState) {
48 super.onCreate(savedInstanceState);
49 setContentView(R.layout.activity_main);
50
51 scanBtn = (Button) findViewById(R.id.button);
52 formatTxt = (TextView)findViewById(R.id.scan_format);
53 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() {
62
63 @Override
64 public void onClick(View v) {
65 /*Intent intent = new Intent("com.google.zxing.client.android.SCAN");
66 intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
67 startActivityForResult(intent, 0);*/
68
69 IntentIntegrator scanIntegrator = new IntentIntegrator(MainActivity.this);
70 scanIntegrator.initiateScan();
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
87 protected void onStart() {
88 super.onStart();
89 updateLabels();
90 }
91
92 @Override
93 public void onActivityResult(int requestCode, int resultCode, Intent intent) {
94 Log.i("CAM", "requestCode:" + requestCode);
95
96 switch( requestCode) {
97 case 49374:
98 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
123 }
124
125
126 }
127
128 private void updateLabels() {
129 formatTxt.setText("FORMAT: " + scanFormat);
130 contentTxt.setText("CONTENT: " + scanContent);
131 }
132
133 @Override
134 public boolean onCreateOptionsMenu(Menu menu) {
135 // Inflate the menu; this adds items to the action bar if it is present.
136 getMenuInflater().inflate(R.menu.menu_main, menu);
137 return true;
138 }
139
140 @Override
141 public boolean onOptionsItemSelected(MenuItem item) {
142 // Handle action bar item clicks here. The action bar will
143 // automatically handle clicks on the Home/Up button, so long
144 // as you specify a parent activity in AndroidManifest.xml.
145 int id = item.getItemId();
146
147 //noinspection SimplifiableIfStatement
148 if (id == R.id.action_settings) {
149 return true;
150 }
151
152 return super.onOptionsItemSelected(item);
153 }
154 }

  ViewVC Help
Powered by ViewVC 1.1.20