2012-10-18 6 views
0

kSoap2 라이브러리를 사용하여 .net 웹 서비스를 자주 호출해야하는 Android 앱을 만들고 있습니다. 사용자는 앱이 시작될 때마다 로그인해야합니다 (내 손이 아닌 경우). 웹 서비스를 호출하는 클래스가 하나 있습니다. 각 웹 서비스에는 사용자 이름, 암호 및 기타 하나의 데이터 문자열이 필요합니다. 사용자가 성공적으로 로그인하면 올바른 사용자 이름, 암호 및 기타 데이터를 웹 서비스 클래스의 3 개의 개인 정적 변수에 저장하고 다른 웹 서비스를 호출해야 할 때 사용합니다.정적 변수를 사용하여 Android에 사용자 정보 저장

이 접근법은 결국 문제가 될 수 있습니까?

답변

0

이 접근법은 결국 문제가 될 수 있습니까?

이것이 왜 문제가되는지 알 수 없습니다.

Ralgha의 답은 공유 환경 설정이 로그인 정보를 XML 파일로 유지합니다. 사용자가 매번 응용 프로그램에 로그인해야하는 경우 공유 환경 설정의 목적을 상실합니다. 이 데이터를 메모리에 보관하는 것이 좋습니다.

VM은 참조를 유지하는 정적 변수를 GC로 GC 할 수 없습니다. 따라서 데이터는 GC되지 않습니다. 다른 응용 프로그램도 메모리에 읽을 수 없습니다. 괜찮아.

+0

당신은 액티비티 라이프 사이클에 따라 시스템이 메모리 부족으로 인해 프로세스를 파괴 할 수 있으며 이러한 정적 변수의 값이 사라질 것이라고 생각하지는 않습니다. –

0

SharedPreferences을 보시고 정확하게 필요한 것 같습니다. 정적 변수는 일반적으로 나쁜 프로그래밍 형식입니다.

+0

나는 항상 장치가 루팅 된 경우 SharedPreferences에 액세스 할 수 있다고 생각 했습니까? – Nicklas

+1

아마도 뿌리를 내린다면 많은 것들에 액세스 할 수 있습니다. 그게 그렇게 중요한 건가? 그것은 아마도 모두가 스스로를 위해 대답해야 할 질문입니다. 나는 대부분의 개발자가 "아니오"라고 대답한다고 생각한다. – Ralgha

+0

장치가 루팅 된 경우 사용자는 SharedPreferences XML로 폴더를 열 수 있습니다. 맞습니다. – PKeidel

관련 문제