Hi I am newby in android programming I want sqlite database in android application for handling some database related stuff . I am developing application like it will scan some wifi devices from home get there vendor id should display in listview upon pressing any item from list it should send some udp massage to that respected device upon getting response to udp massage it should create again one listview for that response . I have implemented Udp related stuff and scanning wifi devices related stuff also but only this is remaining is upon getting devices i need to store that device for further udp related stuff and maintaining database can anyone have best suggestion .
lass IP_Channal_DB extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "note.db";
private static final String Table_NAME = "Ip_channal_Table";
private static final String Col_1 = "ID";
private static final String Col_2 = "IP_Address";
private static final String Col_3 = "Flag";
private static final String Col_4 = "Channal_1";
private static final String Col_5 = "Channal_2";
private static final String Col_6 = "Channal_3";
private static final String Col_7 = "Channal_4";
private static final int SCHEMA_VERSION = 1;
private static final String DATABASE_CREATE = "CREATE TABLE " + Table_NAME + " (" + Col_1 + " integer PRIMARY KEY autoincrement," + Col_2 + "TEXT," + Col_3 + "TEXT," + Col_4 + "TEXT," + Col_5 + "TEXT," + Col_6 + "TEXT," + Col_7 + "TEXT,)";
public IP_Channal_DB(Context context) {
super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.v("MainActivity","creating table");
db.execSQL(DATABASE_CREATE);
//db.execSQL("CREATE TABLE "+Table_NAME+"("+Col_1+" INTEGER PRIMARY KEY AUTOINCREMENT,"+Col_2+" TEXT,"+Col_3+"INTEGER,"+Col_4+" TEXT,"+Col_5+" TEXT,"+Col_6+" TEXT,"+Col_7+" TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
/* public Cursor getAll_IP()
{
return (getReadableDatabase().rawQuery("SELECT "+Col_1+", "+Col_2+" FROM "+Table_NAME,null));
}*/
public Cursor getAll_IP()
{
SQLiteDatabase db=this.getReadableDatabase();
Cursor cur=db.rawQuery("SELECT "+Col_1+" as _id, "+Col_2+" from "+Table_NAME,new String [] {});
return cur;
}
}
and logcat window is
03-31 14:39:36.547 1681-1681/com.example.admin.myhome E/SQLiteLog: (1) no such table: Ip_channal_Table
03-31 14:39:36.557 1681-1681/com.example.admin.myhome E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.admin.myhome, PID: 1681
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.admin.myhome/com.example.admin.myhome.MainActivity}: android.database.sqlite.SQLiteException: no such table: Ip_channal_Table (code 1): , while compiling: SELECT ID as _id, IP_Address from Ip_channal_Table
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2348)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4019)
at android.app.ActivityThread.access$900(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5345)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
Caused by: android.database.sqlite.SQLiteException: no such table: Ip_channal_Table (code 1): , while compiling: SELECT ID as _id, IP_Address from Ip_channal_Table
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
at com.example.admin.myhome.IP_Channal_DB.getAll_IP(NoteHolder.java:52)
at com.example.admin.myhome.MainActivity$override.onCreate(MainActivity.java:131)
at com.example.admin.myhome.MainActivity$override.access$dispatch(MainActivity.java)
at com.example.admin.myhome.MainActivity.onCreate(MainActivity.java:0)
at android.app.Activity.performCreate(Activity.java:6012)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4019)
at android.app.ActivityThread.access$900(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5345)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)