안드로이드 개발 질문/답변
(글 수 45,052)
로그캣 첨부해서 다시 올립니다
안녕하세요.
보통 검색으로 에러가 다 해결되어서 글 올릴일이 없었는데 오늘은 정말 해결되지가 않아서 글을 올립니다.
오늘따라 '....has stopped unexpectedly....' 이 창이 자꾸 뜨네요
안드로이드 프로그래밍 정복 이 책을 따라하고 있는데 SQLite에 관한 첫 예제를 실행하면서 저 창이 뜹니다.
어플리케이션 실행까지는 되는데 4개의 버튼을 누를때마다 모두 이러한 현상이 발생합니다.
08-17 23:42:19.474: ERROR/Database(191): Error inserting han=ìë eng=boy
08-17 23:42:19.474: ERROR/Database(191): android.database.sqlite.SQLiteException: no such table: dic: , while compiling: INSERT INTO dic(han, eng) VALUES(?, ?);
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1027)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1413)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1286)
08-17 23:42:19.474: ERROR/Database(191): at exam.sqltest.sqltest$1.onClick(sqltest.java:57)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.performClick(View.java:2364)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.onTouchEvent(View.java:4179)
08-17 23:42:19.474: ERROR/Database(191): at android.widget.TextView.onTouchEvent(TextView.java:6541)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.dispatchTouchEvent(View.java:3709)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
08-17 23:42:19.474: ERROR/Database(191): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
08-17 23:42:19.474: ERROR/Database(191): at android.os.Handler.dispatchMessage(Handler.java:99)
08-17 23:42:19.474: ERROR/Database(191): at android.os.Looper.loop(Looper.java:123)
08-17 23:42:19.474: ERROR/Database(191): at android.app.ActivityThread.main(ActivityThread.java:4363)
08-17 23:42:19.474: ERROR/Database(191): at java.lang.reflect.Method.invokeNative(Native Method)
08-17 23:42:19.474: ERROR/Database(191): at java.lang.reflect.Method.invoke(Method.java:521)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-17 23:42:19.474: ERROR/Database(191): at dalvik.system.NativeStart.main(Native Method)
08-17 23:42:19.944: ERROR/Database(191): Failure 1 (no such table: dic) on 0x136308 when preparing 'INSERT INTO dic VALUES(null,'girl','ìë ');'.
그래서 포기하고 다른 어플리케이션에 TableRow 함수를 써보았는데 또 저 창이 뜹니다.
이것은 책을 똑같이 따라한 소스는 아니고요 제멋대로 레이아웃을 중첩시켜고 있는데요
TableRow 를 쓰기 전까지 레이아웃 중첩이나 리스트나 잘만 뜨는데 TableRow 를 쓰면 저 창이 뜹니다.
소스를 올리고 싶은데 인터넷이 되는 컴퓨터와 이클립스가 실행되는 컴퓨터가 따로입니다...아...
혹시 저와 같은 책을 가지고 계신 분이 있다면 첫번째 문제에 대해 조언해주세요.
안드로이드 프로그래밍 정복 515 페이지 예제입니다.
공지 읽었어요
안녕하세요.
보통 검색으로 에러가 다 해결되어서 글 올릴일이 없었는데 오늘은 정말 해결되지가 않아서 글을 올립니다.
오늘따라 '....has stopped unexpectedly....' 이 창이 자꾸 뜨네요
안드로이드 프로그래밍 정복 이 책을 따라하고 있는데 SQLite에 관한 첫 예제를 실행하면서 저 창이 뜹니다.
어플리케이션 실행까지는 되는데 4개의 버튼을 누를때마다 모두 이러한 현상이 발생합니다.
public class sqltest extends Activity { /** Called when the activity is first created. */ //@Override WordDBHelper mHelper; EditText mText; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mHelper = new WordDBHelper(this); mText = (EditText)findViewById(R.id.edittext); Log.d("MyTag","Print Test Log"); findViewById(R.id.insert).setOnClickListener(mClickListener); findViewById(R.id.delete).setOnClickListener(mClickListener); findViewById(R.id.update).setOnClickListener(mClickListener); findViewById(R.id.select).setOnClickListener(mClickListener); } Button.OnClickListener mClickListener = new View.OnClickListener() { @Override public void onClick(View v) { Log.d("MyTag","Print Test Log"); SQLiteDatabase db; ContentValues row; Log.d("MyTag","Print Test Log"); switch(v.getId()){ case R.id.insert: Log.d("MyTag","Print Test Log"); db = mHelper.getWritableDatabase(); row = new ContentValues(); row.put("eng", "boy"); row.put("han", "소년"); db.insert("dic", null, row); db.execSQL("INSERT INTO dic VALUES(null,'girl','소녀');"); mHelper.close(); mText.setText("Insert Success"); break;
08-17 23:42:19.474: ERROR/Database(191): Error inserting han=ìë eng=boy
08-17 23:42:19.474: ERROR/Database(191): android.database.sqlite.SQLiteException: no such table: dic: , while compiling: INSERT INTO dic(han, eng) VALUES(?, ?);
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1027)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1413)
08-17 23:42:19.474: ERROR/Database(191): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1286)
08-17 23:42:19.474: ERROR/Database(191): at exam.sqltest.sqltest$1.onClick(sqltest.java:57)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.performClick(View.java:2364)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.onTouchEvent(View.java:4179)
08-17 23:42:19.474: ERROR/Database(191): at android.widget.TextView.onTouchEvent(TextView.java:6541)
08-17 23:42:19.474: ERROR/Database(191): at android.view.View.dispatchTouchEvent(View.java:3709)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
08-17 23:42:19.474: ERROR/Database(191): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
08-17 23:42:19.474: ERROR/Database(191): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
08-17 23:42:19.474: ERROR/Database(191): at android.os.Handler.dispatchMessage(Handler.java:99)
08-17 23:42:19.474: ERROR/Database(191): at android.os.Looper.loop(Looper.java:123)
08-17 23:42:19.474: ERROR/Database(191): at android.app.ActivityThread.main(ActivityThread.java:4363)
08-17 23:42:19.474: ERROR/Database(191): at java.lang.reflect.Method.invokeNative(Native Method)
08-17 23:42:19.474: ERROR/Database(191): at java.lang.reflect.Method.invoke(Method.java:521)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-17 23:42:19.474: ERROR/Database(191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-17 23:42:19.474: ERROR/Database(191): at dalvik.system.NativeStart.main(Native Method)
08-17 23:42:19.944: ERROR/Database(191): Failure 1 (no such table: dic) on 0x136308 when preparing 'INSERT INTO dic VALUES(null,'girl','ìë ');'.
그래서 포기하고 다른 어플리케이션에 TableRow 함수를 써보았는데 또 저 창이 뜹니다.
이것은 책을 똑같이 따라한 소스는 아니고요 제멋대로 레이아웃을 중첩시켜고 있는데요
TableRow 를 쓰기 전까지 레이아웃 중첩이나 리스트나 잘만 뜨는데 TableRow 를 쓰면 저 창이 뜹니다.
소스를 올리고 싶은데 인터넷이 되는 컴퓨터와 이클립스가 실행되는 컴퓨터가 따로입니다...아...
혹시 저와 같은 책을 가지고 계신 분이 있다면 첫번째 문제에 대해 조언해주세요.
안드로이드 프로그래밍 정복 515 페이지 예제입니다.
공지 읽었어요
2010.08.18 10:37:55
class WordDBHelper extends SQLiteOpenHelper { public WordDBHelper(Context context){ super(context, "EngWord.db", null, 1); } public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE dic(_id INTEGER PRIMARY KEY AUTOINCREMENT," + "eng TEXT, han TEXT);"); Log.d("MyTag","Print Test Log"); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS dic"); onCreate(db); } }
밑에 이렇게 작성했습니다. 이게 아닌가요? ㅠㅠ 덧글 달아주셔서 감사합니다
에러 보니 dic라는 테이블이 없다는데요. 테이블은 만드셨나요?