본문 바로가기

프로그래밍/Android127

[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.
[Android] ProgressBar 구현 이번 포스팅에서는 커스텀 프로그레스바를 만들텐데 대기시간이 필요할때 주로 사용되는 로딩창을 프로그레스바로 구현해보도록 하겠습니다. 먼저 새로운 프로젝트를 생성합니다. 템플릿은 아무것도 없는 Empty Activity를 선택했습니다. 프로젝트 이름주시고 최소 SDK는 API24:Android7.0으로 했습니다. 처음 프로젝트를 생성하면 MainActivity와 activity_main.xml 파일이 기본으로 만들어집니다. 그럼 먼저 로딩창을 테스트하기 위한 버튼을 보여주기 위해 activity_main.xml에 아래와 같이 코딩합니다. 그리고 MainActivity를 코딩하기 전에 팝업으로 뜰 로딩창을 먼저 만들어 줍니다. 로딩창을 위한 새로운 자바 클래스파일을 추가합니다. ProgressDialog에 아.. 2023. 11. 22.