핀수로그
728x90
반응형
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [Android] Activity 스택 관리 (feat. Intent와 Flag)
    2023-12-01 23:36:52
    Case1. 특정 액티비티를 상단에 띄우기 A - B - C 순으로 스택이 쌓였다고 할 때, C가 사용자의 화면에 떠있을 것이다. 이때 C에서 A로 이동하면서 B, C를 스택에서 제거하고 싶다면 Intent의 Flag 중 FLAG_ACTIVITY_CLEAR_TOP 을 사용하면 된다. Intent intent = new Intent(this, AActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); 이동하려는 액티비티가 스택에 이미 존재하면 그 위에 쌓여있는 모든 스택을 제거하고 해당 액티비티가 다시 상단에 오르게 되는 것이다. Case2. 스택을 모두 제거하고 싶을 때 스택에 이동하려..
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [Java, Kotlin] SimpleDataFormat 밀리세컨까지 나타내기
    2023-11-30 23:16:59
    밀리세컨드까지 나타내야할 때가 있다. 찾아다니다 까먹지 않기 위해 기록한다. val sdf = SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS", Locale("ko", "KR")) val dateString = sdf.format(System.currentTimeMillis()) println(dateString) // 2023.11.30 23:14:26.975 패턴은 yyyy.MM.dd HH:mm:ss.SSS 인데 여기서 주의할 점은 뒤의 SSS는 반드시 대문자로 써주어야 한다는 점이다. yyyy.MM.dd HH:mm:ss.sss 로 입력할 경우 결과는 2023.11.30 23:15:47.047 와 같다.
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [Android] onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState)
    2023-11-16 23:13:19
    화면을 그리기 위해 여느 날과 다름 없이 onCreate()를 호출했다. 그러나 아무것도 그려지지 않았다. 아니 도대체 왜....? 그래서 열심히 화면을 들여다 봤다. 보통 화면이 create될 때 호출되는 함수는 잘 알겠지만 onCreate(@Nullable Bundle savedInstanceState) 이다. onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) 하지만 나는 다른 onCreate(위)를 호출하여 이러한 문제가 생긴 것인데, 이 onCreate는 도대체 뭐하는 친구이며, 언제 호출될까? 하는 일은 화면은 생성하는 것으로 동일하지만 파라미터부분에서 알 수 있듯 savedInsta..
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [NCP CSR] 기능 구현을 하며 만난 에러와 대응방안
    2023-11-14 21:13:46
    음성인식 기능 구현을 위해 네이버 클라우드 CSR(CLOVA Speech Recognition) SDK 를 사용하고 있는데, 기능을 구현하며 만난 에러와 그에 대한 대응방안에 대해 정리하려고 한다. (검색을 해봐도 나오지 않아 남긴다..정확한 방법이 아닐 수 있다.)음성인식 기능 사용중 onPause() 호출시 에러음성인식 중에 홈버튼 또는 최근작업 버튼을 눌러 앱이 pause - stop 상태였다 다시 돌아오면 앱이 아예 재시작이 돼버리는 현상을 발견했다. (process가 아예 다시 시작됨) 음성 관련 예외는 제대로 로그도 남지 않아 디버깅이 힘들어 아주 난감하다. CSR의 가이드대로 onStart()에서 음성인식 관련 자원을 초기화하고, onPause()에서 음성인식 즉, 음성 녹음이 진행중이면 멈..
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [Google Play Console] 개발자 계정 확인 기한
    2023-11-11 14:43:21
    WW가 출시되고 나서, 하루에 한번씩 플레이스토어 콘솔에 들어가본다. 오늘은 들어갔더니 메인화면에 이런 것이 떠있었다.기한이 선착순이라니 당장 시작하기를 눌러 들어갔다. 그리고 완료하지 않으면 프로필과 앱이 삭제된다니 너무 무시무시한 것 아닌가... 계정 확인 시 제공해야 하는 항목을 보니 신원 확인을 위한 공문서...라는 항목이 마음에 턱하고 걸린다. 비즈니스 (조직) 계정이라면 조직 인증을 위한 공문서를 제공해야하다니.... 뭐가됐든 귀찮은 일임에는 틀림없다. 기한 선택을 눌러보니 가장 빠른 일자가 24년 8월이었다. 도대체 몇달이나 남은거얏 지금 하라고 해도 할 수 있을 것 같아 가장 빠른 걸로 신청해두었다. 다음주에 회사가면 신청해둬야겠다.
  • 게시글 대표 이미지 썸네일 주소
    [ pinslog/Log.daily() ]
    [Android Studio] Live Template으로 JavaDoc 쉽게 작성하기
    2023-11-08 20:43:09
    코드를 보다보면 위와 같은 형식의 주석을 만난 적이 있을 것이다. 편집창에서 /** 를 입력하면 자동으로 주석의 색이 변하면서 아래와 같이 되는데, 이를 JavaDoc이라고 한다. Java 소스 파일에서 API 문서의 HTML 페이지를 생성합니다. JDK가 설치되어있다면 JavaDoc을 사용할 수 있다고 한다. JavaDoc을 작성하고 해당 클래스에 커서를 갖다대면 위와 같이 주석의 내용을 확인할 수 있다. 주석을 생활화(?)해야하는 개발자에게 아주 중요한 것이 아닐 수 없다. 그런데 클래스를 생성할 때 마다 위의 정보를 하나하나 일일이 작성하는 것은 너무 귀찮다. 좀 더 쉽게 할 순 없을까? 그때 필요한 것이 바로 IntelliJ에서 제공하는 Live Template이다. 라이브 템플릿을 사용하여 루프..
728x90
반응형