2016-07-22 2 views
1
내가 2를 숙고하고있어

는 JSON 파일 안드로이드 캐시 읽기 전용 REST API의 응답 오프라인

  • 자바 POJO를 캐싱과 같은 JSON 응답을 캐싱

    • 에 접근합니다 (JSON 응답은 이미 직렬화 해제된다 Retrofit 사용). 데이터의

    설명 :
    내가 여기에 캐시 할 데이터가 전자 상거래 사이트에서 20 개 제품 목록입니다. 복잡한 객체는 아니며 여기에 jsonapi.org 사양이 사용되기 때문에 중첩이 없습니다. Retrofit을 사용하면 Product가 10 개 미만인 Java 모델 클래스 인 Product POJO 20 개를 이미 확보 할 수 있습니다.

    어떤 접근 방식이 더 좋고 그 이유는 무엇입니까? 내가

    • 데이터 무결성이 예를 들어,
    • 가 쓰기 작업을 필요한 경우 더 비싸고에만 적합하다고 생각하기 때문에

      나는 SQLite 데이터베이스를 고려하고 있지 않다 정말이 개 주요 요인에 따라 달라집니다 복잡한 관계
  • 답변

    1

    와 데이터의 쇼핑 카트

  • 큰 금액 : 1. 사례 2. 특정 시스템으로 얼마나 편안.

    당신이 생각하는 것을 사용할 수 있습니다. SQLite는 데이터 구조와 복잡한 질의 메커니즘과 같은 DB가 정말로 필요하다면 괜찮습니다. SQLite를 GreenDAO 또는 ORMLite와 같은 일부 ORM 시스템으로 래핑 할 수 있습니다. Realm, Object Oriented 접근법도 있습니다 (문제가 있습니다).

    SharedPreferences (필자는 개인적으로이 접근법을 싫어한다.) 또는 필자 또는 Java 직렬화를 사용하여 파일에 POJO를 직렬화 할 수도있다. 어떤 접근 방식이든 장점과 단점을 가지고 있기 때문에 달성하고자하는 것에 달려 있습니다. SQL의 경우

    는 DB의 좋은 인 SQL의 큰 사용자 기반이 지향하지만 당신은 매핑 좋은하지가 필요합니다. 검색 할 때

    영역, 모바일 장치 데시벨의 다음 큰 것 일 (좋은)하지만 여전히 미성숙 그리고 당신은 구체적인 클래스로 작업해야 할 수도 있습니다 (나쁜), I는 추상/인터페이스 /베이스를 할 수 있습니다 수업.

    Parcelable - 당신은 많은 코드 (나쁜)를 작성해야하지만 꽤 빨리 (좋은)

    자바 직렬화 - 직렬화 가능 클래스의 직렬화에 대한 어떤 코드를 리팩토링하기 쉬운 좋은 중소 규모의 데이터에 적합합니다. 리플렉션을 사용하기 때문에 실제로 많은 양의 데이터에 대해서는이 좋지 않습니다.

  • 관련 문제