Reputation: 24443
How can I execute a *.sql script on android programmatically? The script is located at /assert folder. My phone is not rooted.
Upvotes: 3
Views: 2655
Reputation: 6118
InputStream is = getResources().getAssets().open("SQLScript.sql");
String sql= convertStreamToString(is);
public static String convertStreamToString(InputStream is)
throws IOException {
Writer writer = new StringWriter();
char[] buffer = new char[2048];
try {
Reader reader = new BufferedReader(new InputStreamReader(is,
"UTF-8"));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
is.close();
}
String text = writer.toString();
return text;
}
SQLiteDatabase db;
db = openOrCreateDatabase("MyDatabase.db", SQLiteDatabase.CREATE_IF_NECESSARY, null );
db.execSQL(sql);
Upvotes: 6