我的android db文件有问题吗?

我的android db文件有问题吗?,android,sqlite,Android,Sqlite,在2小时之前,我已经从eclipse文件资源管理器中提取了我的db文件,当时它拥有所有数据。但是现在,当我通过拉db文件进行检查时,它只有一个表,没有其他内容,我感到震惊 为什么会这样? 有人能解释吗 我的完整数据库代码 package com.example.istudy; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.List;

在2小时之前,我已经从eclipse文件资源管理器中提取了我的db文件,当时它拥有所有数据。但是现在,当我通过拉db文件进行检查时,它只有一个表,没有其他内容,我感到震惊 为什么会这样? 有人能解释吗

我的完整数据库代码

    package com.example.istudy;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.AvoidXfermode;
import android.util.Log;

import com.example.dbtable.ProfileTable;
import com.example.dbtable.Sem5;

public class DBHandler extends SQLiteOpenHelper {

    private static final int VERSION = 1;
    private static final String DB_NAME = "iStudy";
    private static final String TABLE_NAME1 = "sem5";
    private static final String TABLE_NAME2 = "profile";


    //columns
    private static final String KEY_SUBJ = "sub_name";
    private static final String KEY_CHAP = "total_chapters";
    private static final String KEY_CHAP_COMPLETED = "chap_completed";
    private static final String KEY_CHAP_REMAINING = "chap_remaining";

    private static final String KEY_NAME = "name";
    private static final String KEY_SEM = "sem";
    private static final String KEY_COLG_TIMING = "colg_timing";
    private static final String KEY_STUDY_HOURS = "study_hours";
    private static final String KEY_TERM_START = "term_start";
    private static final String KEY_TERM_END = "term_end";


    public DBHandler(Context context) {
        super(context, DB_NAME, null, VERSION);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        Log.d(Profile.getTag(), "oncreate (...) is ececuting ...");

        String create_table = "CREATE TABLE " + TABLE_NAME1 + " ( " + KEY_SUBJ + " TEXT PRIMARY KEY , " + KEY_CHAP + " INTEGER , " + 
        KEY_CHAP_COMPLETED + " INTEGER, " + KEY_CHAP_REMAINING + " INTEGER " + " )";
        db.execSQL(create_table);

        create_table = null;

        create_table = "CREATE TABLE " + TABLE_NAME2 + " ( " + KEY_NAME + " TEXT PRIMARY KEY, " + KEY_SEM + " INTEGER ,  " + KEY_COLG_TIMING + " TEXT ," + 
        KEY_STUDY_HOURS + " TEXT , " + KEY_TERM_START + " DATE , " + KEY_TERM_END + " DATE  )";
        db.execSQL(create_table);

        Log.d(Profile.getTag(), "After creating table inserting sem5 table data");

        insertInSem5Table(db);


    }

    private void insertInSem5Table(SQLiteDatabase db ){
        String[] subName = {"ADBMS","CN","EVS","MP","TCS"};

        for (int i = 0; i < subName.length; i++) {
            ContentValues values = new ContentValues();
            values.put(KEY_SUBJ, subName[i]);

                if( !(subName[i].equals("MP")) ){
                    values.put(KEY_CHAP, 8);

                }
                else{
                    values.put(KEY_CHAP, 7);
                }

                values.put(KEY_CHAP_COMPLETED, -1);

                if( !(subName[i].equals("MP")) ){
                    values.put(KEY_CHAP_REMAINING, 8);

                }
                else{
                    values.put(KEY_CHAP_REMAINING, 7);
                }

                long insert = db.insert(TABLE_NAME1, null, values);
                Log.d(Profile.getTag() , String.valueOf(insert)) ;


        }

        Log.d(Profile.getTag(), "closing the db after inserting sem5 data");
        db.close();

    }

