создание списка и намерение сканера штрих-кода и возврата результата без отображения и отправки данных результатов на веб-сервер - PullRequest
0 голосов
/ 10 мая 2011

Я пытаюсь создать просмотр списка с помощью ресурса, и каждый из них открывает сканер штрих-кода (с использованием интеграции Android) и возвращает результат без отображения и отправляет результат данных на веб-сервер (Кстати, мне удалось отправить данные на веб-сервер в виде текстового файла и хотел бы знать, как получить эти данные из штрих-кода без отображения и отправить результат данных на веб-сервер в виде текстового файла). У меня проблемы с попытками добиться успеха на этом этапе. (устройство Android 1.5, проект 2.2 с SDK 3 с использованием Eclipse)

string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">company</string>
<string-array name="customer_service_group">
<item>Start Trip</item>
<item>Clock In</item>
<item>Customer Svc</item>
<item>Independent Inspection</item>
<item>Pick Up</item>
<item>Log Out</item>
</string-array>
</resources>

MainActivity.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

    String[]Customer;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String[] Customer = getResources().getStringArray(R.array.customer_service_group);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, Customer));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener() {
          public void onItemClick(AdapterView<?> parent, View view,
              int position, long id) {
            // When clicked, show a toast with the TextView text
            Intent i = new Intent("com.merrill.IntentIntegrator");
            startActivityForResult(i, 1);
          }

        });}

    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (requestCode == request_Code) {
            if (resultCode == RESULT_OK) { 
                ------not sure what to put here-----
    }
        }
    }
}

1 Ответ

0 голосов
/ 10 мая 2011

Вот пример кода, который должен начать получать результат от намерения BarcodeScanner:

/*Here is where we come back after the Barcode Scanner is done*/
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            // contents contains whatever the code was
            String contents = intent.getStringExtra("SCAN_RESULT");

            // Format contains the type of code i.e. UPC, EAN, QRCode etc...
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

            // Handle successful scan. In this example I just put the results into the TextView
            resultsTxt.setText(format + "\n" + contents);
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel. If the user presses 'back' before a code is scanned.
            resultsTxt.setText("Canceled");
        }
    }
}

Редактировать: вместо этой строки

resultsTxt.setText(format + "\n" + contents);

измените его, чтобы отправить содержимое на ваш сервер. Если у вас есть метод, настроенный для взаимодействия с вашим сервером, то это будет что-то вроде

sendDataToServer(contents);
...