vendredi 8 mai 2015

Android Save Button Not Saving into database

I have a Save button in my app and it doesn't seem to be saving what it should.

This is the function that the button calls: public void newsave (View rootView) { final Dbhandler dbHandler = new Dbhandler(this.getActivity()); //, null, null, 1);

              //  if (result2.getText().toString()=="") {
                //    Toast.makeText(getActivity(), "There is nothing to Save",     Toast.LENGTH_SHORT).show();
                //}
                //else {
                        final String distance = (result2.getText().toString());


    AlertDialog.Builder builder = new             AlertDialog.Builder(this.getActivity());
                    builder.setTitle("Description");
                    final AlertDialog dialog =builder.create();



                        // Set up the input
                        final EditText input = new EditText(this.getActivity());
                        input.setOnFocusChangeListener(new 
View.OnFocusChangeListener() {
                        @Override
                        public void onFocusChange(View v, boolean hasFocus) {
                            if (hasFocus) {
                                dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
                            }
                        }
                    });
                        // Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
                        input.setInputType(InputType.TYPE_CLASS_TEXT);
                        builder.setView(input);

                        // Set up the buttons
                        builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                m_Text = input.getText().toString();

                                String ddesc = m_Text;
                                //saveDistance distances = new saveDistance(ddesc,distance);
                                try {
                                    dbHandler.addDistances(1,ddesc, distance);
                                    Toast.makeText(getActivity(), "Save Successful", Toast.LENGTH_LONG).show();
                                } catch (Exception e) {
                                    Toast.makeText(getActivity(), e.toString(), Toast.LENGTH_LONG).show();
                                }

                            }
                        });

    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.cancel();
                            }
                        });

                        builder.show();

This is my Database handler class

package com.spydotechcorps.hwfar.database;

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

import com.spydotechcorps.hwfar.provider.MyContentProvider;

/**
 * Created by INGENIO on 3/8/2015.
 */




public class Dbhandler extends SQLiteOpenHelper {


    private ContentResolver myCR;

    private static  int DATABASE_VERSION = 2;
    private static String DATABASE_NAME = "distanceDB.db";
    public static  String TABLE_DISTANCES = "distances";

    public static final String COLUMN_ID ="_id";
    public static final String COLUMN_DESCRIPTION = "COLUMN_DESCRIPTION";
    public static final String COLUMN_DISTANCE = "COLUMN_DISTANCE";


    public Dbhandler(Context context
            //, String name,
                       //SQLiteDatabase.CursorFactory factory, int version
                       ) {
        super(context, DATABASE_NAME,
                //factory
                null, DATABASE_VERSION);
        myCR = context.getContentResolver();    // obtaining reference to content resolver in content provider
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_DISTANCES_TABLE = "CREATE TABLE " +
                TABLE_DISTANCES + "("
                +
                COLUMN_ID +
                " _id INTEGER PRIMARY KEY," + COLUMN_DESCRIPTION
                + " TEXT," + COLUMN_DISTANCE + " REAL" + ")";
        db.execSQL(CREATE_DISTANCES_TABLE);


    }

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

    }


    public void addDistances(int c,String a,String b) {

        ContentValues values = new ContentValues();
        values.put(COLUMN_ID,c);
        values.put(COLUMN_DESCRIPTION, a);
        values.put(COLUMN_DISTANCE, b);

        myCR.insert(MyContentProvider.CONTENT_URI, values);
    }

    public saveDistance findDistances(String Distancesname) {
        String[] projection = {
                COLUMN_ID,
                COLUMN_DESCRIPTION, COLUMN_DISTANCE };

        String selection = "Distancesname = \"" + Distancesname + "\"";

        Cursor cursor = myCR.query(MyContentProvider.CONTENT_URI,
                projection, selection, null,
                null);

        saveDistance Distances = new saveDistance();

        if (cursor.moveToFirst()) {
            cursor.moveToFirst();
            Distances.setID(Integer.parseInt(cursor.getString(0)));
            Distances.setdesc(cursor.getString(1));
            Distances.setdistance(cursor.getString(2));
            cursor.close();
        } else {
            Distances = null;
        }
        return Distances;
    }

    public boolean deleteDistances(String Distancesname) {

        boolean result = false;

        String selection = "Distancesname = \"" + Distancesname + "\"";

        int rowsDeleted = myCR.delete(MyContentProvider.CONTENT_URI,
                selection, null);

        if (rowsDeleted > 0)
            result = true;

        return result;
    }



}

And this is the saveDistance Class

package com.spydotechcorps.hwfar.database;

/**
 * Created by INGENIO on 3/8/2015.
 */
public class saveDistance {
    public int _id;
    public String _desc;
    public String _distance;

    public void Distances() {

    }

    /*public void Distances(int id, String desc, String distance) {
        this._id = id;
        this._desc = desc;
        this._distance = distance;
    }*/
    public void Distances(
            //int k,
        String desc, String distance) {
        //this._id=1;
        this._desc = desc;
        this._distance = distance;
    }

    public void setID(int id) {
        this._id = id;
    }

    public int getID() {
        return this._id;
    }

    public void setdesc(String desc) {
        this._desc = desc;
    }

    public String getdesc() {
        return this._desc;
    }

    public void setdistance(String distance) {
        this._distance = distance;
    }

    public String getdistance() {
        return this._distance;
    }


}

Please, it has been giving me a real headache, Kindly help me out.

Aucun commentaire:

Enregistrer un commentaire