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

NumberFormatException:null(Android Studio中的错误)

郭元明
2023-03-14

我在下面得到这个错误。我正在从firebase和sqlite浏览器检索我的数据库。希望你们能帮我解决这件事。

public class Database extends SQLiteAssetHelper {

    private static final String DB_NAME="coolblogDB.db";
    private static final int DB_VER=1;


    public Database(Context context) { super(context, DB_NAME, null, DB_VER); }

    public List<Order> getCarts() {
        SQLiteDatabase db = getReadableDatabase();
        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

        String[] sqlSelect = {"ProductId", "ProductName", "Quantity", "Price", "Discount"};
        String sqlTable = "OrderDetail";

        qb.setTables(sqlTable);
        Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);

        final List<Order> result = new ArrayList<>();
        if (c.moveToFirst()) {
            do {
                result.add(new Order(c.getString(c.getColumnIndex("ProductId")),
                        c.getString(c.getColumnIndex("ProductName")),
                        c.getString(c.getColumnIndex("Quantity")),
                        c.getString(c.getColumnIndex("Price")),
                        c.getString(c.getColumnIndex("Discount"))
                ));
            } while (c.moveToNext());
        }
        return result;
    }

    public void addToCart(Order order)
    {
        SQLiteDatabase db = getReadableDatabase();
        String query = String.format("INSERT INTO OrderDetail(ProductId,ProductName,Quantity,Price,Discount) VALUES('%s','%s','%s','%s','%s');",
                order.getProductId(),
                order.getProductName(),
                order.getQuantity(),
                order.getPrice(),
                order.getDiscount());
        db.execSQL(query);
    }

    public void cleanCart()
    {
        SQLiteDatabase db = getReadableDatabase();
        String query = String.format("DELETE FROM OrderDetail");
        db.execSQL(query);
    }
}

10-15 13:48:34.439 128 60-12860/com.example.mariamsyafiqah.coolblog2 e/androidruntime:致命异常:main process:com.example.mariamsyafiqah.coolblog2,pid:12860 java.lang.runtimeexception:无法启动活动ComponentInfo{com.example.mariamsyafiqah.coolblog2/com.example.mariamsyafiqah.coolblog2.cart}activity(activityThread.java:2726),android.app.activityThread.-wrap12(activityThread.java),android.app.activityThread.$h.handleMessage(activityThread.java:1477),android.os.handler.dispatchMessage(handler.java:102),android.os.handler.dispatchMessage(handler.java:154),android.app.activityThread.main java:886)在com.android.internal.os.zygoteinit.main(zygoteinit.java:776)casedby:java.lang.NumberFormatException:null at java.lang.Integer.ParseInt(Integer.java:483)at java.lang.Integer.ParseInt(Integer.java:556)at com.example.mariamsyafiqah.coolblog2.cart.loadlistDrink(cart.java:128)at com.example.mariamsyafiqah.coolblog2.cart.oncreate(cart.java:71)at Android.app.activitythread.java:2618)的chactivity(activitythread.java:2726)在Android.app.activitythread.-Wrap12(activitythread.java) 在Android.app.activitythread$h.handleMessage(activitythread.java:1477) 在Android.os.handler.DispatchMessage(Handler.java:102) 在Android.os.looper.loop(looper.java:154) 在Android.app.activitythread.main(activitythread.java:6119) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:886) 在com.android.internal.os.zygoteinit.main(zygoteinit.java:776)

共有1个答案

滕令雪
2023-03-14

检查cart.java第128行,如下错误所示:

java.lang.NumberFormatException:在java.lang.Integer.ParseInt(Integer.java:483),java.lang.Integer.ParseInt(Integer.java:556),com.example.Mariamsyafiqah.Coolblog2.cart.LoadListDrink(cart.java:128),at ;

有一句台词是这样的:

int val = Integer.parseInt(stringValue);

如果stringValue为空或为空,则会引发错误。您需要首先检查字符串是否是正确的数字

 类似资料:
  • 我运行的是Mac OSX,我安装了android Studio-它启动正常。 问题1 我用一个空活动开始一个新项目。在最上面的窗户上我收到一条信息 问题2 我在底部窗口中看到以下错误: 错误:CompilesDKVersion android-L需要使用JDK 7 Open SDK Settings进行编译 打开文件 当我尝试在设备上运行项目时,我得到以下错误: 失败[INSTALL_FAILED

  • 我想做一个应用程序,使用谷歌翻译API。自从我添加了 我的构建中的依赖项。gradle我有个错误: 现在必须显式声明注释处理器。发现编译类路径上的以下依赖项包含注释处理器。请将它们添加到annotationProcessor配置中。-自动值-1.2。jar(com.google.auto.value:auto-value:1.2)或者,设置android。defaultConfig。javaCom

  • 应用程序 SlidingMenu(源文件) SlidingMenu-Maps-Support(源文件) 这里有一个链接,看看我的意思。 这就是我得到的错误。 谢谢! 编辑1:不要紧!我又回到月食了!Android Studio还没有为真正的项目开发做好准备。

  • 您能帮助在android studio中运行默认java而不是gradle执行吗?谢谢

  • 本文向大家介绍AndroidStudio:手势识别,包括了AndroidStudio:手势识别的使用技巧和注意事项,需要的朋友参考一下 一内容:设计一个手写字体识别程序。 二实现 ①建立一个存放手写字体的数据库 ②activity_main.xml 3.MainActivity.java 三效果 以上所述是小编给大家介绍的AndroidStudio手势识别详解整合,希望对大家有所帮助,如果大家有任

  • 我试图在android studio上使用java 1.7版,但不幸的是,它不能正常工作。。。如果在