2012-07-04 2 views
0

저는 안드로이드 개발과 프로그래밍에 익숙하지 않습니다.안드로이드에서 실행중인 응용 프로그램에 데이터를 저장하기위한 최상의 옵션 [SQLite 전]

저는 각 플레이어의 축구 통계를 작성하는 앱을 개발하고 있으며 장기적으로 SQLite를 사용하여 데이터를 저장하고 있습니다. 그러나 방법이 있는지 궁금 해서요, 만약 그것이 합리적인, db에 삽입하지 않고 응용 프로그램을 실행하는 동안 데이터를 저장할 때마다 사용자가 새로운 통계를 추가하려고합니다.

또 다른 중요한 점은 저의 가장 큰 관심사는 항상 데이터를 DB에 삽입하면 내 앱이 느려지고 경험 많은 개발자가 알고있는 점에 감사 할 것입니다. 이 '문제'에 대해

나는 주제를 연구하려고했지만 DB에 데이터를 저장하고 SharedPreferences를 사용했는데 내가 찾고있는 것이라고 생각하지 않는다.하지만 잘못 될 수있다.

도와주세요.

답변

1

SQlite가 당신이 원하는 것입니다. SharedPreferences은 그저 - 기본 설정이 아니라 많은 양의 통계입니다.

데이터베이스 코드를 별도의 스레드에 넣으면 앱 속도가 느려집니다. 이에 대한 도움을 받으려면 여기로 물어보십시오.

0

나는 안드로이드와 직접 말할 수는 없지만 iPhone 및 데스크톱 응용 프로그램에서 비슷한 디자인 문제에 직면 해 있습니다.

가장 좋은 방법은 응용 프로그램의 특성에 따라 다릅니다. 앱이 주로 연극 입력 및 통계 저장에 관한 것이라면 사용자 인터페이스를 채우기에 충분할 정도로 최신 통계의 작은 세트를 지키고 이들을 삽입하는 것이 유일한 목적의 배경 스레드에서 실행되는 "데이터 관리자"를 만들 것입니다 새로 추가 된 통계.

0

솔직히 말해서, 나는 DB에 즉시 넣을 것입니다. 안드로이드가 작동하는 방식으로 사용자가 다른 앱으로 이동하거나 (심지어 전화 통화를받는 경우에도) 이미 입력 한 데이터가 손실 될 수 있습니다.

해당 우연한 일을 분명히 처리 할 수 ​​있지만 (등으로 저장) 가능한 한 빨리 데이터를 영구 저장 장치에 저장하는 것이 더 안전하다고 항상 느꼈습니다. (이 주제는 뜨겁게 논쟁 된 주제이며, 나는 단지 나의 선호도를 말하고있다.)

DB에 즉시 저장해도 배터리 수명만큼 앱 속도에 영향을 미치지 않습니다 (삽입하는 데이터 유형에 따라 다름). 영구 저장 장치에 액세스하려면 프로세서가 취해야하는 몇 가지 단계가 더 필요하므로 전력 측면에서 더 많은 시간이 필요합니다.

UI 스레드가 아닌 다른 스레드에서 DB 활동을 수행하는 경우 트랜잭션은 거의 앱 속도와 관련하여 거의 눈에 띄지 않습니다.

0

로더 콜백 구현 도구를 사용하면 응용 프로그램 속도가 느려져서는 안됩니다. Loader classes을 살펴보십시오. Android 호환성 라이브러리를 통해 사용할 수 있습니다.

관련 문제