lundi 14 décembre 2015

Draft Functionality not working for SMS Scheduler Android Application

I am working on an android project. In which I am working on SMS Scheduling. I have created "SmsTable" in sqlite database to store draft, scheduled, sent and unsent messages. For above four types I used "Status" colomn in database. For draft status = 0 , for schedule status = 1, for sent status = 2, for unsent status = 3. While I am storing draft values into database values insert Query calls, but when I tried to fetch drafts listing I got null value. Status update not working in database. Following are some part of my code.

dbHelper.open();
                    boolean isDraft = false;
                    for (int i = 0; i < messagesList.size(); i++) {
                        parts = smsManager.divideMessage(messagesList.get(i).getMessage());
                        long smsId = dbHelper.scheduleSms(messagesList.get(i).getMessage(), dateString, parts.size(), startTime, endTime, defaultRepeatMode);
                        Util.printLog("smsId : "+smsId);
                        dbHelper.setAsDraft(smsId);
                        isDraft = true;
                    }

Code in Database Helper class

// @detail Sets an SMS as Draft
    public void setAsDraft(long smsId) {
        setStatus(smsId, Constants.SMS_STATUS_DRAFT);
    }

    /***
     * @param smsId
     * @param status
     * @detail Sets a particular status for an SMS. Status is passed as parameter
     */
    public void setStatus(long smsId, int status) {

        Util.printLog("db smsid---> "+smsId);
        ContentValues cv = new ContentValues();
        cv.put(KEY_STATUS, status);

        db.update(DATABASE_SMS_TABLE, cv, KEY_ID + "=" + smsId, null);
    }

Aucun commentaire:

Enregistrer un commentaire