sql文件一般不应该由Android直接执行的,正常应该是先转成db文件直接放入Android中,Android只需执行一些简单sql命令。
但有时有这样的需求怎么办呢,比如你数据库是上个版本放进的,这个版本的更新就是一个sql文件,你重新放一个数据库那用户数据都没了。
这个还是很简单的,从assets读取到sql文件,转成String,获取writeableDatabase,然后执行sql就行了。
public class MainActivity extends Activity {
/**
* 按行读取txt
*
* @param is
* @return
* @throws Exception
*/
private String readTextFromSDcard(InputStream is) throws Exception {
InputStreamReader reader = new InputStreamReader(is);
BufferedReader bufferedReader = new BufferedReader(reader);
StringBuffer buffer = new StringBuffer("");
String str;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
buffer.append("\n");
}
return buffer.toString();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.