[android-developers] Re: SQLlite issue
thanks for reply, I foud sqlite that can use .import to import csv file. On 9月9日, 下午1時39分, Desu Vinod Kumar vinny.s...@gmail.com wrote: HI Here for exporting is there go through this and do that by using thias i think public class DatabaseAssistant { private static final String EXPORT_FILE_NAME = /sdcard/export.xml; private Context _ctx; private SQLiteDatabase _db; private Exporter _exporter; public DatabaseAssistant( Context ctx, SQLiteDatabase db ) { _ctx = ctx; _db = db; try { // create a file on the sdcard to export the // database contents to File myFile = new File( EXPORT_FILE_NAME ); myFile.createNewFile(); FileOutputStream fOut = new FileOutputStream(myFile); BufferedOutputStream bos = new BufferedOutputStream( fOut ); _exporter = new Exporter( bos ); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void exportData( ) { log( Exporting Data ); try { _exporter.startDbExport( _db.getPath() ); // get the tables out of the given sqlite database String sql = SELECT * FROM sqlite_master; Cursor cur = _db.rawQuery( sql, new String[0] ); Log.d(db, show tables, cur size + cur.getCount() ); cur.moveToFirst(); String tableName; while ( cur.getPosition() cur.getCount() ) { tableName = cur.getString( cur.getColumnIndex( name ) ); log( table name + tableName ); // don't process these two tables since they are used // for metadata if ( ! tableName.equals( android_metadata ) ! tableName.equals( sqlite_sequence ) ) { exportTable( tableName ); } cur.moveToNext(); } _exporter.endDbExport(); _exporter.close(); } catch (IOException e) { e.printStackTrace(); } } private void exportTable( String tableName ) throws IOException { _exporter.startTable(tableName); // get everything from the table String sql = select * from + tableName; Cursor cur = _db.rawQuery( sql, new String[0] ); int numcols = cur.getColumnCount(); log( Start exporting table + tableName ); // // logging // for( int idx = 0; idx numcols; idx++ ) // { // log( column + cur.getColumnName(idx) ); // } cur.moveToFirst(); // move through the table, creating rows // and adding each column with name and value // to the row while( cur.getPosition() cur.getCount() ) { _exporter.startRow(); String name; String val; for( int idx = 0; idx numcols; idx++ ) { name = cur.getColumnName(idx); val = cur.getString( idx ); log( col ' + name + ' -- val ' + val + ' ); _exporter.addColumn( name, val ); } _exporter.endRow(); cur.moveToNext(); } cur.close(); _exporter.endTable(); } private void log( String msg ) { Log.d( DatabaseAssistant, msg ); } class Exporter { private static final String CLOSING_WITH_TICK = '; private static final String START_DB = export-database name='; private static final String END_DB = /export-database; private static final String START_TABLE = table
[android-developers] Re: SQLlite issue
HI Here for exporting is there go through this and do that by using thias i think public class DatabaseAssistant { private static final String EXPORT_FILE_NAME = /sdcard/export.xml; private Context _ctx; private SQLiteDatabase _db; private Exporter _exporter; public DatabaseAssistant( Context ctx, SQLiteDatabase db ) { _ctx = ctx; _db = db; try { // create a file on the sdcard to export the // database contents to File myFile = new File( EXPORT_FILE_NAME ); myFile.createNewFile(); FileOutputStream fOut = new FileOutputStream(myFile); BufferedOutputStream bos = new BufferedOutputStream( fOut ); _exporter = new Exporter( bos ); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void exportData( ) { log( Exporting Data ); try { _exporter.startDbExport( _db.getPath() ); // get the tables out of the given sqlite database String sql = SELECT * FROM sqlite_master; Cursor cur = _db.rawQuery( sql, new String[0] ); Log.d(db, show tables, cur size + cur.getCount() ); cur.moveToFirst(); String tableName; while ( cur.getPosition() cur.getCount() ) { tableName = cur.getString( cur.getColumnIndex( name ) ); log( table name + tableName ); // don't process these two tables since they are used // for metadata if ( ! tableName.equals( android_metadata ) ! tableName.equals( sqlite_sequence ) ) { exportTable( tableName ); } cur.moveToNext(); } _exporter.endDbExport(); _exporter.close(); } catch (IOException e) { e.printStackTrace(); } } private void exportTable( String tableName ) throws IOException { _exporter.startTable(tableName); // get everything from the table String sql = select * from + tableName; Cursor cur = _db.rawQuery( sql, new String[0] ); int numcols = cur.getColumnCount(); log( Start exporting table + tableName ); // // logging // for( int idx = 0; idx numcols; idx++ ) // { // log( column + cur.getColumnName(idx) ); // } cur.moveToFirst(); // move through the table, creating rows // and adding each column with name and value // to the row while( cur.getPosition() cur.getCount() ) { _exporter.startRow(); String name; String val; for( int idx = 0; idx numcols; idx++ ) { name = cur.getColumnName(idx); val = cur.getString( idx ); log( col ' + name + ' -- val ' + val + ' ); _exporter.addColumn( name, val ); } _exporter.endRow(); cur.moveToNext(); } cur.close(); _exporter.endTable(); } private void log( String msg ) { Log.d( DatabaseAssistant, msg ); } class Exporter { private static final String CLOSING_WITH_TICK = '; private static final String START_DB = export-database name='; private static final String END_DB = /export-database; private static final String START_TABLE = table name='; private static final String END_TABLE = /table; private static final String START_ROW = row; private static final String END_ROW = /row; private static final String START_COL = col name=';