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

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

更多相关文章

  1. 【Android(安卓)Studio使用教程6】Execution failed for task ':
  2. GitHub 优秀的 Android(安卓)开源项目
  3. Android使用ListView使用
  4. LinearLayout布局之weight
  5. Android(安卓)TabHost使用、动态加载内容
  6. 你知道 Android(安卓)的 MessageQueue.IdleHandler 吗?
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android实现录制视频
  2. Android 使用内容解析者往短信数据库里插
  3. android工程没有gen路径
  4. 移植Busybox到Android平台
  5. android 上传文件到服务器
  6. android关机充电的奥妙所在(留着以后用)
  7. 【Android】 dialog 设置maxHeight 最大
  8. Android Handler不同界面发送数据
  9. Android_Architecture_HAL--Dynamic Life
  10. Android支持多并发的异步任务框架MultiAs