关于Android API,你所不知道的

关于Android API,你所不知道的_第1张图片

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数据中保存了正确的文字、偏移量以及所有相关的信息。

关于Android API,你所不知道的_第2张图片

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非常简单:

关于Android API,你所不知道的_第3张图片

首先,在build.gradle中引入依赖:

然后创建TextRecognizer对象:

TextRecognizer textRecognizer = newTextRecognizer.Builder(context).build();

之后实现 Detector.Processor 接口接口监听结果,得到的结果是TextBlock 数组。

关于Android API,你所不知道的_第4张图片

合理地使用 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:

关于Android API,你所不知道的_第5张图片
关于Android API,你所不知道的_第6张图片

Demo地

址:https://github.com/peekler/GDG/blob/master/AndroidAPIDemos/app/src/main/java/hu/autsoft/androidapidemos

感谢阅读。(原创翻译,转载请备注来源)

你可能感兴趣的:(关于Android API,你所不知道的)