    public void insertProfileData(String name, int sem, String colgTimingFrom, String colgTimingTo, String studyHourFrom, String studyHourTo, 
            Date termStart, Date termEnd ){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_NAME, name);
        values.put(KEY_SEM, sem);
        values.put(KEY_COLG_TIMING, colgTimingFrom + " " + colgTimingTo );
        values.put(KEY_STUDY_HOURS, studyHourFrom + " " + studyHourTo );
        values.put(KEY_TERM_START, termStart.toString() );
        values.put(KEY_TERM_END, termEnd.toString() );
        db.insert(TABLE_NAME2, null, values);
        Log.d(Profile.getTag(), "values inserted successfully ....");
        db.close();
    }

    public List<Sem5> getAllRecordsOfSem5Table( ){
        List<Sem5> list = new ArrayList<Sem5>();
        String query = "SELECT * FROM " + TABLE_NAME1;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(query, null);
        if( cursor.moveToFirst() ){
            do{
                Sem5 sem5 = new Sem5();

//              int columnIndex = cursor.getColumnIndex(KEY_SUBJ);
//              int columnIndex2 = cursor.getColumnIndex(KEY_CHAP);
//              int columnIndex3 = cursor.getColumnIndex(KEY_CHAP_COMPLETED);
//              int columnIndex4 = cursor.getColumnIndex(KEY_CHAP_REMAINING);
//              
//              
//              
//              Log.d("naved " , cursor.getString(columnIndex));
//              Log.d("naved " , cursor.getString(columnIndex2));
//              Log.d("naved "  , cursor.getString(columnIndex3));
////                Log.d("naved "  , cursor.getString(columnIndex4));
//              String string = cursor.getString(columnIndex4);
//              if( string == null )
//                  Log.d("naved chap_remaing " , " null " );
//              else
//              Log.d("naved chap_remainig " , string);


                sem5.setKEY_SUBJ(cursor.getString(0));
                sem5.setKEY_CHAP(Integer.parseInt(cursor.getString(1)));
                sem5.setKEY_CHAP_COMPLETED(Integer.parseInt(cursor.getString(2)));
                sem5.setKEY_CHAP_REMAINING(Integer.parseInt(cursor.getString(3)));
                list.add(sem5);
            }while(cursor.moveToNext());
        }
        db.close();
        return list;

    }

    public List<ProfileTable> getAllRecordsOfProfileTable( ){
        Log.d(Profile.getTag(), "Getting all records of profile table ....");

        List<ProfileTable> list = new ArrayList<ProfileTable>();
        String query = "SELECT * FROM " + TABLE_NAME2;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(query, null);
        if( cursor.moveToFirst() ){
            do{
                ProfileTable profileTable = new ProfileTable();
                profileTable.setKEY_NAME(cursor.getString(0));
                profileTable.setKEY_SEM(Integer.parseInt(cursor.getString(1)));
                Date colgTiming = null, studyHrs = null, termStart = null, termEnd = null;
                try {
                     colgTiming = java.text.DateFormat.getInstance().parse(cursor.getString(2));
                     studyHrs = java.text.DateFormat.getInstance().parse(cursor.getString(3));
                     termStart = java.text.DateFormat.getInstance().parse(cursor.getString(4));
                     termEnd = java.text.DateFormat.getInstance().parse(cursor.getString(5));
                     profileTable.setKEY_COLG_TIMING( colgTiming);
                     profileTable.setKEY_STUDY_HOURS(studyHrs);
                     profileTable.setKEY_TERM_START(termStart);
                     profileTable.setKEY_TERM_END(termEnd);
                     list.add(profileTable);

                } catch (Exception e) {
                    // TODO: handle exception
                    db.close();
                    return null;
                }


            }while(cursor.moveToNext());
        }

        Log.d(Profile.getTag(), "Closing db ....after getting profile table...");
        db.close();
        return list;

    }




    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}
package com.example.istudy;
导入java.text.ParseException;
导入java.util.ArrayList;
导入java.util.Date;
导入java.util.List;
导入android.content.ContentValues;
导入android.content.Context;
导入android.database.Cursor;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLiteOpenHelper;
导入android.graphics.AvoidXfermode;
导入android.util.Log;
导入com.example.dbtable.ProfileTable;
导入com.example.dbtable.Sem5;
公共类DBHandler扩展了SQLiteOpenHelper{
私有静态最终int版本=1;
私有静态最终字符串DB_NAME=“iStudy”;
私有静态最终字符串表_NAME1=“sem5”;
私有静态最终字符串表_NAME2=“profile”;
//纵队
私有静态最终字符串KEY\u subc=“sub\u name”;
私有静态最终字符串键\u CHAP=“total\u chapters”;
私有静态最终字符串密钥\u CHAP\u COMPLETED=“CHAP\u COMPLETED”;
私有静态最终字符串密钥\u CHAP\u REMAINING=“CHAP\u REMAINING”;
私有静态最终字符串键\u NAME=“NAME”;
私有静态最终字符串密钥\u SEM=“SEM”;
私有静态最终字符串KEY\u COLG\u TIMING=“COLG\u TIMING”;
私有静态最终字符串键\u STUDY\u HOURS=“STUDY\u HOURS”;
私有静态最终字符串键\u TERM\u START=“TERM\u START”;
私有静态最终字符串键\u TERM\u END=“TERM\u END”;
公共DBHandler(上下文){
super(上下文、数据库名称、null、版本);
//TODO自动生成的构造函数存根
}
@凌驾
public void onCreate(SQLiteDatabase db){
//TODO自动生成的方法存根
Log.d(Profile.getTag(),“oncreate(…)正在执行…”);
字符串create_table=“create table”+table_NAME1+”(“+KEY_subc+”文本主键“+KEY_CHAP+”整数“+
键“已完成”+“整数”+“剩余”+“整数”+”;
db.execSQL(创建_表);
create_table=null;
create_table=“create table”+表名2+”(“+KEY_NAME+”文本主键“+KEY_SEM+”整数“+KEY_COLG_计时+”文本“+
按键学习时间+“文本”+“按键学期开始+“日期”+“按键学期结束+“日期”;
db.execSQL(创建_表);
Log.d(Profile.getTag(),“创建表后插入sem5表数据”);
插入表(db);
}
私有void insertInSem5Table(SQLiteDatabase db){
字符串[]子名称={“ADBMS”、“CN”、“EVS”、“MP”、“TCS”};
对于(int i=0;ipublic class Profile extends Activity implements OnClickListener {

private static final String TAG = "iStudy";

//private DBHandler dbHandler;

public static String getTag() {
    return TAG;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    DBHandler dbHandler = new DBHandler(this);

    Log.d(TAG , "Retriving profile data ...");

    List<ProfileTable> allRecordsOfProfileTable = dbHandler.getAllRecordsOfProfileTable();


    if( allRecordsOfProfileTable == null || allRecordsOfProfileTable.size() == 0 ){
        Log.d(TAG , "Retrived profile record ..it was either null or allRecordsOfProfileTable.size() == 0 ... so starting profile_activity");
        setContentView( R.layout.profile_screen );
    }else{
        Log.d(TAG , "Retrived profile record ..it was not null so starting home_activity");
        setContentView( R.layout.home_activity ) ;
    }

     Button nxtBtn = (Button) findViewById(R.id.nxtBtn);
     nxtBtn.setOnClickListener(this);

    } }