Как записать данные в тег NFC Smart Poster в Android - PullRequest
2 голосов
/ 15 февраля 2012

Меня попросили записать следующие данные в тег смарт-постера.

1) URL-адрес предложения скидки 2) Значение счетчика (например, предложение для первых 200 записей)

Как программно записать эту информацию в смарт-постер?

Это что-то, что можно записать как пары ключ / значение?

Любые указатели на пример кода могут мне сильно помочь?

Заранее спасибо.

1 Ответ

1 голос
/ 08 ноября 2012

Думаю, что требования 1) и 2), это два разных уровня.Req.1) находится на уровне программирования Android / NFC, используя TNF_WELL_KNOWN и RTD-SMART_POSTER (так как это URL, использование RTD_URI работает правильно).

вот некоторый код:

    private NdefRecord createRecord(String text)
        throws UnsupportedEncodingException {

    //Intent intent = getIntent();
    //EditText editTextWeb = (EditText)
    EditText editText = (EditText) findViewById(R.id.editTextWeblinks);
    String webLink = editText.getText().toString();
    byte[] uriField = webLink.getBytes(Charset.forName("US-ASCII"));
    byte[] payload = new byte[uriField.length + 1];              //1 =URIPrefix
    payload[0] = 0x01;                                      //http://www. to the URI
    System.arraycopy(uriField, 0, payload, 1, uriField.length);  //appends URI to payload
    NdefRecord rtdUriRecord = new NdefRecord(
        NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte[0], payload);

    return rtdUriRecord;
}

По требованию2 у нас есть сложная часть.с помощью API Android / NFC вы можете идентифицировать каждый тег, который вы пишете, но вы не можете добавить своего рода логику счетчика программ в тег NF, эту функцию необходимо выполнять во внешнем приложении (назовите его на Android, ПК, Mac, пользовательскомустройства и т.Простой способ сделать это: создать простое приложение на компьютерах кассиров для сканирования штрих-кода (загруженного изображения) и написать счетчик с этим событием.

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...