본문 바로가기

프로그래밍/Android127

[Android] 앱의 설정화면구현(SwitchPreferenceCompat) Keyword : PreferenceFragmentCompat 1. gradle 추가 implementation 'com.android.support:preference-v7:27.0.0' 2. value 디렉토리에 xml 디렉토리 생성 & settings_preference.xml 생성 : 이 xml 파일에 추가하고싶은 옵션 항목을 추가한다. 이 화면이 그대로 추가된다. 3. 나는 아직 푸시 알람 on/off 여부만 설정하는 옵션만 사용하기때문에 SwitchPreference 추가 [settings_preference.xml] android:key에서 설정한 이름으로 SharedPreference에 저장되어서 이걸 사용할 수 있다나 뭐라나 아래 XML 화면은 필자가 다른예제를 찾아서 가져온코드이다. 해.. 2023. 12. 26.
[Android] URL scheme, 주소창에서 앱 열기 뭐할때 쓰는 녀석이냐면 ㄱ. A앱에서 B앱을 호출하고 싶을때, ㄴ. 주소창에서 A앱을 실행시키고 싶을때, ㄷ. 1,2번을 하면서 parameter로 값을 전달하고 싶을때. 방법은 간단하다. 우선 andoridmanifest.xml을 열어서 해당 activity에 intent 필터를 추가 시키고, 아래처럼 내용으로 채워준다. 그리고 호출할때는 bill://test2 (스킴://호스트) 형식으로 하면 된다. 해석하면 bill://teset2를 주소창에 입력하면 ListActivity가 실행. 사실 이건 앱을 실행시킨다기보다는 해당 activity를 실행시키는 것이다. intent filter의 action하고 category를 왜저렇게 했는지 궁금하면 http://developer.android.com/tr.. 2023. 12. 4.
[Android] 원하는시간에 특정작업 하기 (Alarm Manager) 1. 요약 결과 이번 글에서는 AlarmManager를 사용하여 Alarm을 정의하고 등록하는 방법에 관하여 기술한다. AlarmManager를 통하여 Alarm을 등록하면 특정 시간에 Alarm을 발생하도록 할 수도 있으며, 지정한 시간 간격만큼 반복하여 Alarm을 반복하여 발생시키도록 할 수도 있다. 이 Alarm을 가장 많이 활용하는 예로 들자면 알림(Notification)이다. Notification 단, Alarm 자체는 지정한 시간을 기준으로 Alarm을 발생시키기만 할 뿐 발생하였을 때 어떤 기능을 동작할지는 별도로 구현해야 한다. 따라서 AlarmManager를 사용하여 지정한 시간에 Alarm이 발생할 때 알림(Notification)이 동작하도록 정의해주면 흔히 우리가 알고 있는 알.. 2023. 11. 27.
[Android] SQLite 날짜 비교 sqlite는 date type이 존재하지않아 날짜 비교를 할 때 다음과 같이 지정해야 한다. 테이블 생성 CREATE TABLE `test` ( `starttime` TEXT, `endtime` TEXT ) strftime() 함수는 날짜를 첫 번째 파라미터에 정의된 형식으로 변형하여 반환하여 준다. 해당 파라미터의 정의할 수 있는 format 리스트는 다음과 같다. 위의 파라미터를 사용해서 원하는 형식으로 변형을 하여 날짜비교에 사용한다. 위의 테이블에서 날짜비교하기위해서 다음과 같이 사용한다. select * from test where CAST(strftime('%s', starttime) AS integer ) > CAST(strftime('%s', '2017-05-27') AS integer).. 2023. 11. 24.