마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

클래스를 생성하자마자 어플이 종료되는데,, 어디가 문제일까요?? 도저히 못찾겠습니다 ㅠㅠ

0 추천
package com.example.multical;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

public class DBAdapter extends SQLiteOpenHelper {
    private static final String DB_NAME = "mygrade.db";
    private static final int VERSION = 1;
    private static final String ID = "_id";
    private static final String SUBJECT = "subject";
    private static final String SEMESTER = "semester";

    private static final String GRADE = "grade";
    private static final String ISU = "isu";
    private static final String CREDIT = "credit";
    private static final String TABLE_NAME = "mygrades";
    private static final String CREATE_TABLE =
        "CREATE TABLE " + TABLE_NAME + " (" +
        ID + " integer primary key autoincrement, " +
                SUBJECT + " text not null, " +
                SEMESTER + " text not null," + CREDIT +"text not null," + GRADE +"text not null" + ISU + "text not null);";

    private SQLiteDatabase db;

    public DBAdapter(Context context) {
        super(context, DB_NAME, null, VERSION);
        db = this.getWritableDatabase();
    }

    @Override
    public synchronized void close() {
        db.close();
        super.close();
    }

    @Override
    protected void finalize() throws Throwable {
        close();
        super.finalize();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

     create
    public boolean insertInfo(String subject, String semester, String grade, String isu, String credit) {
        ContentValues cv = new ContentValues();
        cv.put(SUBJECT, subject);
        cv.put(SEMESTER, semester);
        cv.put(GRADE,grade);
        cv.put(ISU,isu);
        cv.put(CREDIT,credit);
        return db.insert(TABLE_NAME, null, cv) != -1;
    }

     read
    public ArrayList<Info> getAllInfo() {
        ArrayList<Info> info = new ArrayList<Info>();
        Cursor c = db.query(TABLE_NAME, new String[] {ID, SUBJECT, SEMESTER,GRADE,ISU,CREDIT}, null, null, null, null, ID + " DESC");

        if (c.moveToFirst()) {
            final int indexId = c.getColumnIndex(ID);
            final int indexSubject = c.getColumnIndex(SUBJECT);
            final int indexSemester = c.getColumnIndex(SEMESTER);
            final int indexGrade = c.getColumnIndex(GRADE);
            final int indexISU = c.getColumnIndex(ISU);
            final int indexCREDIT = c.getColumnIndex(CREDIT);



            do {
                int id = c.getInt(indexId);
                String Subject = c.getString(indexSubject);
                String Semester = c.getString(indexSemester);
                String Grade = c.getString(indexGrade);
                String ISU = c.getString(indexISU);
                String Credit = c.getString(indexCREDIT);
                info.add(new Info(id, Subject, Semester, Grade, ISU, Credit));
            } while (c.moveToNext());
        }
        c.close();

        return info;
    }

     update
    public boolean updateInfo(Info i) {
        ContentValues cv = new ContentValues();
        cv.put(SUBJECT, i.getSubject());
        cv.put(SEMESTER, i.getSemester());
        cv.put(GRADE, i.getGrade());
        cv.put(ISU,i.getIsu());
        cv.put(CREDIT,i.getCredit());

        String[] params = new String[] { Integer.toString(i.getId()) };
        int result = db.update(TABLE_NAME, cv, ID + "=?", params);
        return result > 0;
    }

     delete
    public boolean deleteInfo(int id) {
        String[] params = new String[] { Integer.toString(id) };
        int result = db.delete(TABLE_NAME, ID + "=?", params);
        return result > 0;
    }

    public boolean deleteAll() {
        int result=db.delete(TABLE_NAME, null, null);
        return result > 0;
     }
}

오류도안떠서 답답합니다 ㅠㅠ 어디가 문제일까요???

개수이 (260 포인트) 님이 2015년 11월 8일 질문

1개의 답변

+1 추천
CREATE TABLE 시... 띄어쓰기 잘 되어 있는지 확인 해보세요.. 음... 저 오류라면 로그가 뜰텐데요;;
libre2k (7,420 포인트) 님이 2015년 11월 9일 답변
말씀해주신대로, create쪽 띄어쓰기 오류여서 안잡혔엇네요 ㅠㅠ 감사합니다
...