基础Java,如何声明这些Android功能

时间:2011-10-08 21:27:49

标签: java android nfc

我有一些文档没有任何直观的例子

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 个答案:

答案 0 :(得分:2)

首先,您必须创建一个实现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()); 

答案 1 :(得分:0)

根据文档,您可以这样做:

NfcV object = NfcV.get(myTag)

此外,根据您提供的文档,myTag没有public构造函数(这就是为什么您会收到错误消息,说明它可能是privateprotected):

发现标记时,会创建一个Tag对象,并通过startActivity(Intent)通过Intent中的EXTRA_TAG extra传递给单个活动。

答案 2 :(得分:0)

当您在支持NFC的Android设备附近持有符合ISO15693标准时,Android系统会创建一个意图。此意图将包含标记的句柄。当您的应用收到意图时,它可以从那里检索它。有关如何在您的应用中接收NFC意图的详细解释,请参阅http://developer.android.com/guide/topics/nfc/nfc.html#filtering-intents

在接收NFC意图的活动中,您可以像这样访问NfcV:

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcV nfcV = NfcV.get(tag);
if (nfcV != null) {
  ...
}