|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Java code in WinDev Procedure |
Iniciado por diulipton, mar., 09 2017 2:39 PM - 1 resposta |
| |
| | | |
|
| |
Publicado em março, 09 2017 - 2:39 PM |
Hi! I'm new in WinDev Mobile and I'm trying to create an android application on a honeywell device with a barcode scanner. I tried 2 different ways and they work on Android studio, but I don't know how to do them on WinDev Mobile.
One version is the following:
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView; import com.honeywell.scanintent.ScanIntent;
public class MainActivity extends Activity { TextView barcodeData = null;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); barcodeData = (TextView) findViewById(R.id.textView); }
public void onSendButtonClick(View v) { Intent intentScan = new Intent(ScanIntent.SCAN_ACTION); intentScan.addCategory(Intent.CATEGORY_DEFAULT);
intentScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intentScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
int loadmode = 0;
intentScan.putExtra("scan_mode", ScanIntent.SCAN_MODE_RESULT_AS_URI); this.startActivityForResult(intentScan, 5); }
@Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (resultCode == ScanIntent.SCAN_RESULT_SUCCESSED) { String data = intent .getStringExtra(ScanIntent.EXTRA_RESULT_BARCODE_DATA); int format = intent.getIntExtra( ScanIntent.EXTRA_RESULT_BARCODE_FORMAT, 0); barcodeData.setText(data); } else{ barcodeData.setText("FALLITO"); } } }
And the other one is this:
import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.RemoteException; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.TextView;
import java.io.IOException;
import com.honeywell.decodemanager.DecodeManager; import com.honeywell.decodemanager.SymbologyConfigs; import com.honeywell.decodemanager.barcode.DecodeResult; import com.honeywell.decodemanager.symbologyconfig.SymbologyConfigCode39;
public final class MainActivity extends Activity {
private final int ID_SCANSETTING = 0x12; private final int ID_CLEAR_SCREEN = 0x13; private final int SCANKEY = 0x94; private DecodeManager mDecodeManager = null; private TextView mDecodeResultEdit = null; private final int SCANTIMEOUT = 2000; long mScanAccount = 0; private boolean mbKeyDown = true;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button); mDecodeResultEdit = (TextView) findViewById(R.id.textView); button.setOnTouchListener(new Button.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub final int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: try { if (mbKeyDown) { DoScan(); mbKeyDown = false; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
break; case MotionEvent.ACTION_UP: try { mbKeyDown = true; cancleScan(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } break; } return true; } }); } private void DoScan() throws Exception { try { mDecodeManager.doDecode(SCANTIMEOUT); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Override protected void onResume() { super.onResume();
if (mDecodeManager == null) { mDecodeManager = new DecodeManager(this ,ScanResultHandler); } }
@Override protected void onPause() { super.onPause();
if (mDecodeManager != null) { try { mDecodeManager.release(); mDecodeManager = null; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
@Override public void onDestroy() { super.onDestroy(); }
private Handler ScanResultHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case DecodeManager.MESSAGE_DECODER_COMPLETE: String strDecodeResult = ""; DecodeResult decodeResult = (DecodeResult) msg.obj; strDecodeResult = "Decode Result::"+ decodeResult.barcodeData;
mDecodeResultEdit.setText(strDecodeResult); break;
case DecodeManager.MESSAGE_DECODER_FAIL: mDecodeResultEdit.setText("FAILED"); break;
case DecodeManager.MESSAGE_DECODER_READY: { try { SymbologyConfigCode39 code39 = new SymbologyConfigCode39(); code39.enableCheckEnable(false); code39.enableSymbology(false); code39.setMaxLength(48); code39.setMinLength(2);
SymbologyConfigs symconfig = new SymbologyConfigs();
symconfig.addSymbologyConfig(code39); mDecodeManager.setSymbologyConfigs(symconfig);
} catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } break;
default: super.handleMessage(msg); break; } } };
private void cancleScan() throws Exception { mDecodeManager.cancelDecode(); } }
On WinDev I created a GLOBAL JAVA PROCEDURE and I generate the application importing the honeywell library, but I don't understand how to implement the android native functions. How can I do this?
Thank you so much! |
| |
| |
| | | |
|
| | |
| |
Membro registado 6 mensagems |
|
Publicado em novembro, 14 2019 - 7:06 AM |
Hello Marko
Any chance you got this working?
-- Regards, Thysie |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|