samedi 23 avril 2016

SQlite Method to Export Single cell value string to a variable

I have a code that imports data with sms! and now i need one method to export those data from the database to a variable on the IncomingSMSReceiver (I will probably make one method for each field), can i export a single cell value to a variable ?

e.g i tried to do it for the onoma column but i dont know what database method should i use and sql and how to export it.

DatabaseHelper.java

package toulios.ptixiakh.toulios;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

public static final String DATABASE_NAME="Toulios.db";
public static final String TABLE_NAME="Foitites_table";
public static final String Col_AM="AM";
public static final String Col_ONOMA="ONOMA";
public static final String Col_EPITHETO="EPITHETO";
public static final String Col_EXAMINO="EXAMINO";

public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table " + TABLE_NAME+"(AM INTEGER PRIMARY KEY,ONOMA TEXT,EPITHETO TEXT, EXAMINO INTEGER)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS"+TABLE_NAME);
    onCreate(db);
}


public boolean eisagoghfititi(String am,String onoma,String epitheto,String examino)
{
    SQLiteDatabase db=this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(Col_AM,am);
    contentValues.put(Col_ONOMA,onoma);
    contentValues.put(Col_EPITHETO,epitheto);
    contentValues.put(Col_EXAMINO,examino);
    long result = db.insert(TABLE_NAME,null,contentValues);
    if(result == -1)
        return false;
    else
        return true;
}

public String exagwgh_onoma(String am)
{
    SQLiteDatabase db=this.getReadableDatabase();
    String apotelesma = db.execSQL(); //code to extract sql field
    return apotelesma;
}

}

IncomingSMSReceiver.java

public class  IncomingSMSReceiver extends  BroadcastReceiver{

private static final String SMS_RECEIVED ="android.provider.Telephony.SMS_RECEIVED";

@Override
public void onReceive(Context _context, Intent _intent) {

    if (_intent.getAction().equals(SMS_RECEIVED)) {
        Bundle bundle = _intent.getExtras();
        if (bundle != null) {

            Object[] pdus = (Object[]) bundle.get("pdus");

            SmsMessage[] messages = new SmsMessage[pdus.length];
            for (int i = 0; i < pdus.length; i++)
                messages[i] = SmsMessage
                        .createFromPdu((byte[]) pdus[i]);
            for (SmsMessage message : messages)
            {
                String strPhoneNo = message.getOriginatingAddress();
                String msg = message.getMessageBody();

                if (msg.startsWith("01"))
                {
                     try {
                         final String[] temaxismeno_sms = msg.split(":");

                         DatabaseHelper dbHelper = new DatabaseHelper(_context.getApplicationContext());
                         dbHelper.eisagoghfititi(temaxismeno_sms[1],temaxismeno_sms[2],temaxismeno_sms[3],temaxismeno_sms[4]);
                         Toast.makeText(_context, "Egine eisagwgh fititi!!", Toast.LENGTH_LONG).show();
                         String message1 = "H Eisagwgh egine sthn vash.";// minima pou tha stalthei
                         SmsManager sms = SmsManager.getDefault();
                         sms.sendTextMessage(strPhoneNo, null, message1, null, null);
                         Toast.makeText(_context, "O fititis idopiithike", Toast.LENGTH_LONG).show();
                         }
                    catch (Exception e)
                        {
                        Toast.makeText(_context, "SMS failed, please try again.",
                                Toast.LENGTH_LONG).show();
                        e.printStackTrace();
                        }
                }
                if (msg.startsWith("02"))
                {
                    final String[] temaxismeno_sms = msg.split(":");
                    String apotelesma;
                    DatabaseHelper dbHelper = new DatabaseHelper(_context.getApplicationContext());
                    apotelesma = dbHelper.exagwgh_onoma(temaxismeno_sms[1]);
                    String message2 = "To onoma tou am pou epilexate einai "+apotelesma;
                    SmsManager sms = SmsManager.getDefault();
                    sms.sendTextMessage(strPhoneNo, null, message2, null, null);

                }
            }
        }
    }
}
}

Aucun commentaire:

Enregistrer un commentaire