개발 이야기/android(11)
-
#안드로이드 TextWatcher를 이용한 이메일 형식 체크(email validation)
로그인이나 회원가입 시 이메일! 혹은 조합이 필요한 ID를 계속 확인하면서 원하는 규칙을 갖췄을 때만 입력이 가능하도록 만들고 싶다면! 이를 실시간으로 검증하고 싶다면! TextWatcher를 사용하면 되는데요! TextWahtcher를 이용한 validation을 하는 방법을 보도록 하겠습니다 이메일 형식이 아닐 때 ! 라인이 빨간색으로 변한 것을 확인할 수 있는데요! 그렇다면 원하는 이메일 형식일 때! 원하는 이메일 형식을 갖추게 되면 까맣게 변하는 것을 볼 수 있습니다. 자 그럼 어떻게 구현할까요? public class ResetPasswordActivity extends AppCompatActivity { private EditText inputEmail; private Button btnRes..
2019.12.04 -
#안드로이드 FFmpeg 사용하기(64bit 지원)
이전에는 ffmpeg 64bit 바이너리를 앱에 로드하는 방법을 소개했었습니다. 이번에는 영상 및 오디오를 다루는 프로젝트에서는 거의 필수적으로 사용할 수밖에 없는 FFmpeg을 안드로이드에서 사용하는 방법을 소개하겠습니다! 먼저! FFmpeg이 뭐냐! FFmpeg은 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록하고 변환하는 컴퓨터 프로그램이다.[1] FFmpeg은 명령어를 직접 입력하는 방식으로 동작하며 여러 가지 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있다. 라이브러리 중에는 libavcodec도 들어있는데, 이 라이브러리는 음성/영상 코덱 라이브러리로 여러 프로젝트에서 쓰이고 있다. 또, libavformat 라는 음성/영상 다중화, 역다중화 라이브러리도 있다. 이..
2019.12.03 -
#안드로이드 FileObserver 사용하기
개발 중에 폰 내부의 특정 디렉터리에 파일이 써지고 지워지는 동작을 확인 후 처리해야할 일이 있었는데 FileObserver라는 것을 이용해서 쉽게 구현할 수 있었다. 설명은 이렇다 파일을 모니터링 ( inotify 사용 )하여 장치의 모든 프로세스 (이 파일 포함)에 의해 파일에 액세스하거나 변경 한 후 이벤트를 발생시킵니다. FileObserver는 추상 클래스입니다. 서브 클래스는 이벤트 핸들러를 구현해야합니다 onEvent(int, java.lang.String). 각 FileObserver 인스턴스는 여러 파일 또는 디렉토리를 모니터 할 수 있습니다. 디렉토리가 모니터되면 모니터 된 디렉토리 내의 모든 파일 및 서브 디렉토리에 대해 이벤트가 트리거됩니다. 이벤트 마스크는보고 할 변경 또는 조치를..
2019.11.25 -
#안드로이드 Kotlin 오디오 파일 Duration 가져오기
제가 만드는 앱에 Audio 파일을 다루는 일이 많아서 Audio 파일의 Duration(파일 지속시간, 재생시간)을 가져오는 방법을 간단히 알아보겠습니다! MediaMetadataRetriever를 이용해서 가져오는데요! fun getPlayTime(path: String?): Long? { Dlog.d("etDataSource(path) = "+path) val retriever = MediaMetadataRetriever() retriever.setDataSource(path) val time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION) val timeInmillisec = java.lang.Long.parseL..
2019.11.23 -
#안드로이드 Third party 로그인 연동 4(페이스북 연동)
페이스북 로그인 연동을 알아볼 건데요! 먼저 페이스북 개발자 사이트에 패키지를 등록하고 키 해시값을 넣어야만 인증 로직을 사용할 수 있습니다 아래와 같이 되어있는데요 키 해시값이 많은 이유는 각각 개발자 자리에서 얻은 해시값을 넣어주어야 각각 자리에서 빌드했을 때 페이스북 로그인을 이용할 수 있기 때문입니다! 이렇게 해시를 등록하면 되는데요! 해시는 어떻게 구하느냐! 카카오 로그인에서 다루었던 해시 추출 함수를 이용해서 얻어낼 수 있습니다! public static String getKeyHash(final Context context) { Dlog.Companion.d("카카오톡 개발자 해시키 가져오는 함수"); PackageInfo packageInfo = getPackageInfo(context, ..
2019.09.15 -
#안드로이드 Third party 로그인 연동 3(파이어베이스 연동)
오늘은 파이어베이스를 이용한 안드로이드 로그인 연동을 해볼게요! 파이어 베이스는 다른 로그인 연동과는 조금 다르지만 비슷하게 연동 과정이 필요한데요! 카카오, 네이버와 같은 경우는 각 개발 사이트에서 앱을 만들고 나눠준 해시값을 등록하는 부분이 필요한데 파이어베이스의 경우는 google-services.json 파일을 내려받아서 안드로이드 프로젝트 내에 넣어주어야 합니다! 이런 식으로 파이어베이스 콘솔에서 그림의 우측 하단에 보이는 google-services.json 다운로드 버튼을 눌러서 다운로드한 후! 이런 식으로 프로젝트 디렉터리 내에 위치시켜주면 준비는 끝! 이제 Firebase 클래스를 만들어주고 다른 SNS 연동 클래스와 마찬가지로 CRUD를 만들어 줍니다! 네이버와 마찬가지고 토큰 관련해서..
2019.09.15