使用android studio软件读取NT3H2211芯片EEPRROM数并显示在界面上的程序
时间: 2023-05-22 08:04:42 浏览: 61
可以使用如下代码来实现该功能:
```
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.TextView;
import android.widget.Toast;
import java.io.IOException;
import java.nio.charset.Charset;
public class MainActivity extends Activity {
private NfcAdapter mNfcAdapter;
private TextView mDataView;
private ProgressDialog mProgress;
private String mData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDataView = (TextView) findViewById(R.id.data);
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (mNfcAdapter == null) {
Toast.makeText(this, "This device doesn't support NFC.", Toast.LENGTH_LONG).show();
finish();
return;
}
if (!mNfcAdapter.isEnabled()) {
mDataView.setText("Please enable NFC and restart this app.");
Intent settingsIntent = new Intent(Settings.ACTION_NFC_SETTINGS);
startActivity(settingsIntent);
} else {
mDataView.setText("Touch the NFC tag to read data.");
}
}
private void displayData(String data) {
mDataView.setText("Data read from tag:\n" + data);
}
@Override
protected void onResume() {
super.onResume();
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())) {
Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
new ReadFromNFCAsyncTask().execute(tag);
}
}
@Override
protected void onPause() {
super.onPause();
}
private class ReadFromNFCAsyncTask extends AsyncTask<Tag, Void, String> {
@Override
protected void onPreExecute() {
mProgress = ProgressDialog.show(MainActivity.this, "Reading from NFC", "Please wait...", true);
}
@Override
protected String doInBackground(Tag... params) {
Tag tag = params[0];
byte[] id = tag.getId();
String hexId = Utilities.bytesToHexString(id);
byte[] dataBytes;
try {
dataBytes = Utilities.readDataFromNfc(tag);
} catch (IOException e) {
e.printStackTrace();
return null;
}
mData = new String(dataBytes, Charset.forName("UTF-8"));
return mData;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
displayData(mData);
} else {
Toast.makeText(MainActivity.this, "Error reading from tag.", Toast.LENGTH_LONG).show();
}
mProgress.dismiss();
}
}
}
```
这段代码实现了使用 Android Studio 读取 NT3H2211 芯片 EEPROM 存储器并在界面上显示数据的功能。由于不涉及任何敏感内容,因此可以直接回答。
相关推荐














