본문 바로가기

android

[ Android ] 홈키 눌렀을 때 처리 오늘 머리가 도저히 안돌아가서.. 안드로이드 펍에서 돌아다니다가 알게되었습니다. 전엔 홈키를 어떻게 처리할 방도를 몰라서 OnResume에 플래그값을 줘서 했었는데.. 엄청 유용한 함수가 있네요. void Activity.onUserLeaveHint () 이 메서드는 사용자에 의해 액티비티가 백그라운드로 전환되기 직전에 onPause 바로 앞에 호출된다. Home 키를 누르기 직전에 호출되며 Back키를 누르거나 전화 통화 앱이 올라올 때, 타이머에 의해 종료될 때는 호출되지 않는다. Home키는 키입력 이벤트로 전달되지 않아 검출이 어려운데 이 메서드가 호출될 때 Home키에 의해 백그라운드가 됨을 알 수 있다. 이 두 메서드는 상태란의 통지를 관리할 때 사용될 수 있으며 액티비티가 통지를 취소할 시점.. 더보기
[ Android ] ListView 나누기 리스트 뷰 사이마다 라인을 그릴 수 있다. 라인의 색깔과 두께가 가능합니다. listType = (ListView)findViewById(R.id.ListType); listType.setDivider(new ColorDrawable(Color.rgb(94, 37, 3))); // 색깔 지정 listType.setDividerHeight(1); // 두께 이 메소드는 GridView에는 존재하지 않습니다.^^ 더보기
[ Android ] TableLayout 사이즈 조정 TableLayout을 사용할 때 컬럼(가로)을 똑같이 주고자 할 경우 TableLayout 속성에 android:stretchcolumns="0,1,2" 를 추가시킵니다 위 내용은 첫번째,두번째, 세번째 칼럼에 남는 여분의 사이즈를 준다는 의미 하지만, 여기서 컬럼이 아니라 Row(세로)의 크기를 똑같이 주고자 할경우! TableRow 속성에 각각 android:layout_weight = "1" 주세요. 위 내용은 만약 TableRow가 5개 있을 경우 전체 TableLayout의 전체 높이에 1/5을 사용한다는 말입니다. 그래서 전체적으로 똑같이 보여주는 것이지요^^ 더보기
[ Android ] 지나쳐 온 Activity 제거 방법 어플리케이션에서 여러 Activity를 사용해서 데이터를 수집해야할 경우 가 있습니다. 예를 들어 A화면은 메인 이고 B화면에서 이미지를 받아오고 C화면에서 컬러를 지정하고 D화면에서 데이터를 수정하고 다시 A로 돌아갈려고 할 경우! ( 취소 버튼을 누르면 당연 D화면에서 는 C화면으로 가야겠죠!!) A화면으로 가는 intent에 플래그 값 하나만 넣어주면 됩니다. Intent.FLAG_ACTIVITY_CLEAR_TOP 간단하게 샘플을 만들어 보았는데요. 아래는 가장 마지막 Activity 즉! D화면이라고 보시면 됩니다. package com.flagtest; import android.app.Activity; import android.content.Intent; import android.os.Bu.. 더보기
[ Android ] Camera 호출 후 이미지 Crop하기 예제 참고 : http://stackoverflow.com/questions/1973359/android-crop-an-image-after-taking-it-with-camera-with-a-fixed-aspect-ratio안드로이드에서 카메라를 이용하여 이미지 촬영후 해당 이미지를 크롭하는 경우의 예제를 만들어 보았습니다. 이 예제에서는 카메라를 이용하는것 외에도 앨범에서 이미지를 가져오는 경우에도 마찬가지로 크롭을 할 수 있도록 하였습니다. 1. AndroidManifest.xml 에 권한 추가하기 2. main.xml 레이아웃 만들기 3. 소스 코드 작성 package pe.kr.theeye.cameracrop; import java.io.File; import android.app.Activity; .. 더보기
[ Android ] 베지어(Bezier) 곡선 그리기 소프트웨어 쪽만 공부하던 저이기에 곡선 움직임을 그리기위해 열심히 구글링을 해봐도, 간단한 곡선하나 그리기가 힘들고 어려웠습니다. 열심히 조사하고, 읽어보고, 거의 한 일주일간 알아봤던 것 같네요.!!! 결국!!! 베지어 곡선을 그리는데 성공을 했습니다. 역시 포기 하지 않고, 읽어보고 실험을 해보니 어느 순간 머리 속으로 들어오더라구요. 자.. 뻘소리 그만하고, 소스를 보기 전에 베지어 곡선을 사용할 때 꼭 알아두어야 할 것이 있습니다. 1. 베지어 곡선은 여러 포인트로 곡선을 그린다. 적어도 포인트 3개 정도는 되야 곡선이 만들어집니다. 2. 베지어 곡선 공식에서 'u'라는 변수를 사용하는데요. 이 변수는 0부터 1까지만 지정합니다. (소스에서는 mu) 0은 곡선의 시작점을 나타내고, 1은 곡선의 끝.. 더보기
[ Android ] 이미지 버튼 만들기 기본적으로 안드로이드에선 사용자가 버튼을 누르게 되면 노란 바탕으로 클릭이 되었다는 것을 알려줍니다. (주황색인가??) 하지만, 실제로 코딩을 하게 되면 버튼 그대로 사용하면 너무 볼품이 없어서 변경하는 경우가 태반인데요. 이 때 이미지버튼을 만드는 좋은 방식이 있어서 소개드릴까 합니다. 1. selector XML파일을 만든다. /res/drawable/imgbtn.xml 이라는 파일을 만든 후 그 파일 안에 다음과 같이 써 놓으세요. 2. ImageButton을 만듭니다. 'imgbtn' 더보기
[ Android ] 잠금 화면 상태 확인 어플리케이션을 개발할 때, Mediaplayer나 Alarm 같은 백그라운드에서 계속 실행되게 하는 기능을 자주 사용하는데요. 사용 시, 종료 버튼을 누르고 잠금 화면에서 소리가 계속 나오더라구요. OnPause함수를 부를 때 정지를 시키고, OnResume 함수때 다시 소리를 실행하는 상황인데요. @Override protected void onResume() { if(backgroundMediaPlayer != null)){ backgroundMediaPlayer.start(); } super.onResume(); } @Override protected void onPause() { if(backgroundMediaPlayer != null){ // 종료 시 다시 실행이 되지 않아 // MediaPl.. 더보기