2013-06-06 3 views
0

sqlite 데이터베이스에 로컬로 저장하는 대신 sqlite 데이터베이스를 저장하고 싶습니다. 내 코드에서 예제를 시도했지만 도움이되지 않았습니다. 아래에서 사용한 코드 블록을 추가했습니다. 코드에서 누락 된 부분을 친절하게 도와줍니다. 여기에 간단한 논리가 있다면 감사하겠습니다.안드로이드에 sdcard에 sqlite 데이터베이스를 저장하는 방법?

public class ListSparesRegistrationOpenHelper extends SQLiteOpenHelper { 
public static final String DATABASE_NAME = "LIST_List_DB"; 
public static final String TABLE_NAME = "LIST_List_TABLE"; 
public static final int VERSION = 1; 
public static final String KEY_ID = "_id"; 
public static final String ID = "ID"; 
public static final String MATERIAL = "Material"; 


public static final String SCRIPT = "create table " + TABLE_NAME + " (" 
     + KEY_ID + " integer primary key autoincrement, " 
     + ID+ " text not null, " 
     + MATERIAL + " text not null);"; 

public ListSparesRegistrationOpenHelper(Context context, String name, 
     CursorFactory factory, int version) { 
    super(context, name, factory, version); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(SCRIPT); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    db.execSQL("drop table " + TABLE_NAME); 
    onCreate(db); 
} 

}

그리고 당신은 같은 생성자에서 데이터베이스의 경로를 통과 할 수

+0

이 링크 확인 http://stackoverflow.com/questions/4433208/android-use-sqlite-database-on-sd-card-not-using-internal-android-data-store-a – blganesh101

답변

0

..

public class ListSparesRegistrationAdapter { 
SQLiteDatabase database_ob; 
ListSparesRegistrationOpenHelper openHelper_ob; 
Context context; 

public ListSparesRegistrationAdapter(Context c) { 
    context = c; 
} 

public ListSparesRegistrationAdapter opnToRead() { 
    openHelper_ob = new ListSparesRegistrationOpenHelper(context, 
      openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 
    database_ob = openHelper_ob.getReadableDatabase(); 
    return this; 

} 

public ListSparesRegistrationAdapter opnToWrite() { 
    openHelper_ob = new ListSparesRegistrationOpenHelper(context, 
      openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 
    database_ob = openHelper_ob.getWritableDatabase(); 
    return this; 

} 

public Cursor getAllTitles() 
{ 
     String[] cols = { openHelper_ob.KEY_ID, openHelper_ob.ID, 
       openHelper_ob.MATERIAL}; 
     opnToWrite(); 
     Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, 
       null, null, null, null, null); 

     return c; 
} 

public void Close() { 
    database_ob.close(); 
} 


public long insertDetails(String id, String material) { 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(openHelper_ob.ID, id); 
    contentValues.put(openHelper_ob.MATERIAL, material); 


    opnToWrite(); 
    long val = database_ob.insert(openHelper_ob.TABLE_NAME, null, 
      contentValues); 
    Close(); 
    return val; 

} 

public Cursor queryName() { 
    String[] cols = { openHelper_ob.KEY_ID, openHelper_ob.ID, 
      openHelper_ob.MATERIAL}; 
    opnToWrite(); 
    Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, null, 
      null, null, null, null); 

    return c; 

} 

public Cursor queryAll(int nameId) { 
    String[] cols = { openHelper_ob.KEY_ID, openHelper_ob.ID, 
      openHelper_ob.MATERIAL}; 
    opnToWrite(); 
    Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, 
      openHelper_ob.KEY_ID + "=" + nameId, null, null, null, null); 

    return c; 

} 



public long updateldetail(int rowId, String id, String material) { 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(openHelper_ob.ID, id); 
    contentValues.put(openHelper_ob.MATERIAL, material); 


    opnToWrite(); 
    long val = database_ob.update(openHelper_ob.TABLE_NAME, contentValues, 
      openHelper_ob.KEY_ID + "=" + rowId, null); 
    Close(); 
    return val; 
} 

public int deletOneRecord(int rowId) { 
    // TODO Auto-generated method stub 
    opnToWrite(); 
    int val = database_ob.delete(openHelper_ob.TABLE_NAME, 
      openHelper_ob.KEY_ID + "=" + rowId, null); 
    Close(); 
    return val; 
} 

public int deleteAll(){ 
    opnToWrite(); 
    return database_ob.delete(openHelper_ob.TABLE_NAME, null, null); 
    } 

} :

openHelper_ob = new ListSparesRegistrationOpenHelper(context, 
     openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 

가된다

String path = getExternalStorageDirectory() + "myPath/"; 
openHelper_ob = new ListSparesRegistrationOpenHelper(context, 
     path + openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 

SD 카드에 대한 R/W 권한이 있고 SD 카드가 마운트되어 있는지 확인하십시오.

관련 문제