package com.shunzhi.parent.util; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; import com.shunzhi.parent.bean.ChildBean; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; /** * Created by ToaHanDong on 2017/3/24. */ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static final String TABLE_NAME = "parent.db"; private Map daos = new HashMap(); private static DatabaseHelper instance; public DatabaseHelper(Context context){ super(context,TABLE_NAME,null,1); } /* 创建数据库 */ @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try { TableUtils.createTableIfNotExists(connectionSource, ChildBean.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { TableUtils.dropTable(connectionSource,ChildBean.class,true); onCreate(database,connectionSource); } catch (SQLException e) { e.printStackTrace(); } } //删除数据库 public void deleteAll(){ try { TableUtils.dropTable(connectionSource,ChildBean.class,true); } catch (SQLException e) { e.printStackTrace(); } } public static synchronized DatabaseHelper getHelper(Context context){ context=context.getApplicationContext(); if (null==instance){ synchronized (DatabaseHelper.class){ if (null==instance){ instance=new DatabaseHelper(context); } } } return instance; } public synchronized Dao getDao(Class clazz) throws SQLException { Dao dao = null; String className = clazz.getSimpleName(); if (daos.containsKey(className)) { dao = daos.get(className); } if (dao == null) { dao = super.getDao(clazz); daos.put(className, dao); } return dao; } /** * 释放资源 */ @Override public void close() { super.close(); for (String key : daos.keySet()) { Dao dao = daos.get(key); dao = null; } } }