当前位置: 首页 > 知识库问答 >
问题:

SQLite database utils . query numentries不能在真实设备上工作,但可以在模拟器上工作

有权
2023-03-14

我使用以下方法计算行数

long numRows = DatabaseUtils.queryNumEntries(ourDatabase, "fuel_table");

和列中的条目

 long mileagenum = DatabaseUtils.queryNumEntries(ourDatabase, FUEL_DATABASE_TABLE, KEY_MILEAGE);

这两种方法在模拟器上都可以正常工作,但在真实设备上会出错......

知道哪里出问题了吗?谢谢你。

我得到一个错误日志:-

java.lang.NoSuchMethodError: android.database.DatabaseUtils.queryNumEntries
at com.poojag.fuelcheck.FuelStoredInfo.getAvgMileage(FuelStoredInfo.java:252)
at com.poojag.fuelcheck.Prediction.onFocusChange(Prediction.java:199)
at android.view.View.onFocusChanged(View.java:2742)
at android.widget.TextView.onFocusChanged(TextView.java:6957)
at android.view.View.handleFocusGainInternal(View.java:2565)
at android.view.View.requestFocus(View.java:3720)
at android.view.View.requestFocus(View.java:3671)
at android.view.View.requestFocus(View.java:3649)
at android.view.View.onTouchEvent(View.java:4445)
at android.widget.TextView.onTouchEvent(TextView.java:7130)
at android.widget.EditText.onTouchEvent(EditText.java:143)
at android.view.View.dispatchTouchEvent(View.java:3885)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1750)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1135)
at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1734)
at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2216)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1887)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)

共有1个答案

公羊新
2023-03-14

带有选择的queryNumEntries是在API级别11中引入的。您的2.3.6设备正在运行API级别10。

您可以将其替换为常规的COUNT(*)选择查询,例如:

long mileagenum = DatabaseUtils.longForQuery(ourDatabase,
        "SELECT COUNT(*) FROM " + FUEL_DATABASE_TABLE + " WHERE " + KEY_MILEAGE, null);
 类似资料:
  • 我是android新手,我能够在kotlin中为我的应用程序设置firebase。如果我在Nexus 5X API 27 emulator中运行该应用程序,我就能够获取数据库,但当我在实际设备三星S5(Google play Services V 12.5.29,android V 5.0)中运行该应用程序时,我无法获得addValueEventListener回调。 Gradle文件: 我知道这

  • 这个小部件在模拟器4.1.2上工作得很好,当安装在真正的设备上时,它甚至不会显示在小部件列表上,就像安装了一样,但我不能让它正常工作。 下面是manifest.xml 和小部件提供程序

  • 我不太清楚为什么会发生这种情况。我一直在做一些研究,但情况太模糊了,我甚至很难找到解决办法。 我使用Android Studio创建了一个应用程序,并一直在一个虚拟仿真器上运行,其中< code>Toast功能使用这两行简单的代码运行良好 但当我在手机上运行这个应用程序时,它一直死机。我有Galaxy Grand Prime,甚至不确定它是否重要。

  • 在我的应用程序中,对于特定的< code>EditText,我希望句子的第一个字母是大写字母。所以我用了< code > Android:input type = " textCapSentences " 。 奇怪的是这适用于模拟器,但不适用于模拟器。我什至尝试了,即使它已被弃用,但它不起作用。 相关事实: > 模拟器操作系统:4.0.3 真实设备操作系统:4.0.4 应用minSdk版本:2.3

  • 这段代码在模拟器iphone 8 Plus上按预期运行,但当运行到iphone 8 Plus或iphone 6上时,这段控制台日志将失败,导致这种奇怪的结果。Mac和两款iPhone都运行当前的操作系统版本。 urlString为http://museum-dev.williams.edu:3003/id?labid=E8EE71C6F5822

  • 我正在尝试使用< code>Xamarin。AccountStore来保留用户的登录凭据,这样他们就不必在每次使用应用程序时都键入凭据。 保存凭据看起来像这样: 在模拟VS中的应用程序时,这与我的预期完全一样。当通过Xamarin Live在实际手机上运行时,方法会为Android库中看起来缺少的方法抛出异常。 异常消息: 类型“Java”上的构造函数。找不到security . KeyStore