본문 바로가기
반응형

전체 글36

안드로이드 에러 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다. 원인 및 해결 안드로이드 개발을 하면서 처음 겪어보는 에러였다. 바로 "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다." 라는 에러. 에러 원인을 확인하고 해결해보자. 바쁜 분들은 그냥 아래로 쭉 내려서 2. 에러 해결 부분을 확인해보면 된다. 1. 에러 내용 재미삼아 커스텀 볼륨 노브를 만들어보고 테스트를 실행했는데 다음과 같은 에러가 발생했다. "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다." 잘 실행되던 것이 갑자기 왜!? 도무지 이해가 가질 않았다. 곰곰히 생각해보니 안드로이드 스튜디오에서 프로젝트1을 실행했다가 종료하지 않고 그대로 프로젝트 2를 실행해서 그런 것 같다. 그래서 기존에 실행했던 프로젝트의 프로세스가 파일을 사용 중이기 때문에 액세스.. 2023. 2. 20.
안드로이드 패스 그리기 1. 패스(Path) 패스는 복잡한 기하학적인 경로를 표현해주며, 직선과 타원, 곡선으로 이루어질 수 있다. 패스는 캔버스의 메서드 drawPath() 메서드를 이용하여 그려진다. void drawPath(Path path, Paint paint) 주어진 paint를 이용하여 주어진 패스를 그린다. 다음은 path가 제공하는 메서드들이다. addArc(RectF oval, float startAngle, float sweepAngle) 패스에 원호를 그린다. addCircle(float x, float y, float radius, Path.Direction dir) 패스에 원을 추가한다. addOval(RectF oval, Path.Direction dir) 패스에 타원을 추가한다. addRect(fl.. 2023. 2. 18.
안드로이드 그리기 속성 1. 그리기 속성 안드로이드에서는 다양한 그리기 속성을 제공한다. 색상, 안티앨리어싱, 폰트 변경 등의 속성이 있다. 색상 색상은 색의 3원색인 RED, GREEN, BLUE 성분을 8비트로 표시하여 나타낸다. 따라서 24비트면 하나의 색상을 표현할 수 있고, 24비트를 16진수로 표시하는 것이 일반적이다. 예를 들면, #FFA10C의 형태로 나타내는 것이다. 빨간색으로 색상을 설정하려면 다음과 같이 하면 된다. paint.setColor(0xFF0000); 많이 사용되는 색상은 미리 Color 클래스 안에 RED, GREEN, BLUE, YELLOW, BLACK 등과 같이 상수로 정의되어 있다. paint.setColor(Color.RED); 안드로이드에서는 다음과 같은 메서드를 사용하여 그리기 속성을.. 2023. 2. 18.
안드로이드 그래픽(Graphic) 1. 그래픽 안드로이드에서는 그래픽 기능과 애니메이션을 지원한다. 2차원 그래픽과 3차원 그래픽을 지원하는데 이번 포스팅에서는 2차원 그래픽을 알아보자. 커스텀 뷰 클래스를 작성하여 각종 도형 및 텍스트, 이미지 등을 화면에 그려보자. 1) 커스텀 뷰를 사용하여 그리기 안드로이드에서는 그래픽 기능과 애니메이션을 지원한다. 커스텀 뷰 클래스를 작성하고 onDraw() 메서드를 재정의하여 화면에 그림을 그려보자. 커스텀 뷰를 사용하여 그리기를 구현하는 경우 다음과 같은 구조를 갖는다. class MyView extends View { public MyView(Context context) { super(context); setBackgroundColor(Color.BLUE); } @Override prote.. 2023. 2. 10.
[Java] 안드로이드 간단한 설문조사 기능 구현 설문조사 기능 설명 설문조사 기능은 간단한 설문에 대한 답변 내용을 수집하는 것을 말한다. 다양한 앱에서 설문조사 기능이 활용된다. 예를 들면, 건강관리 앱에서 간단한 기초문진과 같은 기능에 활용될 수 있다. 이번 포스팅에서는 라디오버튼을 활용한 간단한 설문조사 앱을 구현해본다. 설문 내용은 재미삼아 작성했다. 리그오브레전드에서 자주 사용하는 스킨을 선택하고 스킨선택 버튼을 누르면 해당 스킨 이미지를 보여주도록 구현했다. 간단한 설문조사 기능 구현 먼저 간단한 설문조사 기능 구현 순서를 다음과 같이 요약한다. 리소스 정리 activity_survey_skin.xml 작성 SurveyActivity.java 생성 AndroidManifest.xml에 SurveyActivity 추가 1. 리소스 정리 가장 .. 2023. 1. 28.
안드로이드 멀티 터치 이벤트 1. 멀티 터치 이벤트 멀티 터치란 여러 손가락을 이용하여 화면을 터치하는 것을 말한다. 주로 이미지의 확대/축소에 많이 사용된다. ACTION_DOWN 화면을 터치하는 첫 번째 포인터에 대하여 제스처 인식이 시작된다. 첫 번째 터치는 항상 MotionEvent에서 인덱스 0번에 저장된다. ACTION_POINTER_DOWN 첫 번째 포인터 이외의 포인터에 대하여 발생된다. 포인터 데이터는 getActionIndex()가 반환하는 인덱스에 저장된다. ACTION_MOVE 화면을 누르면서 이동할 때 발생한다. ACTION_POINTER_UP 마지막 포인터가 아닌 다른 포인터가 화면에서 없어지면 발생한다. ACTION_UP 화면을 떠나는 마지막 포인터에 대하여 발생한다. 2. 이미지 확대/축소 기능 구현 안.. 2023. 1. 25.
안드로이드 선 그리기(drawPath) 1. 선 그리기 사용자로부터 터치를 입력받아 화면에 곡선을 그려보자. 기본적으로 앞선 포스팅에서 알아봤던 TouchEvent를 활용한 예제다. 캔버스에 선 그리기 예제 테스트를 위해 다음과 같은 순서로 코드를 작성한다. SinglleTouchView.java 작성 MainActivity.java 작성 화면을 터치하여 자유자재로 낙서를 할 수 있는 낙서장을 구현해보자. 화면을 터치하여 선을 그리는 앱을 구현한다. 그래픽에서 제공하는 Path 객체를 이용하여 점의 좌표를 누적시킨다. 누적된 점이 연결되며 터치하여 이동한 대로 선이 만들어진다. 1) SingleTouchView.java 이 예제에서는 특별히 레이아웃 코드를 작성할 필요가 없다. 먼저 다음과 같이 선을 그리기 위한 코드를 작성한다. public.. 2023. 1. 25.
안드로이드 터치 이벤트(TouchEvent) 기본 1. 터치 이벤트 안드로이드에서 사용자와 상호작용을 위해 사용하는 객체는 View 클래스이다. View 클래스는 이벤트가 발생했을 때 호출되는 몇 개의 콜백 메서드(Callback Method)를 갖고있다. View 객체에 어떤 액션이 발생하면 콜백 메서드는 안드로이드 프레임워크에 의해 호출된다. 예를 들어 사용자가 화면을 터치하면 onKeyDwon() 메서드가 호출된다. 키 이벤트를 처리하는 가장 확실한 방법은 View클래스의 onKeyDown() 메서드를 재정의 하는 것이다. 이벤트 처리를 위해 View클래스를 상속받는 것은 실용적이지 않다. 하지만 사용자가 커스텀 컴포넌트를 작성하고자 한다면 View 클래스의 이벤트 처리 메서드를 재정의하여 사용한다. 터치 이벤트를 처리하는 대표적인 두 가지 방식은.. 2023. 1. 16.
반응형