嗨即時通訊非常新的Android,所以我有這個功能,需要添加和檢索我的數據庫。到目前爲止,這裏是我的,所以我有這套java文件 newLoc.java包含用戶點擊保存按鈕時響應的代碼。 Area.java包含getter和setter。 DBHandler.java有數據庫的東西。 在添加區域我已經記錄它,以便我可以檢查它是否被添加或不。問題是當我讀表時。在我的newLoc.java中,即時通訊也調用getALLAREA函數來檢查記錄是否被插入,但唯一的輸出即時獲取是數據庫中的記錄的ID任何想法,我做錯了什麼? 代碼在這裏正確插入和從sqlite獲取數據android
newLoc.java
這裏是響應於當用戶點擊保存按鈕的代碼。它會從EDITTEXT數據然後調用DBHanlder添加數據
public void onClick(View v)
{
String text ="user created";
Toast tempMessage =
Toast.makeText(newLoc.this,
text,
Toast.LENGTH_SHORT);
tempMessage.show();
areaname = narea.getText().toString();
DBHandler db = new DBHandler(newLoc.this);
Log.d("Insert: ", "Inserting .." + areaname);
db.addNArea(new Area(areaname));
Log.d("Reading: " , "Reading users..");
List<Area> area = db.getALLAREA();
for(Area ar : area)
{
String arean = ar.getArea();
Log.d("Areas" , arean);
}
}
Area.java
這是我的getter和setter從區域
public class Area
{
private int arID;
private String narea;
public Area()
{
}
public Area(String area)
{
this.narea = area;
}
public void setArea(String area)
{
this.narea = area;
}
public String getArea()
{
return narea;
}
}
DBHandeler。 java 這是數據庫內容完成的地方。在addNArea
,我已經把一個日誌裏面的嘗試來檢查數據是否被添加。日誌從用戶的打印數據,所以我認爲這是正確的插入,因爲我沒能看到該錯誤日誌
public void addNArea(Area are)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_ANAME, are.getArea());
try
{
db.insert(TABLE_AREA, null, values);
Log.d("Insert: ", "Inserting .." + are.getArea());
}
catch (SQLException e)
{
Log.d("error: " , "" + e);
}
db.close();
}
//view areas
public List<Area> getALLAREA()
{
List<Area> arealist = new ArrayList<Area>();
String selectQuery = "SELECT * FROM " + TABLE_AREA;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Area allarea = new Area();
allarea.setArea(cursor.getString(0));
arealist.add(allarea);
} while (cursor.moveToNext());
}
return arealist;
}
所以現在的問題是,在我的newLoc.java
我看不到我添加的區域列表。關於我做錯什麼的想法?非常感謝!
這麼厲害! :) – BourneShady