본문 바로가기

분류 전체보기415

[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.
[Android] Calendar를 이용해 특정시간에 푸시알림 보내기 아래 코드를 쓰면 10초 후에 아래 에러가 나온다 해결방법 찾는중.. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.appname, PID: 8806 android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{887a7c0 u0 com.mygym/.common.alarm.EndMembershipService} at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1945) at android.os.Handler.dispatch.. 2023. 11. 24.
[Android] AlarmManager AlarmManager AlarmManager는 특정한 시간과 주기로 Intent를 실행하는 기능을 제공한다. 예를 들어, 정해진 시간에 사용자에게 Notification을 보내려고 할 때 AlarmManager를 활용할 수 있다. 원하는 시간에 AlarmManager를 통해 broadcast를 전송하도록 구현하고, 그 broadcast를 받은 receiver는 Notification을 발행하도록 구현하면 된다. 자세한 방법은 다음 포스팅으로 업로드할 예정이다. 이 포스팅에서는 AlarmManager의 특징과 장단점, 구현 방법 등에 대해서 알아보자. 특징 지정된 시간과 간격으로 Intent를 실행한다. 애플리케이션 외부에서 작동한다. 따라서 앱을 실행하고 있지 않을 때나 Doze 모드인 경우(Doze .. 2023. 11. 24.
[Android] 푸시알림 구현 class 클래스명 : AppCompatActivity() { private lateinit var binding: 바인딩 lateinit var builder: NotificationCompat.Builder lateinit var manager: NotificationManager //오레오 이상은 반드시 채널을 설정해줘야 Notification이 작동함 private val CHANNEL_ID = "channel1" private val CHANNEL_NAME = "Channel1" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = 바인딩.inflate(layoutInflat.. 2023. 11. 23.