질문이 있습니다. 나는 여러 가지 활동을 사용하는 안드로이드 응용 프로그램을 가지고 있는데, 이것들 중 일부는 sqlite 데이터베이스에 데이터를 기록하는 양식이있다. 문제는 단추를 통해 정보를 저장하려고 할 때 응용 프로그램의 응답을받지 못한다는 것입니다. 오류를 표시하지는 않지만 데이터베이스를 작성하거나 메소드를 실행하지도 않습니다. 마치 버튼을 누르지 않은 것 같습니다. Android Studio 3.0.1 및 SQLite를 사용하고 있습니다. 제발, 당신이 나를 안내 할 수 있기를 바랍니다. 고맙습니다.주 활동 이외의 데이터 저장
데이터 등록 활동 중 하나에 사용 된 코드를 첨부합니다.
/*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*/
}
}
}
시도 디버깅 :
정확한 ID는
R.id.btEnvia
입니까? – Shaishav답변 해 주셔서 감사합니다. onClick에 해당하는 클래스 AddArs의 44-51 행의 코드를 디버깅 할 때 실행되지 않지만 결국 오류를 건너 뛰지 않으므로 결국 해결해야 할 작업을 모릅니다. – Edison
좋아요 ... 다니엘의 대답이 당신의 문제를 해결할 것이라고 믿습니다. – Shaishav