質問があります。私は主に加えて、いくつかのアクティビティを使用するアンドロイドアプリケーションを持っています。これらの中には、sqliteデータベースにデータを記録するフォームがあります。ボタンを使用して情報を保存しようとすると、アプリケーションからの応答が得られないという問題があります。エラーを表示することはありませんが、データベースを作成したり、メソッドを実行したりすることはありません。あたかも彼がボタンを押さなかったかのようです。私はAndroid Studio 3.0.1とSQLiteを使用しています。私はあなたが私を案内できることを願っています。ありがとうございました。メイン以外のアクティビティからデータを保存します
データ登録のための活動の1つに使用されるコードを添付します。
/*SQLite class*/
public class SqlDB extends SQLiteOpenHelper {
private static final int version=1;
private static final String name="DB_Proyecto";
public SqlDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public SqlDB(Context context){
super(context, name, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS Ars (idArs INT PRIMARY KEY AUTOINCREMENT NOT NULL, NameArs TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
/* AddArsクラス。これからデータをデータベースに挿入してみてください。*/
public class AddArs extends AppCompatActivity implements View.OnClickListener {
EditText et1;
Button bt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_ars);
et1 = (EditText)findViewById(R.id.etNombre);
bt1 = (Button)findViewById(R.id.btEnvia);
bt1.setOnClickListener(this);
}
public void GrabaDatos(){
String nombreArs = et1.getText().toString();
SqlDB sqlDB = new SqlDB(this, "DB_Proyecto", null, 1);
SQLiteDatabase dbase = sqlDB.getWritableDatabase();
if(dbase !=null){
ContentValues nuevoRegistro = new ContentValues();
nuevoRegistro.put("NameArs", nombreArs);
dbase.insert("Ars", null, nuevoRegistro);
Toast.makeText(this, "Registro Creado.", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.bt1:
GrabaDatos();
break;
/*case by other buttons*/
}
}
}
? – Shaishav
お返事ありがとうございます。デバッグでは、onClickに対応するAddArsクラスの行44〜51のコードは実行されませんが、最終的にエラーをスキップしないため、解決するために何をすべきかわかりません。 – Edison
さて、ダニエルの答えがあなたの問題を解決すると信じています – Shaishav