首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android开发笔记(一百六十一)NFC近场通信

NFC的全称是“Near Field Communication”,意思是近场通信、与邻近的区域通信。大众所熟知的NFC技术应用,主要是智能手机的刷卡支付功能。别看智能手机是近十年前才出现的,NFC的历史可比智能手机要悠久得多,它脱胎于上世纪的RFID无线射频识别技术。 所谓RFID是“Radio Frequency Identification”的缩写,它通过无线电信号便可识别特定目标并读写数据,而无需自身与该目标之间建立任何机械或者光学接触。像日常生活中的门禁卡、公交卡,乃至二代身份证,都是采用了RFID技术的卡片。若想读写这些RFID卡片,则需相应的读卡器,只要用户把卡片靠近,读卡器就会产生感应动作。 既然RFID已经广泛使用,那么何苦又要另外制定NFC标准呢?其实正是因为RFID用的地方太多了,导致随意性较大,反而不便于更好地管控。所以业界重新定义了NFC规范,试图在两个方面弥补RFID的固有缺憾: 1、RFID的信号传播距离较远,致使位于远处的设备也可能获取卡片信息,这对安全性较高的场合是不可接受的。而NFC的有效工作距离在十厘米之内,即可避免卡片信息被窃取的风险。 2、RFID的读写操作是单向的,也就是说,只有读卡器能读写卡片,卡片不能拿读卡器怎么样。现在NFC不再沿用“读卡器——卡片”的模式,取而代之的是只有NFC设备的概念,两个NFC设备允许互相读写,既可以由设备A读写设备B,也可以由设备B读写设备A。 改进之后的NFC技术既提高了安全性,又拓宽了应用场合,同时还兼容现有的大部分RFID卡片,因此在智能手机上运用NFC而非RFID也就不足为怪了。 带有NFC功能的手机,在实际生活中主要有三项应用:读卡、写卡、分享内容(两部手机之间传输数据)。为了能更迅速地了解NFC技术在Android中的开发流程,下面通过相对简单的读卡功能,来介绍如何进行手机App的NFC开发。 首先App工程要在AndroidManifest.xml中声明NFC的操作权限,下面是配置声明的例子:

02

【随笔】android开发的学习路线

第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环。  2.String和StringBuffer的使用、正则表达式。  3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。  4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。  5.Java异常处理,异常的机制原理。  6.常用的设计模式:Singleton、Template、Strategy模式。  7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。  8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。  9.Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。  10.Java高级特性:反射、代理和泛型。  11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。  12.Socket网络编程。

04

【专家答疑】疯狂的Android

Android系统就是一个开放式的移动互联网操作系统,Android已经成为应用最广的移动互联网平台,对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功,Java EE平台发展得非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面,Android是一个非常优秀的手机、平板电脑操作系统,正不断蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。

02

直播、NFC、分包加载……小程序这两次新能力,有哪些开发者们可以玩的东西?

小程序释放的能力一波接一波,对于开发者而言,真的是高潮一波接一波,微信已经越来越像一个移动端的操作系统。 如今,理论上来说,基于微信几乎可以完成所有想完成的开发任务。 我们来看看,在这两次的小程序更新中,重头的几个功能分别有哪些可「一展拳脚」的地方。 一、小程序直播的春天 对于符合类目的小程序,可以直接使用小程序“音视频录制组件”和“音视频播放组件”实现单向或双向的音视频服务。这是妥妥的直播开放的势头。 目前开放的类目有:社交、教育、医疗、政务民生、金融这五大类目,但是这里的大部分是需要证件与资质,好在

05

Android 2.0 --- 2.3 API变更概要:

Android 2.0 API变更概要:  1、Bluetooth   · 开启关闭蓝牙   · 设备和服务发现   · 使用 RFCOMM连接一个可插拔的设备收发数据   · 公布RFCOMM 服务和监听接收 RFCOMM 连接  2、Sync adapters   · 新的APIs, 同步桥接器连接任何backend  3、Account Manager   · 集中的帐户管理器 API ,安全的储存和使用可信的tokens/passwords  4、Contacts   · 新的通信APIs 允许获取多个账户的数据.   · 新的快速通信framework APIs 允许开发者在他们的应用中创建通信标记, 一键点击标记打开一个新的窗口展示一个如何联系当前人的列表.  5、WebView   · 不赞成使用的类: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.  6、Camera   · 颜色模式, 场景模式 闪光模式, 焦点模式, 白平衡 旋转和其他设置的新的特征.   · 当缩放级别改变的时候,会回调新的缩放回调接口.  7、Media   · MediaScanner现在为所有图片生成缩微图when they are inserted into MediaStore.   · 新的缩微图 API : 检索需要的图片和视频的缩微图.  8、Other Framework   · android.R.style 中新的系统主题,能够更加简单的显示当前acitivities的系统壁纸或者保持之前的activity在后台.新的壁纸管理器API 取代并且增加了wallpaper APIs ,我们可以允许我们的应用要求设置系统壁纸.   · 新的Service APIs帮助应用准确的处理Service 生命周期 ,在指定的低内存状态下service将会被关闭.   o Service.setForeground() 不推荐使用,并且现在这个方法并没有实际执行. .他被一个新的API所取代, startForeground(), that helps (and requires) associating an ongoing notification with the foreground state.   · MotionEvent 如果设备允许的话,MotionEvent 会返回多点触摸信息.最多可同时获取3点   · KeyEvent 现在有了新的按键发送 APIs,去帮助实现 action-on-up 和长按键行为, 一个新的机制取消按键 (虚拟按键).   · WindowManager.LayoutParams 现在有了新的常量允许窗口能够在被锁或者其他的状况中唤醒屏幕,这个允许程序能够让例如闹钟等的应用实现唤醒设备.     ·New Intent APIs 广播设备的对接状态,当这个设备放在桌面或者停车场,允许程序启动特殊的activity.  9、Key events executed on key-up   Android 2.0能够使用虚拟按键HOME, MENU, BACK和SEARCH,而非物理按键,为了让用户在他们的设备中获得最好的用户体验,android平台现在把这些按键执行加入到了key-up,做了 key-down/key-up 配对,而非只有key-down.,这有助于防止意外按钮事件,并让使用者按下按钮区域,然后拖动而不生成一个事件出来。   这种改变只会影响你的应用程序一点,如果它是拦截按钮事件,最好用key-down,而不是key-up.。特例,如果您的应用程序拦截BACK 键,你应该确保你的应用妥善处理按键事件。 Android 2.0.1 API变更概要:   · 新的快速联系人标记风格(quickContactBadgeStyle)* 属性,让应用的QuickContactBadge 组件接收必要的风格.   · 当在manifest里面宣布了filter,取消了支持 ACTION_CONFIGURATION_CHANGED 广播 ,如果想要去接收这个广播, 这个应用必须注册 registerReceiver(BroadcastReceiver, IntentFilter).   性能上的改变:     1、Bluetooth   改变了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值   · ACTION_REQUEST_ENABLE 如果蓝牙是成功开启的,现

04
领券