0

In my android code I am inserting some data to database from gcm intent.It is working when I am inserting without checking any condition.When I check the first element of the json object received with if statement data are not inserting.I think some error with if condition.please help me

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);
    }

different json objects recieved

$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,
    );
Shabbir Dhangot
  • 8,954
  • 10
  • 58
  • 80
user3256431
  • 167
  • 5
  • 15
  • possible duplicate of [How do I compare strings in Java?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – laalto Mar 24 '14 at 10:50

3 Answers3

1

In java, to compare String, You need to use equals() instead of ==

if (message.equals("instru"))
Fabecc
  • 160
  • 4
Zied R.
  • 4,964
  • 2
  • 36
  • 67
0

Use

message.equals("instru")

instead of

message ==  "instru"

Same goes valid for 'message == "signal"'

Even better

Use

  "instru".equals(message)

Since message can benull` in some situations

Gaurav Gupta
  • 4,586
  • 4
  • 39
  • 72
0

Don't use

 (message == "signal")

for comparing two Strings.

Using == operator in Java programming for compare two Strings its bad thing. So you need to use equals() or equalsIgnoreCase(). So it will be

message.equals("signal")

or

message.equalsIgnoreCase("signal")
Piyush
  • 18,895
  • 5
  • 32
  • 63