안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
이주일째 고민하다가 혼자 해결 할 방법을 찾지 못해 글을 남깁니다
안드로이드 프로그램은 이번이 처음인데요.
간단시설명 드리자면,
어플 설치 후 설정을 완료 해 둔상태에서
카톡처럼 메세지가 들어오면 자동으로 휴대폰 절전모드에서 자동으로 켜지고 일정 시간이 지나면 자동으로
문자 메세지를 보내는 기능을 구현하고자 합니다.
아직 자동으로 켜지는것도 해결 하지 못했지만;;
설정부분에서 휴대폰의 주소록을 받아와 ListView로 체크박스 형식으로 나타나게 만들었습니다.
여기서 질문인데요
ListView의 목록 중 체크 해둔 목록은 계속 저장 해두고 싶은데요
어플이 종료시켰다가 다시 실행시켜도 계속 지정되어 있도록;;
SQLift를 꼭 써야 하는지
sharedpreferences를 사용해도 되는건지 모르겠습니다.
만약 sharedpreferences를 이용한다면 어떤식으로 해야 하는지 ..
전송 횟수 정하는 값은 sharedpreferences을 이용하여 저장하였는데
동적으로 변화는 개수를 저장하는 방법을 모르겠습니다 ㅠㅠ
위의 문제가 해결이 된다면,
저장되어 있는 목록을 받아와서 일정 시간으로 문자메세지를 보내고 싶습니다
버튼을 이용해서 한사람에게 보내는건 할 수 있겠는데
자동으로 문자메세지를 보내는게 해결이 되지 않고 싶습니다.
다른 언어의 경우 OnClick 이벤트 를 불러 올때 button의 상태 (클릭이 되었는지 안되어 있는지)를 확인하는 방법이
있어서
예)
btn = OK;
if(btn.OK)
{
}
버튼을 클릭하지 않아도 이벤트를 클릭 한것처럼 이벤트를 발생 할수 있는데
안드로이드의 경우 어떻게 해야 할지 전혀 알수가 없습니다.
방법좀 알려주세요
소스코드 & 관련사이트가 있으면 좀 알려주시면 감사하겠습니다.
많은 도움 부탁드리겠습니다
2012.09.25 16:26:20
그리고 차근차근 SQLite도 공부해보세요.
메모장 만들기 예제같은 거 따라하보시면, 담부터는 부담없을 껍니다.
일단은 sharedpreferences로 실험삼아 구현해보셔도 좋겠네요.
하지만 sharedpreferences 이 녀석이 대량의 정보를 담기에는 적절한 기술이 아닙니다.
2012.09.25 16:43:53
연락처 정보가 아무리 많아야 천개를 넘지 않는다는 가정하에.. 대량의 정보는 아니다 라고 판단하고 디비는 쓰면 좋지만 굳이 쓰지 않더라도
sharedpreference를 사용하여 구조를 {contacts : [{phone_num:true/false}, ... ]} 식으로 하시면 될듯하네요.
2012.09.26 11:05:49
private void setChecked(String num, boolean checked){ SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putBoolean(num, checked); editor.commit(); } private boolean isChecked(String num){ SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE); return sharedPreferences.getBoolean(num, false); }
서비스에 관해서 공부하셔야 할듯하네요.
안드로이드 어플리케이션이 떠서 작동하게 할 수도 있겠지만,
보통 백그라운드에서 처리하거든요.
그러면 액티비티를 만들지 않고도 구현이 가능하실 껍니다.