I write a app and I want save something in sqlite database. my project name is Hesabdari. I copy my data base in Hesabdari\app\build\intermediates\assets\databases\hesabdari.sqlite. I have an MyDatabase class:
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "hesabdari.sqlite";
private static final int DATABASE_VERSION = 1;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
setForcedUpgrade();
}}
I have Earning class like this:
public class Earning extends AppCompatActivity {
OnClickListener listenPlease = new OnClickListener() {
public void onClick(View v) {
Intent newIntent = new Intent(Earning.this , EarningForm.class);
startActivity(newIntent);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earning);
Button record_btn = (Button) findViewById(R.id.btnRecord);
record_btn.setOnClickListener(listenPlease);
}}
I have EarningForm class like this:
public class EarningForm extends AppCompatActivity {
private MyDatabase MyDatabase;
SQLiteDatabase mydb;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earning_form);
Button save=(Button) findViewById(R.id.btnTaeed);
save.setOnClickListener(listentodb);
MyDatabase = new MyDatabase(this);
mydb = MyDatabase.getWritableDatabase();
}
View.OnClickListener listentodb = new View.OnClickListener() {
public void onClick(View v) {
ContentValues values = new ContentValues();
values.put("mablagh", R.id.txtMablagh);
values.put("daste", R.id.btnDaste);
values.put("hasab", R.id.spinner1);
values.put("tarikh", R.id.etxTarikh);
values.put("tozih", R.id.etxTozihat);
// mydb.insert("daramad", null, values);
// mydb.close();
}
};
In my program when I click on btnRecord I got this error:
"java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.monire.hesabdari/com.example.monire.hesabdari.EarningForm}: com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/hesabdari.sqlite file (or .zip, .gz archive) in assets, or target folder not writable"
I understand that this error is because of this line: mydb = MyDatabase.getWritableDatabase();
What can I do???????
Aucun commentaire:
Enregistrer un commentaire