2014-03-24 261 views
0

在我的android代码中,我从gcm intent插入一些数据到数据库。它在工作时插入时没有检查任何条件。当我检查用if语句数据接收的json对象的第一个元素不inserting.I觉得有些误差,如果condition.please帮我未插入SQLite数据库数据

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, 
    ); 
+0

使用.'equals()的[我如何在Java中比较字符串?](http://stackoverflow.com/questions/' – guptakvgaurav

+0

可能重复513832/how-do-i-compare-strings-in-java) – laalto

回答

1

在java中,比较String,您需要使用equals()代替==

if (message.equals("instru")) 
+0

谢谢................ – user3256431

0

使用

message.equals("instru") 

,而不是

message == "instru" 

同为 '消息== “信号”'

更好的去有效

使用

"instru".equals(message) 

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

0

不要使用

(message == "signal") 

比较两个字符串。

在Java编程中使用==运算符来比较两个字符串它的坏处。所以你需要使用等于()equalsIgnoreCase()。因此,这将是

message.equals("signal") 

message.equalsIgnoreCase("signal")