Well, I am totally new to android and with my efforts I have created an app that will be storing all passwords related to your day to day life in a database. So that when you need or get confused you can access through this app.
Well one of my friend told an option of making a backup of whatever is stored for good practice and to avoid loss of any crucial data in future.
So, I was thinking to implement a button in my app, which when clicked by user must backup all the information stored in the database to SDCard with an extension of .txt (Why .txt because, it will be easy to import even to systems for easy reference).
Details of my database : It contains five fields.
_id(varchar), profile(varchar), username(varchar), description(varchar), password(varchar)
public class DatabaseHandler {
public static final String KEY_ROWID = "_id";
public static final String KEY_PROFILE = "profile";
public static final String KEY_UNAME = "uname";
public static final String KEY_DESC = "desc";
public static final String KEY_PASSWORD = "password";
private static final String TAG = "DBAdapter";
//private static final String TAG = DBAdapter.class.getSimpleName();
private static final String DATABASE_NAME = "mypass";
private static final String DATABASE_TABLE = "mypasswords";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE =
"create table mypass (_id integer primary key autoincrement, "+ "profile varchar ,"+ "uname varchar ,"+ "desc varchar ,"+ "pass varchar");";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public DatabaseHandler(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion)
{
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS productdet");
onCreate(db);
}
}
//---opens the database---
public DatabaseHandler open() throws SQLException
{
db = DBHelper.getWritableDatabase();
return this;
}
//---closes the database---
public void close()
{
DBHelper.close();
}
//---insert a title into the database---
public long insertTitle(String proname, String procost)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_PRONAME, proname);
initialValues.put(KEY_PROCOST, procost);
return db.insert(DATABASE_TABLE, null, initialValues);
}
//---deletes a particular title---
public boolean deleteTitle(long rowId)
{
return db.delete(DATABASE_TABLE, KEY_ROWID +
"=" + rowId, null) > 0;
}
//---retrieves all the titles---
public Cursor getAllTitles()
{
return db.query( DATABASE_TABLE, new String[] {
KEY_ROWID,
KEY_PRONAME,
KEY_PROCOST,
},
null,
null,
null, null, null);
}
//---retrieves a particular title---
public Cursor getTitle(long rowId) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {
KEY_ROWID,
KEY_PRONAME,
KEY_PROCOST,
},
KEY_ROWID + "=" + rowId,
null,
null,
null, null, null
);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
//---updates a title---
public boolean updateTitle(long rowId, String proname,
String procost)
{
ContentValues args = new ContentValues();
args.put(KEY_PRONAME, proname);
args.put(KEY_PROCOST, procost);
return db.update(DATABASE_TABLE, args,
KEY_ROWID + "=" + rowId, null) > 0;
}
}
So the backup for each row must be one below the other.
Example:
1 ATM sg sbi 1234
2 BANK xxx ICICI @1234xxx
3 yyy ggfb hgfds 734687
Some sort of coding and example references will be good for me . When I googled I didnt find any sort of backup to .txt format.
Hope I find a good reply instead to complete the backup project.
Help will be surely appreciated. Thanks in advance.