본문 바로가기

전체 글124

[Android] EXTERNAL 저장소의 미디어 파일 가져오기 EXTERNAL 저장소의 미디어 파일 가져오기 EXTERNAL 저장소에 있는 미디어 파일을 불러오는 방법은 크게 두 가지가 존재한다. 하나는 파일 앱에서 불러오는 것과 PICK 액션이 등록되어 있는 앱에서 불러오는 방법이 있다. 파일 앱에서 가져오기 먼저 파일 앱에서 불러오기 위해선 ACTION_GET_CONTENT 액션으로 요청해야 하며 가져올 타입이 필요하다. Intent getAudioIntent = new Intent(ACTION_GET_CONTENT); getAudioIntent.setType("audio/*"); // 타입에 따라 video/* , image/* 를 넣어주면 된다. startActivityForResult(getAudioIntent, AUDIO_REQUEST); startAct.. 2023. 10. 26.
[Android][Shortcut] 바로 가기 위젯 만드는 법 개요 회사 업무 중 Android 9에서 바로 가기 위젯이 workspace에 추가되지 않는 현상이 발생했는데, android12에서는 바로가기가 추가되는지 확인하기 위해 예제 프로젝트를 만들어 각 각 OS에서 테스트하게 되었다. 이 글은 테스트해보기 위해 만든 프로젝트를 정리한 글이다. 일단 바로 가기는 Widget이 아닌 Shortcut으로 분류가 된다. App shortcuts overview | Android Developers Learn how to add shortcuts to specific actions within your app. developer.android.com 따라서 AppWidgetProvider는 필요하지 않지만 대신 res/xml에 shortcuts.xml 을 정의해줘야 .. 2023. 10. 23.
[Android] [MediaMetadataRetriever]영상 데이터가 존재하는지 확인하는 법 시작 MP4 파일의 경우 영상 섬네일이 없이 오디오만 녹음된 경우가 있다. 때문에 영상 아이템이 아닌 음악 아이템으로 첨부해야 하는 경우가 있어 영상 데이터가 존재하는지 확인해야 했다. MediaMetadataRetriever 를 사용 MediaMetadataRetriever를 사용하면 Media 파일의 몇 가지 정보들을 알아 올 수 있다. fun isVideoFile(context: Context, uri: Uri):Boolean{ try{ val retriever = MediaMetadataRetriever() retriever.setDataSource(context, uri) val hasVideo = retriever.extractMetadata(MediaMetadataRetriever.METAD.. 2023. 10. 20.
[Android] 가로 모드에서 확장형 키보드 막기 xml 또는 java 파일을 수정해 가로 모드에서 확장형 키보드를 막을 수 있다. 1. xml 에서 막는 경우 android:imeOptions="flagNoExtractUi” 속성을 추가해 막을 수 있다. 2. java 에서 막는 경우 editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); 2023. 10. 11.
[Android] 단말기 정보 가져오기 시작 Android 11 버전 이상에서 TelephonyManager를 이용해 안드로이드 단말기의 정보를 가져오는 방법에 대해 정리해보려 한다. 가져오는 정보들을 통해 특정 기능들의 활성화 또는 비활성화 처리를 구분 할 수 있으니 응용할 곳이 많다고 할 수 있다. 권한 부여 단말기 정보를 가져오기 위해선 권한을 요청해야 하는데, 전화번호를 가져오는 권한은 아래처럼 변경되었다. Android 11에서는 앱에서 전화번호를 읽을 때 사용하는 전화 관련 권한이 변경됩니다. 앱이 Android 11 이상을 타겟팅하고 다음 목록에 표시된 전화번호 API에 액세스해야 한다면 READ_PHONE_STATE 권한 대신 READ_PHONE_NUMBERS 권한을 요청해야 합니다. 클래스 파일에서 권한을 요청하는 부분에 안드.. 2023. 8. 3.
[Open Source] AudioTrack 소개 및 PCM 파일 재생 시작AudioTrack은 PCM 데이터를 이용해 실시간 오디오 재생이 가능하도록 하는 Android API입니다. 앱의 메모리에서 직접 오디오를 재생할 수 있는 방법 중 하나이기에 실시간 오디오 처리가 필요한 앱에 적합한 API라고 할 수 있습니다. PCM 파일 재생을 위해선 녹음 기능이 필요하기 때문에 이전 PCM 파일로 녹음하기 게시물을 진행하시고 오셔야 이해가 편합니다. AudioTrack이란?AudioTrack은 Object 클래스를 상속 받고 있으며 AudioRouting, VolumeAutomation 을 구현하고 있습니다.AudioTrack은 자바 응용프로그램에 대한 단일 오디오 리소스를 관리하고 재생합니다. 재생을 위해 PCM 오디오 버퍼를 오디오 싱크로 스트리밍할 수 있습니다. 이것은 w.. 2023. 7. 26.
[Android] 화면 회전 시 onConfigurationChanged 호출 시작 아무런 설정 값 없이 안드로이드에서 화면을 회전하면 보통 destroy 후 다시 create를 하는 방식으로 진행 된다. 이 때, 기존에 설정했던 값들이 모두 초기화 되어 문제가 발생하게 되는데, 해결 방법은 아래와 같다. onSaveInstanceState(@NonNull Bundle outState) 를 이용해 onCreate에서 저장한 값을 다시 불러온다. AndroidManifest.xml에 configChanges 속성을 추가한다. 이번 게시물에서는 2 번의 방법에 대해 정리하려 한다. configChanges 속성 추가하기 configChanges의 속성 중에서 화면 회전에 관련된 속성은 orientation과 screenSize가 있다. orientation 화면 방향이 변경되었습니다... 2023. 7. 24.
[Git] Git remote url 수정 방법 remote add 중 url을 잘못 입력한 경우 url을 원격 저장소와 맞게 수정해야 한다. 이 때, 수정 할 수 있는 방법은 2 가지가 있는데, 하나는 Git 명령어로 수정하는 것이고 다른 하나는 로컬 저장소 git 설정 파일을 수정하는 방법이다. 시작 먼저 자신의 원격 저장소의 url을 확인하자. 1. Git 명령어로 수정 git remote set-url origin 주소 이때, 원격 저장소 이름인 origin 을 주소 앞에 붙혀줘야 한다. 2. 로컬 저장소 Git 설정 파일을 수정 vim 또는 gedit과 같은 텍스트 편집 툴로 .git/config 파일을 실행 시키면 아래처럼 나온다. url 부분에서 잘못된 부분을 수정해주면 된다. 2023. 7. 21.
[Algorithm] 2020 KAKAO BLIND RECRUITMENT 괄호 변환 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 코드 및 풀이 class Solution { public static String solution(String p) { return repeat(p); } public static String repeat(String p){ if(p.isBlank()) { return ""; } StringBuilder sb = new StringBuilder(); String result.. 2023. 7. 20.
반응형