Witam Chcę eksportować moje dane z bazy danych w formacie CSV do mojej aplikacji na Androida. Jak mogę to zrobić? Jakieś ciało mi pomoże? Z góry dziękuję.Jak przekonwertować rekordy bazy danych na plik csv w systemie Android?
Odpowiedz
Hi zrobić tak ....
package com.my.CSVcreation;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class CSVCreationActivity extends Activity {
TextView empidtxt,empnametxt,empsaltxt;
EditText empidet,empnameet,empsalet;
Button insetbt,viewbt;
SQLiteDatabase myDatabase=null;
String DataBase_Name="employeedata";
String Table_Name="employeedetails";
Cursor c1,c2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
empidtxt=(TextView)findViewById(R.id.tv1);
empnametxt=(TextView)findViewById(R.id.tv2);
empsaltxt=(TextView)findViewById(R.id.tv3);
empidet=(EditText)findViewById(R.id.et1);
empnameet=(EditText)findViewById(R.id.et2);
empsalet=(EditText)findViewById(R.id.et3);
insetbt=(Button)findViewById(R.id.bt1);
viewbt=(Button)findViewById(R.id.bt2);
try {
myDatabase=this.openOrCreateDatabase(DataBase_Name, MODE_PRIVATE, null);
System.out.println("databse has been creates.....");
myDatabase.execSQL("create table if not exists " + Table_Name + "(empid integer(10),empname varchar(50),empsal integer(10))");
System.out.println("table has been created.....");
c1 = myDatabase.rawQuery("select * from " + Table_Name, null);
c1.moveToFirst();
int count1 = c1.getCount();
System.out.println("columns --->" + count1);
if (count1 == 0) {
myDatabase.execSQL("insert into "+Table_Name+ "(empid,empname,empsal)" +"values(101,'asha',20000)");
System.out.println("data base has been inserted.....");
}
c2 = myDatabase.rawQuery("select * from " + Table_Name, null);
c2.moveToFirst();
int count2 = c2.getCount();
System.out.println("columns --->" + count2);
final int column1 = c2.getColumnIndex("empid");
final int column2 = c2.getColumnIndex("empname");
final int column3 = c2.getColumnIndex("empsal");
insetbt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (c2 != null) {
do {
int id = c2.getInt(column1);
String name = c2.getString(column2);
int salary = c2.getInt(column3);
System.out.println("empID --> "+id);
System.out.println("empNAME --> "+name);
System.out.println("empsalalry --> "+salary);
} while(c2.moveToNext());
}
}
});
viewbt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
new ExportDatabaseCSVTask().execute("");
} catch(Exception ex) {
Log.e("Error in MainActivity",ex.toString());
}
}
});
}
catch(SQLException ex) { ex.printStackTrace(); }
/*finally {
if (myDB != null) { myDB.close(); }
}*/
}
public class ExportDatabaseCSVTask extends AsyncTask<String, Void, Boolean> {
private final ProgressDialog dialog = new ProgressDialog(CSVCreationActivity.this);
@Override
protected void onPreExecute() {
this.dialog.setMessage("Exporting database...");
this.dialog.show();
}
protected Boolean doInBackground(final String... args) {
File dbFile = getDatabasePath("myDatabase.db");
System.out.println(dbFile); // displays the data base path in your logcat
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists()) { exportDir.mkdirs(); }
File file = new File(exportDir, "myfile.csv");
try {
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
Cursor curCSV = myDatabase.rawQuery("select * from " + Table_Name,null);
csvWrite.writeNext(curCSV.getColumnNames());
while(curCSV.moveToNext()) {
String arrStr[] ={curCSV.getString(0),curCSV.getString(1),curCSV.getString(2)};
// curCSV.getString(3),curCSV.getString(4)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
return true;
} catch(SQLException sqlEx) {
Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
return false;
} catch (IOException e) {
Log.e("MainActivity", e.getMessage(), e);
return false;
}
}
protected void onPostExecute(final Boolean success) {
if (this.dialog.isShowing()) { this.dialog.dismiss(); }
if (success) {
Toast.makeText(CSVCreationActivity.this, "Export successful!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(CSVCreationActivity.this, "Export failed", Toast.LENGTH_SHORT).show();
}
}
}
I dostaniesz CsvReader i plik CSVWriter z następującej witryny https://code.google.com/p/secrets-for-android/source/checkout. Wszystkiego najlepszego.
Nie zapomnij dodać uprawnienia do pliku manifestu <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
gdzie zapisany plik został zapisany. Czy możesz podać dokładną ścieżkę, w której plik zapisany w emulatorze? – yogi
Plik zostanie zapisany na twoim sdcard jako podana nazwa. np: myfile.csv – malavika
Jak to napisać, aby cokolwiek jest wprowadzane do "empidtet", "empnameet" i "expsalet" pojawi się w pliku myfile.csv? – PaulH
- 1. przekonwertować DOM na ciąg w systemie Android?
- 2. w szynach, jak wrócić rekordy w postaci pliku csv
- 3. Pobieranie danych z bazy danych Firebase Realtime w systemie Android
- 4. Jak przekonwertować plik oddzielony tabulatorami na format CSV?
- 5. Konwersja danych z bazy danych/Excel/CSV do danych YAML?
- 6. jak przekonwertować CSV na tabelę w Oracle
- 7. Aktualizacja bazy danych Android
- 8. jak przekonwertować plik XML do pliku csv w javascript
- 9. Jak eksportować dane do pliku csv w systemie Android?
- 10. jak przekonwertować milisekundy na format daty w systemie Android?
- 11. Jak przekonwertować LayerDrawable na Drawable w systemie Android?
- 12. Jak przekonwertować HashMap na json Array w systemie Android?
- 13. Jak przekonwertować liczbę całkowitą na ciąg szesnastkowy w systemie Android?
- 14. Dlaczego warto korzystać z bazy danych sqlite w systemie Android?
- 15. Jak wstawić rekordy 50 KB do bazy danych Oracle?
- 16. Eksport bazy danych SQLite do pliku XML w systemie Android
- 17. jak przekonwertować istniejącą tabelę bazy danych sqlite na fts3?
- 18. Jak przekonwertować listę obiektów na CSV?
- 19. Jak odtwarzać plik GIF w systemie Android?
- 20. jest to możliwe kopii zapasowej i przywrócić plik bazy danych w systemie Android? non urządzenia korzeniowe
- 21. onUpgrade() baza danych sqlite w systemie Android
- 22. Jak uzyskać losowo rekordy z bazy danych Oracle?
- 23. Importowanie dużą csv do bazy danych mysql
- 24. Jak czytać plik tekstowy w systemie Android?
- 25. Django: dynamiczny plik bazy danych
- 26. Android - Wygeneruj plik CSV z wartości tabeli
- 27. jak zaimportować ogromne .csv do bazy danych sql?
- 28. Jak odczytać plik csv w Androidzie?
- 29. Dołącz plik bazy danych za pomocą aplikacji Android poprzez Eclipse
- 30. python xlrd przekonwertować xlsx na csv
możliwe duplikat [Konwersja bazy danych do pliku .csv db] (http://stackoverflow.com/questions/8665057/convert-database-db -file-into-csv) –