【问题标题】:Error log on android sqlite databaseandroid sqlite数据库上的错误日志
【发布时间】:2014-07-02 14:01:50
【问题描述】:

我在我的 android 应用程序中使用 sqlite。 我创建了我的数据库,一切都很好,但是在 LogCat 上,我有一些错误,我不知道是什么意思,你能帮我解决这个错误吗? 它们重要吗?

我的代码:

public class Helper extends SQLiteOpenHelper {

public Helper(Context params)
{
    super(params, RastakDatabse.DATABASE_NAME, null, 3);

}   

@Override
public void onCreate(SQLiteDatabase db) {
      String CREATE_TABLE =  "CREATE TABLE " + Province.TABLE_NAME + " (" +
                Province._ID + " INTEGER PRIMARY KEY," +
                Province.PROVINCE_NAME +" TEXT ";


        db.execSQL(CREATE_TABLE);

        CREATE_TABLE =   "CREATE TABLE " + City.TABLE_NAME + " (" +
                City.CITY_ID + " INTEGER PRIMARY KEY," +
                City.CITY_NAME +" TEXT, " +
                City.PROVINCE_ID +"INTEGER)";


        db.execSQL(CREATE_TABLE);

        CREATE_TABLE ="CREATE TABLE " + Company.TABLE_NAME + " (" +
                Company.COMPANY_ID +" INTEGER PRIMARY KEY," +
                Company.CITY_ID +" INTEGER, " +
                Company.COMPANY_NAME+" TEXT," +
                Company.LOCATION+" TEXT ," +
                Company.GUILD +" INTEGER)" ;
        db.execSQL(CREATE_TABLE);


        CREATE_TABLE= "CREATE TABLE " + Guild.TABLE_NAME + " (" +
        Guild.GUILD_ID + " INTEGER PRIMARY KEY," +
        Guild.GUILD_NAME +" TEXT)";
        db.execSQL(CREATE_TABLE);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    db.execSQL("DROP TABLE IF EXISTS "+RastakDatabse.DATABASE_NAME);    
}


public void add(String name,String loc,long id) {
    SQLiteDatabase db=this.getWritableDatabase();
    ContentValues values=new ContentValues();
    values.put("id",id );
    values.put("name",name );
    values.put("loc",loc);   
    db.insert("Location", null, values);
    db.close();
}

主要活动:

public void DownloadLocation() {
    Query q=new Query(getApplicationContext());

    final Helper hel=new Helper(getApplicationContext());

            List<Location> Loc=new ArrayList<Location>();  
              JSONObject toSend = new JSONObject();

             int db_count = hel.check();    
                try {           
                    toSend.put("city_id", 1);
               String result="";     
                JSONTransmitter transmitter = new JSONTransmitter();
                transmitter.url="http://192.168.1.5/include/json/locations.php";
              AsyncTask<JSONObject, JSONObject, JSONObject> jo=  transmitter.execute(new JSONObject[] {toSend});
             JSONObject jjjj=jo.get();
            JSONArray array=jjjj.getJSONArray("locations");
            Log.d("count:::", array.length()+"");
        for (int i = 0; i < array.length(); i++) {
            Location lo=new Location();

                JSONObject json_data = array.getJSONObject(i);
                JSONArray arr1=json_data.getJSONArray("location");
                hel.add(arr1.getString(1), arr1.getString(2),arr1.getInt(0));
            Log.i("SDFDS", arr1.getString(2)); 
            lo.id=arr1.getInt(0);  
            lo.name=arr1.getString(1);
            lo.loc=arr1.getString(2);
            Loc.add(lo);
            hel.close();   

                } 
                }   
        catch (JSONException e) {
            Log.e("EROOR1", e.getMessage());  
            } 
                catch (InterruptedException e) {
            Log.e("EROOR1", e.getMessage());        
        } 
                catch (ExecutionException e) {
            Log.e("EROOR2", e.getMessage());
        } 

        }

【问题讨论】:

标签: android sqlite logging


【解决方案1】:

您尚未在任何地方关闭您的数据库。如果您完成了获取数据库之外的所有信息,则必须关闭游标和数据库,如下所示:

  yourCursor.close();

  yourDatabase.close();

为了更好的帮助,请发布一些相关的代码部分...

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多