Dev/Android 125

MediaActionSound() 사용시, 만나는 에러

new MediaActionSound().play(MediaActionSound.SHUTTER_CLICK);여러번 사용하다보면 나오는 에러 MediaActionSound() 를 사용한 사운드 효과를 여러번 반복하다보면 사운드가 나오지 않고 Error 가 나온다.E/AudioTrack: AudioFlinger could not create track, status: -12E/SoundPool: Error creating AudioTrack 처음에는 MediaActionSound ms =new MediaActionSound(); 를 oncreate() 때 선언하고 ms.play(MediaActionSound.SHUTTER_CLICK)); 이렇게 사운드를 작동시켰다. 소리가 제대로 나지 않았다. 두번째는 사운..

Dev/Android 2018.03.23

커스텀뷰 CustomView 기초

안드로이드 기본 API에서 제공하는 라이브러리의 뷰와는 완전히 다른 뷰를 만들때는 모든 뷰의 최상위 클래스인 View를 상속받아 작성해야 한다. 주의사항- 레이아웃 XML 파일에 등록하여 다른 뷰와 함께 화면을 구성할 경우 생성자를 하나만 정의하면 실행시 에러가 발생.- 레이아웃 XML에 등록해서 이용하려면 생성자 3개를 모두 정의해야 한다. public class MyView extends View {Context context;public MyView(Context context) {super(context);}public MyView(Context context, AttributeSet attrs) {super(context, attrs);}public MyView(Context context, A..

Dev/Android 2018.03.21

부모 레이아웃과 자식 레이아웃의 클릭 리스너 트리거 - DuplicateParentState

부모 레이아웃과 자식 레이아웃에 동일한 클릭 리스너 적용하기 하위 레이아웃의 클릭 반응이 상위 레이아웃에 동일하게 클릭 리스너가 적용하기 위해서 DuplicateParentState 속성을 추가해 줘야한다.android:duplicateParentState="true"참고 : https://stackoverflow.com/a/8050279/3897810 구현에 따른 생각 과정 :나의 경우, 위와 같은 버튼을 만들었다. 중간의 사진을 제외하고는 레이아웃으로 쪼개서 구현하였기 때문에 레이아웃이 파편화 되어있다.그런데 저 버튼 전체가 클릭 리스너 반응이 적용되야 했다. 그런데 레이아웃이 파편화 되어있기에 하나씩 id 를 부여하고 리스너를 줘야하는가 라는 생각을 했고, 아니다라는 생각으로 해당 레이아웃을 구현한..

Dev/Android 2018.03.13

이 앱은 기기에 최적화되어 있지 않을 수도 있습니다.

이 앱은 기기에 최적화되어 있지 않을 수도 있습니다 안드로이드 태블릿 최적화 방법 ** 해당 글은 개발자적 관점에서 올린 해결 방법입니다 기기 최적화에 대한 해결 방법 2가지1. APK가 일반적인 태블릿 화면 밀도에 최적화된 맞춤 드로어블 애셋이 있어야 한다.https://developer.android.com/develop/quality-guidelines/tablet-app-quality.html#use-tablet-icons 2. 태블릿 스크린샷이 업로드 되어야 한다.

Dev/Android 2018.03.12

원하는 View 스크린샷 뜨기 - Take a ScreenShot

전체 스크린샷이 아닌 원하는 영역만 스크린샷을 찍기를 원했다.내가 원하는 영역은 ImageView 이다. 그렇기에 해당 view 만 가져와서 스크린샷을 진행한다. View v = getWindow().getDecorView().findViewById(R.id.viewID);v.setDrawingCacheEnabled(true);Bitmap bitmap = Bitmap.createBitmap(v.getDrawingCache()); 위와 같이 원하는 영역의 view 를 가져와서 Bitmap 으로 만들어서 저장을 한다. 찰칵 참고 : https://stackoverflow.com/a/30212385/3897810

Dev/Android 2018.02.12

XML 에서 id 설정에 관해서

XML 에서 id 설정에 관해서 A.XML B.XML...... 위와같이 XML 을 만들었었다. 그리고 ButterKnife 를 사용해서 BindView 를 했는데, 자꾸 id 가 잘못되었다고 뜨는 것이었다.처음에는 어디가 문제인지 찾지 못했었다. 그러다가 왜 자꾸 id 가 잘못됐다고 뜨는지 모르다가, 설마 id 가 겹치나? 해서 A.XML 의 include 에서 id 를 제거하니깐 잘 돌아갔다. include 가 B.XML 을 가리키고 가장 상위의 viewGrpoup 에 id 를 설정했는데 A.XML 에서 또 id 를 설정하니 오류가 발생한거였다.include 한 레이어와 B.XML 의 레이어를 다르다고 생각했었다.....

Dev/Android 2018.01.29