// Path: Client/LogisticsPlatform_stable/app/src/main/java/com/logistics/utils/DatabaseHelper.java
// public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
// 
// 	private static final String DATABASE_NAME = "logistics.db";
// 	
// 	/**
// 	 * 数据库的版本，更新一次数据库，会把原来的是数据都删掉（TODO 修改成升级策略）
// 	 * 更新的做法，是把DATABASE_VERSION加1
// 	 */
// 	private static final int DATABASE_VERSION = 1;
// 	
// 	private Dao<MyData, Integer> mydataDao;
// 			
// 	public DatabaseHelper(Context context) {
// 		super(context, DATABASE_NAME, null, DATABASE_VERSION);
// 	}
// 	
// 	/**
// 	 * 第一次安装的时候创建数据库
// 	 */
// 	@Override
// 	public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {		
// 		try {
// 			//TableUtils.createTable(connectionSource, Account.class);
// 			TableUtils.createTable(connectionSource, MyData.class);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 	}
// 
// 	/**
// 	 * APP更新的时候更新数据库
// 	 */
// 	@Override
// 	public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion,
// 			int newVersion) {
// 		try {
// 			//TableUtils.dropTable(connectionSource, Account.class, true);
// 			TableUtils.dropTable(connectionSource, MyData.class, true);
// 			onCreate(db, connectionSource);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 	}
// 
// 	public Dao<MyData, Integer> getMyDataDao() throws SQLException {
// 		if (mydataDao == null) {
// 			mydataDao = getDao(MyData.class);
// 		}
// 		return mydataDao;
// 	}
// 	
// 	@Override
// 	public void close() {
// 		// TODO Auto-generated method stub
// 		super.close();
// 	}
// 	
// 	
// }


import com.google.inject.AbstractModule;
import com.logistics.utils.DatabaseHelper;
package com.logistics.module;


/**
 * 模块化安装各个组件
 * 实现了接口和服务的分离
 * @author Mingzhou Zhuang (mingzhou.zhuang@gmail.com)
 *
 */
public class LogisticsModule extends AbstractModule {
	
	@Override
	protected void configure() {
		//	指定要使用的interface是由哪个具体的service实现的
		
		//	如果直接使用具体的service，当然就不需要再绑定了，比如这里的com.mz.astroboy.entity.internal.ContextInfo
// Path: Client/LogisticsPlatform_stable/app/src/main/java/com/logistics/utils/DatabaseHelper.java
// public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
// 
// 	private static final String DATABASE_NAME = "logistics.db";
// 	
// 	/**
// 	 * 数据库的版本，更新一次数据库，会把原来的是数据都删掉（TODO 修改成升级策略）
// 	 * 更新的做法，是把DATABASE_VERSION加1
// 	 */
// 	private static final int DATABASE_VERSION = 1;
// 	
// 	private Dao<MyData, Integer> mydataDao;
// 			
// 	public DatabaseHelper(Context context) {
// 		super(context, DATABASE_NAME, null, DATABASE_VERSION);
// 	}
// 	
// 	/**
// 	 * 第一次安装的时候创建数据库
// 	 */
// 	@Override
// 	public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {		
// 		try {
// 			//TableUtils.createTable(connectionSource, Account.class);
// 			TableUtils.createTable(connectionSource, MyData.class);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 	}
// 
// 	/**
// 	 * APP更新的时候更新数据库
// 	 */
// 	@Override
// 	public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion,
// 			int newVersion) {
// 		try {
// 			//TableUtils.dropTable(connectionSource, Account.class, true);
// 			TableUtils.dropTable(connectionSource, MyData.class, true);
// 			onCreate(db, connectionSource);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 	}
// 
// 	public Dao<MyData, Integer> getMyDataDao() throws SQLException {
// 		if (mydataDao == null) {
// 			mydataDao = getDao(MyData.class);
// 		}
// 		return mydataDao;
// 	}
// 	
// 	@Override
// 	public void close() {
// 		// TODO Auto-generated method stub
// 		super.close();
// 	}
// 	
// 	
// }


// Path: Client/LogisticsPlatform_stable/app/src/main/java/com/logistics/module/LogisticsModule.java
import com.google.inject.AbstractModule;
import com.logistics.utils.DatabaseHelper;

package com.logistics.module;


/**
 * 模块化安装各个组件
 * 实现了接口和服务的分离
 * @author Mingzhou Zhuang (mingzhou.zhuang@gmail.com)
 *
 */
public class LogisticsModule extends AbstractModule {
	
	@Override
	protected void configure() {
		//	指定要使用的interface是由哪个具体的service实现的
		
		//	如果直接使用具体的service，当然就不需要再绑定了，比如这里的com.mz.astroboy.entity.internal.ContextInfo
		requestStaticInjection(DatabaseHelper.class);