목록Develop (263)
woong's
Android VideoView error 처리하기 안녕하세요. Android VideoView 를 사용하면서 error 처리에 대해 말씀드리려 합니다.VideoView 를 사용해서 동영상 재생을하는데 처음에는 잘 되었는데 화면 이동을 하다보면 "재생 할수 없는 동영상 입니다." 라는 팝업이 나타납니다.Log 는 한줄 밖에 나타나지 않아 쉽게 발견하지 못했습니다. 10-15 12:41:02.710: E/MediaPlayer(25997): error (-38, 0) 이유는 VideoView 동영상이 로드 되지 않아서 나타나는 에러입니다. 해결방법 아래와 같이 비디오가 로드가 완료 되면 호출되는 콜백 리스너에서 비디오뷰를 start 해주면 위 에러를 해결 할수 있습니다.12345678910 videoView..
Android Lambda 사용하기 안녕하세요. 책을 읽다 람다 표현식에 대해서 잠깐 접해본것을 정리해보려 합니다.자바 8 에서 지원하는 람다를 android 에서 사용하려하니 바로는 사용이 안되더라구요.. 아쉽네요.나중에는 바로 사용할수 있겠죠!!! 람다를 사용하기위해서 준비과정이 필요 합니다. 1. 사용 준비 1. project build.gradle classpath retrolambda 를 추가합니다. 1234567891011121314151617181920212223 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { ..
Android Groovy 환경설정 하기 안녕하세요. android 개발을 하다보니 groovy로 작성된 라이브러리를 사용할 기회가 생겨서 android studio 에서 groovy를 사용할수 있도록 환경설정을 하면서 시행착오가 있어서이렇게 정리해보려 합니다. 1. 사용준비 1. project build.gradle 위와 같이 grrovy classpath 를 추가 합니다. 2. app build.gradle apply plugin: 'groovyx.grooid.groovy-android' compile 'org.codehaus.groovy:groovy:2.4.0:grooid' plugin , dependencies 를 추가 후에 빌드를 합니다. 3. path 이름 변경 파란색 폴더 이름을 java -..
android PhoneStateListener 여러번 호출되는것 방지하기 안녕하세요. android phoneStateListener 를 사용하다보면 calling , idle 등 상태가 여러번 호출이 됩니다.저도 처음에는 원래 이렇게 동작 하는지 알았는데 여러번 호출되다보면 의도 하지 않게 생명주기가 꼬이거나 하는일이 생깁니다. 해결 방법이 있어 이렇게 포스트를 작성하고 있습니다.아래 코드와 같이 phoneStateListener 를 싱글톤 형태로 만들면 전화 상태에 따라 호출이 한번만되는것을 확인 할수 있습니다.
android startActivity 재사용하기 android startActivity 를 사용하다보면 flag , data 를 추가 하다 보면 코드가 길어지고정리가 안되서 메서드화 시켜 보았습니다. flag 가 없을 경우data 가 없을 경우를 고려 하였고 ,HashMap 을 통해서 여러 데이터를 넘기는 상황을 고려해서 만들어 보았습니다. 123456789101112131415161718192021222324/** * 액티비티 화면 전환 * * @param activity 현재 액티비티 * @param changeClass 바꿀 액티비티 * @param flags */ public static void startActivity (Activity activity, Class changeClass, Ha..
Android Home Key Control 하기 안녕하세요. 런쳐 공부를 하다가 홈버튼을 컨트롤 하는 기능을 찾아 정리해 보았습니다. 홈버튼을 제어 할수는 없지만 이벤트를 받을수는 있었습니다.런처에서 앱 서랍을 이동후 홈버튼을 눌러서 런처 홈으로 이동하는 기능을 만들기위해서는 홈버튼 이벤트를 캐치해야 합니다. 아래 코드와 같이 BroadcastReceiver 생성후에 등록해주시면 이벤트를 받을수 있습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758package com.handstudio.android.hometest; import android.conte..
Android USIM 존재 여부 확인하기 안녕하세요. 메세지 앱이나 전화 앱을 개발 하다 보면 USIM 의 존재 여부 확인이 필요 합니다.아래와 같이 TelephonyManager 를 통해서 USIM 존재 여부를 확인 가능 합니다. 123456789 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT){ // 유심이 없는 경우 }else { // 유심이 존재하는 경우 } Colored by Color Scriptercs
Android 홈버튼 이벤트 받기 12345678910111213141516public class AppActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_app); } @Override protected void onUserLeaveHint() { //이벤트 super.onUserLeaveHint(); }}Colored by Color Scriptercs
Android Launcher 만들기(1) 안녕하세요. 이번에 기회가 생겨 안드로이드 런쳐 공부를 하고 있습니다.안드로이드의 끝판왕이라고 불리는 런쳐 ... 어디까지 만들수 있을지는 모르겠지만 ,하나하나 해보려 합니다. 안드로이드 런쳐 Hello World 를 해보려 합니다 . 안드로이드 앱을 런쳐 형태로 사용하려면 manifast 파일의 intent filter 를 추가해야 합니다. 123456789101112131415161718192021222324 Colored by Color Scriptercs 핵심 코드는 하단 두줄이 되겠습니다.12cs 이와 같이 설정을 하면 홈버튼을 누를시 해당 앱을 실행하게 됩니다.그럼 런처의 기본 형태는 갖추게 되는것입니다. 하지만 앱을 뒤로가기를 선택하면 앱이 종료 됩..
Android Log 배포시 안보이게 하기 안녕하세요. 안드로이드 로그를 사용하면서 로그를 배포시에는 안보이게 할수 있을까 ?라는 생각이 들어 찾아보니 역시 있었습니다. 저는 평소에 로그를 사용하고 지우는 습관을 들여서 다시 쓰곤 했었는데..이제는 로그를 넣어놔도 상관이 없을 것 같습니다. 위 경로로 가보면 buildConfig 가 있습니다.그안에 DEBUG 가 true 로 되어 있는것을 볼 수 있습니다. 저 값이 프로젝트 개발시에는 true로 나타나고sign apk 를 생성 할때 false 로 변합니다. 그래서 아래와 같이 LogUtil 을 만들어서 사용하면 , 배포시 로그를 제거 할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2..