Базовая Java, как объявить эти функции Android - PullRequest
0 голосов
/ 09 октября 2011

У меня есть документация, в которой нет интуитивно понятных примеров для меня

http://developer.android.com/reference/android/nfc/tech/NfcV.html

http://developer.android.com/reference/android/nfc/Tag.html

Мне нужно объявить объекты типа NfcV и типа Tag, но когда я пытаюсь сделать что-то вроде NfcV myNFCObject = new NfcV();, среда IDE говорит "конструктор NfcV не виден. Поэтому моя следующая попытка выглядела так NfcV myNFCObject = NfcV.getTag(new Tag());, и я получаю ошибку" конструктор Tag () "не видно.

Так вот где я ударился о стену, просто глядя на обе ссылки на документацию, я не вижу, как объявить эти объекты! Как это будет сделано?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 09 октября 2011

Сначала вы должны создать класс, который реализует интерфейс TagTechnology.Тогда вы можете получить тег с ним.

import java.io.IOException;

import android.nfc.Tag; 

public class sampleTagTech implements android.nfc.tech.TagTechnology {

public void close() throws IOException {
    // TODO Auto-generated method stub

}

public void connect() throws IOException {
    // TODO Auto-generated method stub

}

public Tag getTag() {
    // TODO Auto-generated method stub
    return null;
}

public boolean isConnected() {
    // TODO Auto-generated method stub
    return false;
}

}

тогда вы можете использовать как это

NfcV nfcv = NfcV.get(new sampleTag().getTag()); 
0 голосов
/ 12 апреля 2012

Когда вы держите совместимый тег ISO15693 рядом с устройством Android с поддержкой NFC, система Android создает намерение. Это намерение будет содержать дескриптор для тега. Когда ваше приложение получает намерение, оно может получить его оттуда. См. http://developer.android.com/guide/topics/nfc/nfc.html#filtering-intents для хорошего объяснения того, как получать намерения NFC в вашем приложении.

В действии, которое получает намерение NFC, вы можете получить доступ к NfcV следующим образом:

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcV nfcV = NfcV.get(tag);
if (nfcV != null) {
  ...
}
0 голосов
/ 09 октября 2011

Согласно документации вы можете сделать это:

NfcV object = NfcV.get(myTag)

Также нет конструктора public для myTag (поэтому вы получаете сообщение о том, что он не виден, это может быть private или protected) в предоставленной вами документации:

Когда тег обнаружен, объект Tag создается и передается одному действию с помощью дополнительного EXTRA_TAG в Intent через startActivity (Intent).

...