2011-01-28 63 views
3

當我決定使用OR35ite時,我寫的代碼量相當大。ListActivity ormlite問題?

閱讀文檔後,我發現我需要延長,如:

MyClass extends OrmLiteBaseActivity<DatabaseHelper> 

,但我已經與ListActivity擴展它。

可以做到這一點,而不需要擴展OrmLiteBaseActivity?

Tnx提前。

回答

7

這不是延長OrmLiteBaseActivity的要求。你只需要自己管理更多的效用函數。

你最好的選擇是在你的活動中創建你自己的DatabaseHelper並管理它有多少用戶,並在完成使用時丟棄它。一般來說,這是OrmLiteBaseActivity給你的效用。一種機制,將爲您管理您的數據庫對象。這只是一個方便。


例子:

private static Dao<Agent, Object> agentDao = null; 
public void someMethod() { 
    if(agentDao == null){ 
     helper = (MyDBHelper) OpenHelperManager.getHelper(getContext()); 
     try { 
     agentDao = helper.getAgentDao(); 
     } catch (SQLException e) { 
     e.printStackTrace(); 
     } 
    } 
    } 

我已經實現了一個方法返回的類MyDBHelper我的DAO。看看ORMLite Android Javadoc以及更一般的ORMLite Core Javadoc。那裏有很多很好的例子。

+0

TNX尋求幫助。有沒有這樣的例子。我仍然是新手,有些代碼會有幫助。 – user505160 2011-01-28 17:46:14

1

[@ Nick的回答很好,但我想我會添加更多信息。 ]

ORMLite缺少在版本4.10中添加的OrmLiteBaseListActivity類 - 遺憾的是遺漏。與此同時,您可以通過複製OrmLiteBaseTabActivity類更改它從TabActivity延伸到ListActivity的類來輕鬆創建您自己的此類課程。然後更改所有列表活動類以擴展這個新類。一旦4.10結束,你可以回去並刪除課程。

例如:

public abstract class OrmLiteBaseListActivity<H extends OrmLiteSqliteOpenHelper> 
    extends ListActivity { 
    // insert contents of the OrmLiteBaseTabActivity class here 
}