title: dbhelper , ORMLite and fragments issues
body: <p>I've got problem with my database. Application sends link written by user and in response get short form of the link (that works fine). In my database I need to put both versions of the link - full , and short one and here we have a problem. I got error like this : </p>
  
  <pre><code>java.lang.IllegalStateException: Could not construct instance of helper class class pl.bartos.task.DatabaseHelper
              at com.j256.ormlite.android.apptools.OpenHelperManager.constructHelper(OpenHelperManager.java:222)
              at com.j256.ormlite.android.apptools.OpenHelperManager.loadHelper(OpenHelperManager.java:170)
              at com.j256.ormlite.android.apptools.OpenHelperManager.getHelper(OpenHelperManager.java:78)
              at pl.bartos.task.Fragments2.getHelper(Fragments2.java:35)
              at pl.bartos.task.Fragments2.onCreateView(Fragments2.java:56)
  </code></pre>
  
  <p>It's my first app with ORMLite so I'm bit confused.</p>
  
  <p>Here's my fragments2.class :</p>
  
  <pre><code>public class Fragments2 extends SherlockFragment {
  
  
  private ListView linkListView;
  private Dao&lt;Link, Integer&gt; linkDao;
  private List&lt;Link&gt; linkList = new ArrayList();
  
  private DatabaseHelper getHelper() {
      if (databaseHelper == null) {
          databaseHelper = OpenHelperManager.getHelper(getActivity(), DatabaseHelper.class);
      }
      return databaseHelper;
  }
  
  private DatabaseHelper databaseHelper = null;
  
  
  public Fragments2() {
  }
  
  
  @Nullable
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
          savedInstanceState) {
  
      View rootView = inflater.inflate(R.layout.fragment2, container, false);
      linkListView = (ListView) rootView.findViewById(R.id.link_lv);
  
      try {
          linkDao = getHelper().getLinkDao();
          linkList = linkDao.queryForAll();
          final View rowView = inflater.inflate(R.layout.link_item, linkListView, false);
          linkListView.addHeaderView(rowView);
          linkListView.setAdapter(new LinkAdapter(getActivity(), R.layout.link_item, linkList, linkDao));
          populateNoRecordMsg();
  
  
      } catch (SQLException e) {
          e.printStackTrace();
      }
  
      return rootView;
  }
  private void populateNoRecordMsg()
  {
      // If, no record found in the database, appropriate message needs to be displayed.
      if(linkList.size() == 0)
      {
          final TextView tv = new TextView(getActivity());
          tv.setPadding(5, 5, 5, 5);
          tv.setTextSize(15);
          tv.setText("No Record Found !!");
          linkListView.addFooterView(tv);
      }
  }
  
  
  @Override
  public void onDetach() {
      super.onDetach();
      try {
          Field childFragmentManager = Fragment.class
                  .getDeclaredField("mChildFragmentManager");
          childFragmentManager.setAccessible(true);
          childFragmentManager.set(this, null);
      } catch (IllegalAccessException e) {
          e.printStackTrace();
      } catch (NoSuchFieldException e) {
          e.printStackTrace();
      }
  }
  
  @Override
  public void onDestroyView() {
      super.onDestroyView();
      if (databaseHelper != null) {
          OpenHelperManager.releaseHelper();
          databaseHelper = null;
      }
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p><strong>Here's my DatabaseHelper class</strong></p>
  
  <pre><code>public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
  
  private static final String DATABASE_NAME = "link.db";
  private static final int DATABASE_VERSION = 1;
  private Dao&lt;Link, Integer&gt; linkDao;
  
  public DatabaseHelper(Context context) {
      super(context, DATABASE_NAME, null, DATABASE_VERSION, R.raw.ormlite_config);
  }
  @Override
  public void onCreate(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource) {
      try {
          TableUtils.createTable(connectionSource, Link.class);
  
      } catch (SQLException e) {
          Log.e(DatabaseHelper.class.getName(), "Unable to create database", e);
      }
  }
  @Override
  public void onUpgrade(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource, int oldVer, int newVer) {
      try {
  
          // In case of change in database of next version of application, please increase the value of DATABASE_VERSION variable, then this method will be invoked
          //automatically. Developer needs to handle the upgrade logic here, i.e. create a new table or a new column to an existing table, take the backups of the
          // existing database etc.
  
          TableUtils.dropTable(connectionSource, Link.class, true);
          onCreate(sqliteDatabase, connectionSource);
  
      } catch (SQLException e) {
          Log.e(DatabaseHelper.class.getName(), "Unable to upgrade database from version " + oldVer + " to new "
                  + newVer, e);
      }
  }
  public Dao&lt;Link, Integer&gt; getLinkDao() throws SQLException {
      if (linkDao == null) {
          linkDao = getDao(Link.class);
      }
      return linkDao;
  }
  </code></pre>
  
  <p>}</p>
  
  <p><strong>And here's my adapter</strong></p>
  
  <pre><code>public class LinkAdapter extends ArrayAdapter&lt;String&gt; {
  
  private LayoutInflater inflater;
  private List records;
  private Dao&lt;Link, Integer&gt; linkDao;
  private Context context;
  
  
  public LinkAdapter(Context context, int resource, List objects, Dao&lt;Link, Integer&gt; linkDao) {
      super(context, resource, objects);
  
      this.records = objects;
      this.linkDao = linkDao;
  
  
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
      if(convertView == null)
          convertView = inflater.inflate(R.layout.link_item, parent, false);
      if(records.get(position).getClass().isInstance(new Link())){
          final Link link = (Link) records.get(position);
          ((TextView)convertView.findViewById(R.id.entered_tv)).setText(link.getLongLink());
          ((TextView)convertView.findViewById(R.id.short_tv)).setText(link.getShortLink());
      }
      return convertView;
      }
  }
  </code></pre>
  
  <p><strong>Please, help :/</strong></p>