업데이트 하면 DB가 예전 것으로 나와요......
DB를 수정하고 apk를 생성하여 앱을 업데이트 하면 업데이트 전 DB가 그대로 있어요.........
어플 관리에서 자료 삭제를 하면 수정한 자료로 그때서야 바뀌네요......
고수님들 업데이트 하면 바로 적용될수 있도록 도와 주세요....
DatabaseHelper.java 내용입니다.
package Phone;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.Context;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DatabaseHelper extends SQLiteOpenHelper
{
public static final String ROOT_DIR = "/data/data/Phone/databases/";
private static final String DATABASE_NAME = "appdb.sqlite";
private static final int SCHEMA_VERSION = 2;
public DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, SCHEMA_VERSION);
setDB(context);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public static void setDB(Context ctx) {
File folder = new File(ROOT_DIR);
if(folder.exists()) {
} else {
folder.mkdirs();
}
AssetManager assetManager = ctx.getResources().getAssets();
File outfile = new File(ROOT_DIR+"appdb.sqlite");
InputStream is = null;
FileOutputStream fo = null;
long filesize = 0;
try {
is = assetManager.open("appdb.sqlite", AssetManager.ACCESS_BUFFER);
filesize = is.available();
if (outfile.length() <= 0) {
byte[] tempdata = new byte[(int) filesize];
is.read(tempdata);
is.close();
outfile.createNewFile();
fo = new FileOutputStream(outfile);
fo.write(tempdata);
fo.close();
} else {}
} catch (IOException e) {}
}
public ArrayList<HashMap<String,String>> getAllSawons()
{
ArrayList<HashMap<String,String>> sawonList = new ArrayList<HashMap<String,String>>();
String selectQuery = "select * from User order by name" ;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> sawon = new HashMap<String, String>();
String tel = ("031-");
sawon.put("name", cursor.getString(2));
sawon.put("nameChosung", cursor.getString(3));
sawon.put("nameJa", cursor.getString(4));
sawon.put("tel", tel+cursor.getString(6));
sawon.put("buser", cursor.getString(8));
sawon.put("damdang", cursor.getString(7));
sawon.put("image_path", cursor.getString(11));
sawon.put("memo", cursor.getString(12));
sawon.put("phone", cursor.getString(9));
sawon.put("mail", cursor.getString(5));
sawonList.add(sawon);
} while (cursor.moveToNext());
}
db.close();
cursor.close();
return sawonList;
}
public ArrayList<HashMap<String,String>> AllBusers()
{
ArrayList<HashMap<String,String>> buserList = new ArrayList<HashMap<String,String>>();
String selectQuery = "select * from Buser order by _id" ;
SQLiteDatabase db = this.getReadableDatabase();
Cursor bcursor = db.rawQuery(selectQuery, null);
if (bcursor.moveToFirst()) {
do {
HashMap<String, String> buser = new HashMap<String, String>();
buser.put("Bbuser", bcursor.getString(1));
buser.put("Bdamdang", bcursor.getString(2));
buser.put("Btel", bcursor.getString(3));
buser.put("BbuserChosung", bcursor.getString(4));
buser.put("BdamdangChosung", bcursor.getString(5));
buserList.add(buser);
} while (bcursor.moveToNext());
}
db.close();
bcursor.close();
return buserList;
}
/**
* 부서 목록 추출
* @return
*/
public ArrayList<String> AllBuserNmList() {
ArrayList<String> buserNmList = new ArrayList<String>();
String selectQuery = "SELECT DISTINCT Bbuser FROM buser ORDER BY _id ASC";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if(cursor.moveToFirst()) {
do {
buserNmList.add(cursor.getString(0));
} while(cursor.moveToNext());
}
db.close();
cursor.close();
return buserNmList;
}
/**
* 부서이름이 같은 부서 목록 추출
* @param buserNm 부서이름
* @return
*/
public ArrayList<HashMap<String,String>> getBuserList(String buserNm)
{
ArrayList<HashMap<String,String>> buserList = new ArrayList<HashMap<String,String>>();
String selectQuery = "SELECT * FROM Buser WHERE Bbuser LIKE '" + buserNm + "' ORDER BY _id" ;
SQLiteDatabase db = this.getReadableDatabase();
Cursor bcursor = db.rawQuery(selectQuery, null);
if (bcursor.moveToFirst()) {
do {
HashMap<String, String> buser = new HashMap<String, String>();
buser.put("Bbuser", bcursor.getString(1));
buser.put("Bdamdang", bcursor.getString(2));
buser.put("Btel", bcursor.getString(3));
buser.put("BbuserChosung", bcursor.getString(4));
buser.put("BdamdangChosung", bcursor.getString(5));
buserList.add(buser);
} while (bcursor.moveToNext());
}
db.close();
bcursor.close();
return buserList;
}
public ArrayList<HashMap<String,String>> getBDUserNmList(String buser, String damdang) {
ArrayList<HashMap<String,String>> bdUserNmList = new ArrayList<HashMap<String,String>>();
String selectQuery = "SELECT * FROM User WHERE buser LIKE '"+buser+"' AND damdang LIKE '"+damdang+"' ORDER BY _id";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> sawon = new HashMap<String, String>();
String tel = ("031-");
sawon.put("name", cursor.getString(2));
sawon.put("nameChosung", cursor.getString(3));
sawon.put("nameJa", cursor.getString(4));
sawon.put("tel", tel+cursor.getString(6));
sawon.put("buser", cursor.getString(8));
sawon.put("damdang", cursor.getString(7));
sawon.put("image_path", cursor.getString(11));
sawon.put("memo", cursor.getString(12));
sawon.put("phone", cursor.getString(9));
sawon.put("mail", cursor.getString(5));
bdUserNmList.add(sawon);
} while (cursor.moveToNext());
}
db.close();
cursor.close();
return bdUserNmList;
}
public HashMap<String,String> getUserInfo(String buser, String damdang, String name) {
HashMap<String,String> userInfo = new HashMap<String, String>();
String selectQuery = "SELECT * FROM User WHERE buser LIKE '"+buser+"' AND damdang LIKE '"+damdang+"' AND name LIKE'"+name+"'";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
String tel = ("031-");
userInfo.put("name", cursor.getString(2));
userInfo.put("nameChosung", cursor.getString(3));
userInfo.put("nameJa", cursor.getString(4));
userInfo.put("mail", cursor.getString(5));
userInfo.put("tel", tel+cursor.getString(6));
userInfo.put("damdang", cursor.getString(7));
userInfo.put("buser", cursor.getString(8));
userInfo.put("phone", cursor.getString(9));
userInfo.put("image_path", cursor.getString(11));
userInfo.put("memo", cursor.getString(12));
}
db.close();
cursor.close();
return userInfo;
}
// 사원 DB에 검색하려는 전화번호의 존재 유무 확인
public boolean isExistPhoneNum(String pn) {
String selectQuery = "SELECT * FROM User WHERE replace(phone,'-','') LIKE '" + pn +"'";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
boolean isEPN = (cursor.getCount() < 1) ? false : true;
db.close();
cursor.close();
return isEPN;
}
}