답변 감사드립니다...
델파이를 한 지 얼마 안돼 수준 또한 일천한데 C++소스를 보니 전혀 알 길이 없고, 어지럽네요 @@
염치없어서 델파이코드로 변환해 주십사 부탁은 못드리겠고...
하지만 지식을 공유하는 차원에서 하수에게 한 수 가르쳐 주신다면 저와 비슷한 처지의 사람들에게
많은 힘이 될 거라 생각합니다.
거듭 답변에 감사드립니다...
정성훈.해미 님이 쓰신 글 :
: 안녕하십니까.
: 정성훈.해미입니다.
:
: 어플이 제거될 경우에는 관련 파일이 모두 없어지기때문에
: 유지하실려면 다른 꼼수가 필요하지만
: 그러면 사용자 휴대폰에 쓰레기 파일이 남게되서
: 추천하지 않습니다.
:
: 일반적으로 설정파일(INI파일 등)로 저장을 할 경우
: 어플이 제거되지 않는 한 그대로 유지 됩니다.
: 어플이 업데이트 되어도 유지되니 구현하시던 INI파일 형태로 하셔도 됩니다.
: (추신: 어플 폴더 내에 생성한 유저 파일은 유지되는지 확인 못했네요)
:
: 설정값이 초기화 되는 문제는 여러거지 원인이 있을 수 있겠지만
: 프로젝트 옵션(배포 방법, 디버그/릴리즈)이 다를 경우에
: 설정 파일 위치가 달라져서 그럴수도 있습니다.
:
: getSharedPreferences함수를 이용하면
: 해당 어플에 대한 사용자 환경 설정을 저장하고 불러올 수 있습니다.
: 어플이 제거되지 않는 한 유지됩니다.
:
: 제가 구현하여 사용하고 있는 코드를 살짝 바꿔서 공유해 드립니다.
: 도움이 되시길 바랍니다.
:
: *추신: C++소스입니다.
:
:
: //---------------------------------------------------------------------------
: // 환경 설정 불러오기 함수
: //---------------------------------------------------------------------------
: void c_Cfg::Load()
: {
: #if defined(__ANDROID__) && defined(__arm__)
: _di_JSharedPreferences Prefs;
: Prefs = SharedActivity()->getSharedPreferences(StringToJString("MyApp"), TJActivity::JavaClass->MODE_PRIVATE);
:
: try {
: UserID = Prefs->getString(StringToJString("User ID"), StringToJString(""));
: UserPW = Prefs->getString(StringToJString("User PW"), StringToJString(""));
: } catch (...) {
: UserID = "";
: UserPW = "";
: }
:
: #endif
: }
: //---------------------------------------------------------------------------
: // 환경 설정 저장 함수
: //---------------------------------------------------------------------------
: void c_Cfg::Save()
: {
: #if defined(__ANDROID__) && defined(__arm__)
: _di_JSharedPreferences Prefs;
: _di_JSharedPreferences_Editor Editor;
:
: Prefs = SharedActivity()->getSharedPreferences(StringToJString("MyApp"), TJActivity::JavaClass->MODE_PRIVATE);
: Editor = Prefs->edit();
:
: Editor->putString (StringToJString("User ID"), StringToJString(UserID));
: Editor->putString (StringToJString("User PW"), StringToJString(UserPW));
:
: Editor->apply();
: #endif
: }
:
: // 사용법
: FormCreate 이벤트에서 설정 불러오기 함수를 호출합니다.
: FormCloseQuery 이벤트에서 설정 저장 함수를 호출합니다.
:
:
:
:
: 초보자 님이 쓰신 글 :
: : USB 디버깅 상태로 프로그램을 테스트 중입니다.
: :
: : 프로그램에서는 <아이디><비번>을 입력받아 서버로 접속하여 인증처리를 하고 있습니다.
: : 그러다 보니 프로그램을 구동할 때마다 매번 <아이디><비번>을 입력해야 하는 번거로움이 생겼습니다. 그래서 접속이 한 번이라도 이루어 진 후에는 계정을 묻지 않도록 ini파일로 계정을 보관했다가 재사용 하도록 조치했습니다.
: :
: : 문제는 프로그램을 수정한 뒤 실행(Deploy)하면 원래 보관했던 ini파일이 없어지는 겁니다.
: :
: : (1) 원래 그런 건지요?
: : 원래 그런 거라면 계정 값을 어떤 특정위치에 보관했다가 재사용 한다든지 하는 방법이 있을까요?
: : 즉, 프로그램이 제거되거나 변경되어도 임의의 위치에 보관된 값은 그대로 유지되게 한다든지 하는 꼼수라도 있는지요?
: :
: : (2) ini파일에 보관하는 방법이 아닌 다른 방법이 있는지요?
: :
: : 여기 저기 뒤져가면서 어떻게 해보려는데... 아는 것도 없거니와 참고할 만한 자료도 별로 없어서 진전이 없습니다.
: : 알고 보면 별 거 아닐 거 같은데 말이죠...
: :
: : 미리 감사드립니다. (꾸벅)
: :
|