FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
Java code in WinDev Procedure
Java code in WinDev Procedure
Débuté par Marco, 09 mar. 2017 14:39 - Aucune réponse
Connectez-vous…
Marco
#1
Posté le 09 mars 2017 - 14:39
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!
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte