Я только что начал приложение NFC и пытался писать и удалять содержание, основанное на действии пользователя. У меня мало вещей, которые я не могу понять.Смутно о размере тега 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;
}
Вы уверены, что у вас есть теги NFC, которые доступны для записи? – Robert
Как вы подтвердили, что данные в вашем коде должны вписываться в тег? Вы определили 6 записей, каждый из которых имеет собственный заголовок в соответствии с выбранным типом записи и типом MIME. Для этого необходимы дополнительные данные, которые вы хотите сохранить. Вы перекрестно проверили определение заголовка в спецификациях NDEF? См .: [link] (http://www.nfc-forum.org/specs/), например. NFCForum-TS-RTD_1.0 и NFCForum-TS-NDEF_1.0 – corvairjo
@Robert Ya, доступный для записи. Я могу сказать, что coz, если я вставляю несколько данных, то это отражается в теге, и когда я читаю тег, я получаю данные, которые я вставил – Android