Tretas e Cenas

Tretas e Cenas


Onde escrevo as minhas tretas. Tão depressa estou a escrever sobre algo poético como a seguir escrevo só para não me esquecer.

Julho 2012
S T Q Q S S D
« Jun   Ago »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Categorias


IntentIntegrator do Barcode Scanner – Android

Pedro FonsecaPedro Fonseca

Isto é um memorando para mim mesmo para não me esquecer disto, é importante. Se não programas em Android pára já de ler e não percas tempo com isto, existem coisas mais porreiras para fazer 🙂

Estou a usar no projecto [email protected]IntentIntegrator da ZXing, basicamente permite usar a leitura dos códigos de barras dos produtos, mas precisei de colocar uma referência na chamada deste integrador para conseguir escolher caminhos lógicos consoante a interacção do utilizador.

Pedi ajuda no fórum da aplicação e obtive resposta do Sean Owen, o programador desta aplicação, a sugestão dele foi alterar a classe base, foi o que fiz e foi desta forma.

Criei uma variável privada dentro do IntentIntegrator.java, a seguir à linha 127:

private int request_code;

Depois tive de alterar o construtor desta classe para que permitisse receber um código, linha 134:

public IntentIntegrator(Activity activity,int request_code) {

Por fim alterei o inicio da actividade para levar o código que pretendo e seja recebido no onActivityResult, linha 240:

activity.startActivityForResult(intentScan, this.request_code);

Na actividade que vai receber o resultado do Scan, na onActivityResult terá de estar algo do género:

public void onActivityResult(int requestCode, int resultCode, Intent intent){
            //Novo Preço
            if (requestCode == 0) {
                if (resultCode == RESULT_OK) {
                    [CÓDIGO]
                    String resultado = intent.getStringExtra("SCAN_RESULT");
                }
            }
            if (requestCode == 1) {
                if (resultCode == RESULT_OK) {
                    [CÓDIGO]
                    String resultado = intent.getStringExtra("SCAN_RESULT");
                }
            }
    }

Simples e eficaz 🙂

Sou licenciado em Sistemas de informação na Universidade Lusófona, gosto de tecnologia, programação, desportos radicais, bicicletas e motas. Adoro o Sistema Android e começo a gostar de Linux. E ainda tenho a mania que sei cozinhar.