| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 
 |  
public class DBAdapter {
 
	DatabaseHelper DBHelper;
	Context context;
	SQLiteDatabase db;
	private static String DB_PATH = "/data/data/com.monapplication/databases/";
 
	private static String DB_NAME = "produits.db";
 
	private String myPath = DB_PATH + DB_NAME;
	private final String MY_DATABASE_TABLE = "matable";
 
	public String columnName;
 
	public DBAdapter(Context context) {
		this.context = context;
		DBHelper = new DatabaseHelper(context);
 
	}
 
	public class DatabaseHelper extends SQLiteOpenHelper {
 
		Context context;
 
		public DatabaseHelper(Context context) {
			/** nom de la base et n° de la version */
			super(context, DB_NAME, null, 2);
			this.context = context;
 
		}
 
		@Override
		public void onCreate(SQLiteDatabase db) {
 
		}
 
		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
		}
 
	}
 
	public DBAdapter open() {
		boolean dbExist = checkDataBase();
 
		if (dbExist) {
 
		} else {
 
			db = DBHelper.getReadableDatabase();
			try {
				copyDataBase();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			// db = DBHelper.getWritableDatabase();
		}
		return this;
	}
 
	private boolean checkDataBase() {
 
		SQLiteDatabase checkDB = null;
 
		try {
 
			checkDB = SQLiteDatabase.openDatabase(myPath, null,
					SQLiteDatabase.OPEN_READONLY);
 
		} catch (SQLiteException e) {
			// database does't exist yet.
		}
 
		if (checkDB != null) {
 
			checkDB.close();
		}
 
		return checkDB != null ? true : false;
	}
 
	public void close() {
		db.close();
	}
 
 
 
	private void copyDataBase() throws IOException {
 
		// Open your local db as the input stream
		InputStream myInput = context.getAssets().open(DB_NAME);
 
		// Path to the just created empty db
		String outFileName = DB_PATH + DB_NAME;
 
		// Open the empty db as the output stream
		OutputStream myOutput = new FileOutputStream(outFileName);
 
		// transfer bytes from the inputfile to the outputfile
		byte[] buffer = new byte[1024];
		int length;
		while ((length = myInput.read(buffer)) > 0) {
			myOutput.write(buffer, 0, length);
		}
 
		// Close the streams
		myOutput.flush();
		myOutput.close();
		myInput.close();
 
	}
 
} | 
Partager