1

我刚刚启动我的 NFC 应用程序并尝试根据用户操作写入读取和删除内容。我有一些我无法理解的事情。

关于尺寸

我有我写了一些数据的标签。但是当我试图在同一个标​​签上再次写入相同数量的数据时,我无法写入它。它给出的尺寸大于最大容量。是否有一些方法,因为它的大小更大,或者有其他方法来减小大小。

关于擦除数据

我还想删除我在标签上写过的数据。有什么方法可以擦除数据,或者我需要像我写数据的方式写空字符串。

任何机构都可以帮助我。下面是我写数据的代码

private boolean writeTag(Tag tag) 
    {
        NdefMessage message = new NdefMessage(createNdefRecords());
        try
        {
            // see if tag is already NDEF formatted
            Ndef ndef = Ndef.get(tag);
            if (ndef != null) 
            {
                ndef.connect();
                if (!ndef.isWritable())
                {
                    displayMessage("Read-only tag.");
                    return false;
                }

                // work out how much space we need for the data
                int size = message.toByteArray().length;
                if (ndef.getMaxSize() < size) 
                {
                    displayMessage("Tag doesn't have enough free space.");
                    return false;
                }

                ndef.writeNdefMessage(message);
                displayMessage("Tag written successfully.");
                return true;
            } 
        } 
        catch (Exception e)
        {
            displayMessage("Failed to write tag");
        }

        return false;
    }

private void addTempData()
    {
        data.add("10");
        data.add("1");
        data.add("1");
        data.add("245");
        data.add("40238");
        data.add("0");  

    }

    public NdefRecord[] createNdefRecords()
    {
        NdefRecord[] ndefRecords = new NdefRecord[data.size()];
        for(int i=0; i < data.size(); i++)
        {
            NdefRecord record  = getNdefRecord(data.get(i));
            ndefRecords[i] = record;
        }

        return ndefRecords;
    }

    private NdefRecord getNdefRecord(String data)
    {
        NdefRecord record = new NdefRecord(NdefRecord.TNF_EXTERNAL_TYPE, MimeType.TYPE.substring(1).getBytes(), new byte[] {}, data.getBytes());

        return record;
    }
4

1 回答 1

-1

看这个。写标签

这是我的 NFC 库。如果需要,您可以使用它。:)

NFC 包装器

于 2013-08-29T17:08:30.977 回答