MainActivity.java 3.84 KB
package fi.codecrew.androidbarcode;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
	private static String URL = "http://lantrek.moya.fi/MoyaWeb/shop/rfidListener.jsf";

	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		if (android.os.Build.VERSION.SDK_INT > 9) {
		    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
			StrictMode.setThreadPolicy(policy);
		}
		
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);


		EditText readedCode = (EditText) findViewById(R.id.readedCode);
		readedCode.requestFocus();

		EditText readerName = (EditText) findViewById(R.id.readerName);
		readerName.setText(getReaderName());
		TextView successText = (TextView) findViewById(R.id.success_text);
		successText.setVisibility(View.INVISIBLE);
		

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void readBarcode(View view) {
		TextView successText = (TextView) findViewById(R.id.success_text);
		successText.setVisibility(View.INVISIBLE);
		Intent intent = new Intent("com.google.zxing.client.android.SCAN");
		// intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE",
		// "QR_CODE_MODE");
		startActivityForResult(intent, 0);

	}

	public void changeReaderName(View view) {

		EditText readerName = (EditText) findViewById(R.id.readerName);

		SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);

		SharedPreferences.Editor editor = sharedPref.edit();
		
		editor.putString(getString(R.string.shared_pref_readername), readerName.getText().toString());
		editor.commit();

		readerName.clearFocus();
		EditText readedCode = (EditText) findViewById(R.id.readedCode);
		readedCode.requestFocus();
	}

	private String getReaderName() {
		SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
		return sharedPref.getString(getString(R.string.shared_pref_readername), android.os.Build.USER + "_" + android.os.Build.HOST);
	}

	public void onActivityResult(int requestCode, int resultCode, Intent intent) {
		if (requestCode == 0) {
			if (resultCode == RESULT_OK) {
				
				String contents = intent.getStringExtra("SCAN_RESULT");

				EditText readedCode = (EditText) findViewById(R.id.readedCode);
				readedCode.requestFocus();
				readedCode.setText(contents);
				
				
				
				TextView successText = (TextView) findViewById(R.id.success_text);
				
				if(sendBarcode(contents)) {
					
					successText.setVisibility(View.VISIBLE);
				}
				
				Button readBcode = (Button) findViewById(R.id.button1);
				readBcode.requestFocus();

			} else if (resultCode == RESULT_CANCELED) {

			}
		}
	}
	
	private boolean sendBarcode(String barcode) {
		try {
		    HttpClient client = new DefaultHttpClient();  
		    String getUrl = URL + "?tag="+barcode+"&reader="+getReaderName();

		    HttpGet get = new HttpGet(getUrl);
		    HttpResponse responseGet = client.execute(get);  
		    HttpEntity resEntityGet = responseGet.getEntity();  
		    if (resEntityGet != null) {  
		        return true;
		    }
		} catch (Exception e) {
		    e.printStackTrace();
		    throw new RuntimeException(e);
		}
		
		return false;
	}

	
}