GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV Mobile 2024
→
Java code in WinDev Procedure
Java code in WinDev Procedure
Iniciado por Marco, mar., 09 2017 2:39 PM - Sem resposta
Conecte-se…
Marco
#1
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!
Denunciar
0
0
→ Voltar para WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (versões anteriores)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto