2012-03-06 2 views
10

이 항목은 이전에 스택 오버플로에 대해 논의 된 적이 있습니다. 그러나 내가 그것에 대해 이전의 글을 읽을 때 아직 명확하지 않은 것들이있다. 그래서 여기 그들은 다음과 같습니다 공유 환경 설정과 sqlite의 차이점

  • 나는 우리가 큰 데이터 조작을위한 작은 데이터 세트와 sqlite가에 대한 선호도를 공유 사용을 알고, 그래서 우리는 단지 우리가 공유 환경 설정을 사용합니다 사용자 이름과 암호를 저장하려면?
  • 사용자가 앱을 제거 할 때 공유 환경 설정이 손실되지 않습니까? 예를 들어 abc라는 앱을 다운로드하고 사용자 이름과 비밀번호를 저장합니다. 그런 다음 한 전화에서이 앱을 제거하고 동일한 사용자 이름과 비밀번호를 사용하여 다른 휴대 전화에서 액세스하려고합니다. 공유 환경 설정을 사용하여 저장합니까 아니면 데이터가 손실됩니까?
  • 크고 작은 데이터 세트 옆에 다른 것을 사용하는 가장 큰 이유는 무엇입니까?
+0

질문이 있습니다. 몇 가지 문자열과 ints 데이터를 저장하고 싶습니다. 사용자가이 문자열을 채우고 싶습니다. (무제한 아이템 번호를 저장하고 싶습니다.) 이 중 어느 쪽이 더 나은지 도와주세요. 감사! –

답변

18

공유 환경 설정과 SQLite 데이터베이스의 차이는 데이터 크기 측면에서 생각할 수 있지만 완전히 정확하지는 않습니다. 더 좋은 방법은 저장하려는 데이터의 구조입니다.

공유 환경 설정은 키 - 값 쌍을 저장할 수 있지만 SQLite 데이터베이스는 훨씬 더 유연합니다. 따라서 공유 환경 설정은 특히 사용자 환경 설정을 저장하는 데 유용합니다. 응용 프로그램은 알림을 표시해야합니다. SQLite 데이터베이스는 거의 모든 것에 유용합니다.

두 가지 데이터 소스 모두 로컬이지만 사용자의 Google 계정에 연결된 클라우드 저장소로 애플리케이션 데이터를 백업 할 수 있다는 점을 알아야합니다. 따라서 사용자는 장치를 변경하고 응용 프로그램이 새 장치로 쉽게 전송할 수 있습니다. 자세한 내용은 here을 참조하십시오.

1

둘 다 데이터를 로컬에 저장하므로 앱을 제거하면 둘 다 삭제됩니다. 그 외에도 SharedPreferences는 프로그래밍하기가 쉽고 데이터 양에 대해서도 당신이 맞습니다.

+0

그래서 sqlite를 사용해도 데이터를 저장할 수 없습니까? 데이터를 어떻게 저장합니까? 사용자 이름과 암호를 저장하거나 검색 할 수없는 경우에 이들을 사용하는 요점은 무엇입니까? – NoviceMe

+0

사용자가 앱을 삭제하지 않는 한 데이터를 저장할 수 있습니다. 사용자가 앱을 삭제하고 다시 설치하는 경우에도 데이터를 유지하려면 웹 서버를 설정해야합니다. –

0

일반적으로 사용자가 특정 데이터 필드를 직접 조작 할 수 있도록하려면 공유 환경 설정을 사용해야합니다. 공유 환경 설정은 기본적으로 사용자 환경 설정입니다. 사용자가 앱을 다른 방식으로 재구성하도록하려면 해당 기능을 공유 환경 설정으로 표시해야합니다. 반면에 SQLite 데이터베이스는 데이터의 가시성을 애플리케이션으로 제한하고, 데이터가 영속적이라는 보장을 강하게 원한다면, 애플리케이션이 무엇이든간에 독립적으로 동작하도록하려면 사용해야합니다. 데이터베이스에 저장됩니다. 물론 하나의 응용 프로그램에서 둘 다 사용할 수 있습니다.

공유 기본 설정과 데이터베이스는 응용 프로그램에 저장되는 로컬 데이터의 일부입니다. 응용 프로그램을 제거하면 두 데이터 저장소가 모두 제거됩니다.

4

두 상황에서 사용자에 대해 설명한 상황에서 사용자 이름과 암호가 손실됩니다. 데이터는 휴대 전화에 저장되며 응용 프로그램을 제거하면 일부 데이터도 손실됩니다. 사용자는이 정보를 다시 입력해야합니다.

사용자 이름을 저장하고 공유 기본 설정 또는 DB (개인 취향)를 전달할 수 있습니다. 두 가지 중 하나를 잠그십시오. 즉,이 정보를 유지하는 DB 또는 공유 환경 설정을 공유하지 마십시오.

차이점은 ... 공유 환경 설정이 잘 유지되어야 함 ... 공유 환경 설정 ... 여기에 있습니다. 예 :

배경색을 변경하는 옵션을 만드는 경우 사용자가 선택할 수 있도록 어댑터보기로로드 할 수있는 DB에 사용 가능한 모든 옵션을 저장합니다. 하지만 공유 환경 설정에서 선택한 색상을 저장합니다. 이 방법은 응용 프로그램을로드 할 때 사용해야하는 배경색의 공유 기본 설정 값을 가져올 수 있습니다.

3

SharedPreferences이 용도로만 사용되며 응용 프로그램과 공유되는 사용자 기본 설정을 저장합니다. 예를 들어, 사용자의 사용자 이름을 저장하거나, 기억하고 싶은 앱에 구성한 옵션을 사용할 수 있습니다.

SQLite는 관계형 데이터베이스입니다. 환경 설정이나 구성 정보가 아닌 응용 프로그램의 데이터를 저장하는 데 사용됩니다.

둘 다 장치에 로컬로 저장됩니다.

+0

그럼 사용자가 앱을 제거한 후에도 사용자 이름과 비밀번호가 있는지 확인하기 위해 무엇을 사용합니까? – NoviceMe

+0

앱이 연결하는 웹 서버를 사용하여 데이터를 저장합니다. –

2

1.SharedPreferences는 부울, int, float, long, String과 같은 간단한 데이터 유형의 5 가지 종류 만 조건부 쿼리로 저장할 수 없습니다. 따라서 SharedPreferences 데이터 저장 작업이 저장 공간 보완이 될 수 있지만 SQLite 데이터베이스와 같은 다른 데이터를 완전히 대체 할 수 없는지 여부는 간단합니다.

2.SharedPreferences는 구성 정보 (주로 응용 프로그램의 사용자 기본 설정)를 저장하는 데 사용되는 키 - 값 키를 저장하는 XML 파일을 기반으로합니다.

3.Sharedprefrece는 클라이언트 측에서 몇 가지 기본 정보를 저장하는 웹에서 cookies과 같습니다.

관련 문제