2014-03-24 174 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")