为什么SQLiteDatabase.addCustomFunction不可用?

时间:2015-06-20 11:36:05

标签: android sqlite

正如我在Android sources中看到的,这里有注册我自己的自定义函数的方法。但是当我尝试调用addCustomFunction()时,我收到错误“无法解析方法”。我也在official documentaion找不到它。为什么这种方法不可用?

1 个答案:

答案 0 :(得分:1)

  

为什么这种方法不可用?

因为它标有@hide注释。您在标有@hide的Android源代码中看到的任何类和方法都不属于Android SDK。它们不会出现在JavaDocs中,并且它们不是我们在构建项目时编译的android.jar的一部分。

一般情况下,使用@hide标记某些内容有很多可能的原因,包括:

  • 一点点“默默无闻的安全”。

  • 这个课程或方法在编写时被认为是“飞行中”,而不是谷歌准备说它将支持所有未来的Android版本。

  • 该类或方法实际上是private或包私有,但由于Android代码的组织方式,类或方法必须public允许正确的其他东西来访问它。在这种情况下,@hide意味着“真的,这是内部实现,但它是public,因为Java让我这样做”。

但是,一般情况下,我们没有被告知为什么类或方法标有@hide,因此我无法告诉您在这种情况下使用的确切原理。