[英]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.