AntSoft的Android 团队一直紧随技术前沿,在Budapest University of Technology and Economics培训Android技术已经有8年多的时间。本片文章就翻译自这个公司。原文地址:https://blog.autsoft.hu/discovering-the-android-api-part-1
当前Android已经有了非常多可用的依赖库(Library),但其实Android platform的一些API有些鲜为人知,但非常有用的方法和类,去研究一下这些API是非常有意思的。在这个系列文章中,我们将从不同角度展示一些鲜为人知的Android API,并使用这些API写了demo,开源地址:https://github.com/peekler/GDG
拼写检查
Android从level 14开始有一个检查拼写的API,可以通过 TextServicesManager使用,从level16开始已经可以甚至可以检查一个完整的句子了。
使用方法非常简单,通过 TextServicesManager可以创建SpellCheckerSession:
可以通过实现SpellCheckerSessionListener接口得到检查结果:
onGetSuggestions(SentenceSuggestionsInfo[]sentenceSuggestionsInfos) onGetSentenceSuggestions(SentenceSuggestionsInfo[]sentenceSuggestionsInfos)
SentenceSuggestionsInfo数据中保存了正确的文字、偏移量以及所有相关的信息。
Demo地址:https://github.com/peekler/GDG/blob/master/AndroidAPIDemos/app/src/main/java/hu/autsoft/androidapidemos
文字识别
这是Google Play Services Vision API中提供的功能,可以通过gradle dependency非常简单的引入到project中,需要注意的是不要引入整个Play Services,因为Play Services非常大,而我们需要的只是其中的一小部分,https://developers.google.com/android/guides/setup中可以找到相关的帮助。
Vision API中包含的服务有:
l 人脸识别
l 条形码扫描
l 文字识别
使用 Text Recognizer API非常简单:
首先,在build.gradle中引入依赖:
然后创建TextRecognizer对象:
TextRecognizer textRecognizer = newTextRecognizer.Builder(context).build();
之后实现 Detector.Processor 接口接口监听结果,得到的结果是TextBlock 数组。
合理地使用 TextRecognizer,一般要自定义包含SurfaceView的View用于在屏幕显示结果。Demo地址:https://github.com/peekler/GDG/blob/master/AndroidAPIDemos/app/src/main/java/hu/autsoft/androidapidemos
截屏
在某些情况下,截屏非常有用。也有一些第三方库如 Falcon实现这个功能,从level 21开始 MediaProjection可以实时获取屏幕内容和系统声音信息流。
有时使用标准的Android API通过getWindwo()非常简单地把屏幕内容保存为Bitmap:
Demo地
址:https://github.com/peekler/GDG/blob/master/AndroidAPIDemos/app/src/main/java/hu/autsoft/androidapidemos
感谢阅读。(原创翻译,转载请备注来源)