windowsxampp打包
XAMPP是一种流行的Web服务器解决方案,它可以在Windows,Linux和Mac OS X上运行。它包含Apache Web服务器,MySQL数据库,PHP编程语言以及其他常用的Web开发工具。在开发和测试Web应用程序时,XAMPP是一个非常方便的解决方案。在本文中,我们将详细介绍如何将XA...
2023-11-14 围观 : 2次
NFC(Near Field Communication,近场通讯)是一种无线通讯技术,它允许两个设备之间相距不超过4 厘米的短距离通讯,工作频率为13.56 MHz。目前市面上很多手机都支持NFC。
Android系统支持NFC芯片的读写操作,下面我们来看看NFC的工作原理和如何在Android系统中进行NFC开发。
1. NFC的基础工作原理
NFC采用电磁感应技术进行数据传输,通过一个被动的NFC标签在一定范围内与主动设备进行通讯。
相对于蓝牙和WiFi,NFC的传输距离比较短,但是它的传输速度较快,且可以省去蓝牙、WiFi等通讯协议的配对过程,使得设备之间的连接更加简单快捷。
NFC的基本工作原理如下:
(1)NFC设备通过电磁感应,匹配一定距离内的相互连接。
(2)当NFC设备接触到一块被动的NFC标签时,它会感应到标签所发出的电磁信号。
(3)NFC设备与标签之间通过无线电波交互数据。
(4)完成数据传输后,NFC设备断开与标签的连接。
2. Android系统中的NFC开发
Android系统从4.0版本开始,在API Level 14中引入了对NFC的支持,这使得开发者可以通过Android系统来读写NFC标签,实现NFC设备与服务器的数据交互等功能。
下面为大家介绍Android系统中的NFC开发流程:
(1)获取NFC模块的使用权限
在AndroidManifest.xml文件中添加以下代码,以获取NFC模块的使用权限:
```xml
```
(2)注册NFC标签监视器
使用PendingIntent和IntentFilter来注册NFC标签监视器:
```java
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
IntentFilter[] intentFiltersArray = new IntentFilter[] { new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED), new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED), new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED) };
mNfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFiltersArray, null);
```
(3)处理NFC标签数据
当NFC标签被读取时,onNewIntent()方法会被自动调用,返回Intent对象。我们可以在该方法中编写处理NFC标签数据的代码。
```java
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//处理NFC标签数据
}
```
(4)写入NFC标签数据
要将数据写入NFC标签,我们需要先将数据封装在NDEF消息中,然后再将NDEF消息写入NFC标签。
```java
NdefMessage message = new NdefMessage(new NdefRecord[] { createTextRecord("Hello, NFC") });
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
ndef.connect();
if (ndef.isWritable()) {
ndef.writeNdefMessage(message);
}
ndef.close();
}
private NdefRecord createTextRecord(String payload) {
byte[] langBytes = Locale.CHINA.getLanguage().getBytes(Charset.forName("US-ASCII"));
Charset utfEncoding = Charset.forName("UTF-8");
byte[] textBytes = payload.getBytes(utfEncoding);
int utfBit = 0;
char status = (char) (utfBit + langBytes.length);
byte[] data = new byte[1 + langBytes.length + textBytes.length];
data[0] = (byte) status;
System.arraycopy(langBytes, 0, data, 1, langBytes.length);
System.arraycopy(textBytes, 0, data, 1 + langBytes.length, textBytes.length);
return new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, new byte[0], data);
}
```
以上就是在Android系统中进行NFC开发的基本流程。在实际使用中,我们可以利用NFC技术来实现门禁、支付、智能标签等各种应用。
XAMPP是一种流行的Web服务器解决方案,它可以在Windows,Linux和Mac OS X上运行。它包含Apache Web服务器,MySQL数据库,PHP编程语言以及其他常用的Web开发工具。在开发和测试Web应用程序时,XAMPP是一个非常方便的解决方案。在本文中,我们将详细介绍如何将XA...
web转apkAPP是可以上架appstore的,只要APP的内容符合市场审核标准,都是可以成功上架appstore的;一门也提供APPstore全流程上架服务,从苹果开发者账号协助认证,APP打包开发,证书制作,提交appstore审核,被拒解决方案,一门提供全程增值服务...
Figma是一款强大的在线协作设计工具,可以帮助设计师和开发人员在同一个平台上进行协作。而在安卓开发中,Figma也占据了重要的地位。一、 Figma在安卓开发中的作用在安卓开发中,Figma能够帮助我们完成以下任务:1. 制作原型:在Figma中,我们可以轻松地创建原型,包括各种交互和动画效果。制...
在移动互联网时代,App已成为人们生活中不可或缺的一部分。在这样的背景下,越来越多的人关注起了Web应用是否可以打包成一个安卓App,以免用户需要在手机上安装浏览器,打开网页。事实上,我们可以通过将Web应用打包成一个安卓App来解决这个痛点问题。这里介绍两种常用的打包方式:## 1. 使用Andr...
做一个app或者网站需要的费用因项目的复杂程度而异,但总体上,需要考虑到以下几个因素:1. 设计和开发一般来说,设计和开发是构建app或者网站最耗费时间的过程。自己编写代码的时间和费用取决于复杂度和特定业务需求,例如,自己编写一个电商网站的成本可以相对较高,因为需要考虑到计算机硬件以及需要的安全软件...