2011-01-28 6 views
3

ORMLite를 사용하기로 결정했을 때 상당히 많은 양의 코드가 작성되었습니다.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

1

[@ 닉의 대답은 괜찮지 만 추가 정보를 추가 할 것으로 생각했습니다. ]

ORMLite에는 버전 4.10에서 추가 된 OrmLiteBaseListActivity 클래스가 없습니다. 미안해합니다. 그 동안에 TabActivity에서 ListActivity까지 확장되는 클래스를 변경하여 OrmLiteBaseTabActivity 클래스를 복사하여이 클래스의 고유 한 버전을 쉽게 만들 수 있습니다. 그런 다음 목록 활동 클래스를 모두 변경하여이 새 클래스를 확장하십시오. 4.10이 끝나면 돌아가서 수업을 삭제할 수 있습니다. 예를 들어

: 도움을

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