我为我的应用程序创建了一个数据库。我试图插入3个值。但我的问题是当试图插入第二个值,他们去第一列。并且这个值来自用户的电话号码(所以来自内容提供者)当我尝试启动我的代码时,所有的列在第一列设置,除了列或列之外,我想将这些值设置为3个不同的列。 10结果,但我选择了5个名字,我想显示5个结果,其他5个结果转到第2列。我在第二个活动中使用自定义列表视图。另一方面,它们可能在第一列加载,但我看不到我的编号值在我的数据库是初学者如何在同一时间插入两个arralist到SQLite?
我想只是想:
ID name number oran
1 Ahmet 5555 50
2 Mehmet 6666 50
3 Veli 3333 50
4 Can 2222 50
5 Zehra 11111 50
etc.
我databaseHelper:
class DatabaseHelper extends SQLiteOpenHelper {
private static final String TAG = "DatabaseHelper";
private static final String TABLE_NAME = "people_table";
private static final String COL1 = "ID";
private static final String COL2 = "name";
private static final String COL3 = "number";
private static final String COL4 = "oran";
public DatabaseHelper(Context context) {
super(context, TABLE_NAME, null, 1);
}
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " + COL2 + " TEXT,"+
COL3 + " TEXT,"+ COL4 + " TEXT)";
db.execSQL(createTable);
}
// COL2 +" TEXT)0" col3 yerine 2 koyulması gerekiyor.
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP IF TABLE EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean addData(String item , String number ) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL2, item);
contentValues.put(COL3 , number);
contentValues.put(COL4, "50");
Log.d(TAG, "addData: Adding " + item + " to " + TABLE_NAME);
long result = db.insert(TABLE_NAME, null, contentValues);
//if date as inserted incorrectly it will return -1
if (result == -1) {
return false;
} else {
return true;
}
}
当用户点击保存数据按钮:
for (String newEntry: selectedlist)
AddData(newEntry,null); {
}
for (String number : selectedlistarama)
AddData(null , number); {
}
添加值:
private void AddData(String newEntry ,String number) {
boolean insertData = mDatabaseHelper.addData(newEntry ,number);
if (insertData) {
Cursor data = mDatabaseHelper.getData();
sayı = data.getCount();
// toastMessage("Data Successfully Inserted!");
Toast.makeText(this,String.valueOf(sayı), Toast.LENGTH_SHORT).show();
} else {
toastMessage("Something went wrong");
}
}
充分利用数据库中的值在第二个活动:
while(data.moveToNext()) {
listData.add(data.getString(1));
listDatanumber.add(data.getString(2));
listDataoran.add(data.getString(3));
}
我Custom_adapter:
namesbox.setText(listData.get(position));
什么是你想用for循环呢?同时检查它是否写得很好,并且你可以在途中纠正降低。 – Juan
我想记录所有ArrayList到DataBase.If你问我为什么要把null?因为我的databasehelper不能应用。我想设置 selectedlist到第1列,并选择listarama到第2列。 –
看到我的答案,如果我正确理解你的问题。 – Juan