繁体   English   中英

SQLite数据库数据库数据未插入

[英]SQLite datatbase data not inserting

在我的Android代码中,我正在从gcm intent向数据库中插入一些数据。当我插入而不检查任何条件时,它是有效的。当我检查接收到的json对象的第一个元素时是否未插入语句数据。我认为有些错误如果有condition.please帮助我

protected void onMessage(Context context, Intent intent) {
        Log.i(TAG, "Received message");
        String message = intent.getExtras().getString("title");


        if (message ==  "instru"){
        String message1 = intent.getExtras().getString("price");
        String message2 = intent.getExtras().getString("price1");
        String message3 = intent.getExtras().getString("price2");
        String message4 = intent.getExtras().getString("price3");
        String message5 = intent.getExtras().getString("price4");
        DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
        int count = db.getRowCount_1();
        if(count > 0){
            db.resetTables_1();
        }
        db.addUser_1(message1,message2,message3,message4,message5);
       }
        else if(message == "signal"){
            //else {
            String message1 = intent.getExtras().getString("date");
            String message2 = intent.getExtras().getString("name");
            String message3 = intent.getExtras().getString("buy");
            String message4 = intent.getExtras().getString("stop");
            String message5 = intent.getExtras().getString("tv");
            String message6 = intent.getExtras().getString("tp");
            String message7 = intent.getExtras().getString("res");
            DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
            DatabaseHandler1 db = new DatabaseHandler1(getApplicationContext());
            int count = db.getRowCount_2();
            if(count > 0){
                db.resetTables_2();
            }
            db.addUser_2(message1,message2,message3,message4,message5,message6,message7);


        }
        displayMessage(context, message);
        // notifies user
        generateNotification(context, message);
    }

收到不同的json对象

$message = array(
"title" => "instru",
"price" => $trade1,
"price1" => "$trade2",
"price2" => "$trade3",
"price3" => "$trade4",
"price4" => "$date");

$message = array(
        "title" => "signal",
        "date" => $date1,
        "name" => $signal_name,
        "buy" => $price,
        "stop" => $stop,
        "tv" => $trig_value,
        "tp" => $profit,       
        "res" => $result,
    );

在Java中,要比较String ,需要使用equals()而不是==

if (message.equals("instru"))

采用

message.equals("instru")

代替

message ==  "instru"

同样适用于'message ==“ signal”'

更好

采用

  "instru".equals(message)

由于在某些情况下message can be null

不要使用

 (message == "signal")

比较两个字符串。

在Java编程中使用==运算符比较两个String是不好的。 因此,您需要使用equals()equalsIgnoreCase() 所以会的

message.equals("signal")

要么

message.equalsIgnoreCase("signal")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM