[java] 안드로이드 개발을위한 좋은 ORM 툴? [닫은]

Android ( ‘gPhone’)에서 일하는 사람이라면 좋은 ORM 도구를 찾을 수있는 곳이 있습니까? 코드는 Java로 작성되었으며 데이터베이스는 SQLite입니다. 내가 찾고 싶은 것은 객체 정의가 주어진 도구, 테이블과 CRUD 함수를 자동 생성하거나 (굉장히 좋을 것입니다) 또는 테이블 정의를 취할 수있는 도구, 객체 정의, CRUD 기능을 자동 생성합니다. 문제는 데이터베이스 액세스의 작동 방식에 대한 자체 규칙이있는 Android 프레임 워크 내에서이 모든 것이 발생해야한다는 것입니다.



답변

ORMLite 패키지 에 대해 여기에 $ 0.02를 추가한다고 생각했습니다 .

Hibernate를 경량으로 대체하고 기본 Android OS 데이터베이스 호출을 사용하여 Android에서 SQLite를 지원합니다. 또한 다른 아키텍처에서 JDBC를 사용하여 다른 많은 데이터베이스 유형을 지원합니다. 우리는이 안드로이드 메일 링리스트 ORMLite의 질문을.


답변

이 질문은 노화 될 수 없지만 제안 된 프레임 워크는 가능합니다. 그래서, 먼저 비교를 위해 그러한 프레임 워크에서 중요하게 생각하는 목록이 있습니다.

  • Maven 또는 Gradle 아티팩트가 있습니까? (확실히 maven을 사용하는지 gradle을 사용하는지에 따라 큰 장점입니다)
  • 활동을 판단하기 위해 커밋에 대한 빠른 개요를 포함하여 쉬운 방법으로 코드에 액세스 할 수 있습니까? (github에서 호스팅되는 코드는 그 문제에 대한 확실한 플러스입니다)
  • 릴리스 관리 : 릴리스 / 릴리스 태그 및 아티팩트가 있습니까? (github에서 호스팅되고 git clone이 필요하거나 다운로드를 위해 마스터 타르볼을 제공하는 것이 있습니다-릴리스 태그조차도 README에서 설정되고 해결되지 않은 경우 큰 마이너스입니다)
  • 크기가 중요하기 때문에 쉽게 얻을 수있는 힌트를 얻었습니다 (아무 것도 다운로드하지 않았으므로 릴리스 아티팩트를 제공하지 않는 프로젝트에서는 크기가 없습니다)

그리고 위의 요점을 메모 한 프레임 워크 목록이 있습니다. 나는 aBatis 와 Hadi 처럼 더 많이 찾았 지만 2011 년 이후에 활동이 있었던 것들만 추가했습니다.

나는 그 중 하나를 시도하지 않았지만 현재 활동중인 프로젝트를 나열하여 현재 독자에게 약간의 시간을 절약 할 수 있습니다. 위의 요점 중 일부를 만족하고 (시간이 지남에 따라) 진지한 개발이 진행중인 다른 프로젝트에 대해 알고 있다면 의견을 추가하십시오.

편집 (2013 년 11 월) : 목록을 프로젝트의 현재 상태로 업데이트했습니다. 이들 중 일부는 Maven / Gradle 지원뿐만 아니라 github 저장소에 릴리스 태그를 추가했습니다. 잘 했어!

편집 (2015 년 4 월) : 목록을 업데이트하고 Sprinkles (@AndroidGecko의 의견에 따라)와 Realm.io를 추가했습니다.


답변

성능 및 코드 크기가 중요한 경우 greenDAO를 확인하십시오 . 나는 그것의 저자이고, 또 다른 ORM을 창조하려는 동기는 핫스팟에서 반사를 피하는 것이 었습니다. greenDAO는 ORMLite보다 최대 4 배 빠릅니다. 자세한 내용 은 기능 페이지 를 확인하십시오.


답변

나는 정확히 당신이 요구하는 것을 알지 못하지만 아키텍처 요구 사항이 유연하다면 SQLite에 대한 대안이 유용 할 수 있습니다. db4o를 확인하는 것이 좋습니다 .


답변

ActiveAndroid ($ 20) 는 정확히 필요한 것 같습니다.


답변

ActiveAndroid를 좋아했습니다. 그것은 안드로이드 용으로 특별히 작성된 것 같습니다. 그것은 나에게 플러스 느낌입니다.

Ruby on Rails 경험이 있으며 Rails 방식의 ActiveRecord를 좋아한다면이 라이브러리를 매우 빠르게 사용할 수 있습니다.

https://www.activeandroid.com/


답변

https://github.com/ahmetalpbalkan/orman

Orman 프레임 워크가 도움이 될 수 있습니다. 그것은 그것을 위해 특별히 설계되었으며 매우 작고 유용합니다.