IT/Android Programming
-
인텐트 액션 종류IT/Android Programming 2020. 3. 11. 20:17
ACTION_MAIN 시작하는 액티비티를 지정 ACTION_ATTACH_DATA 데이터를 다른 곳에 붙일 때 ACTION_EDIT 데이터 수정 할 때 ACTION_PICK 데이터에서 URI 정보를 선택해서 반환 ACTION_CHOOSER 사용자가 진행하기 전에 데이터에서 원하는 걸 선택 ACTION_GET_CONTENT 하나의 데이터를 선택해서 반환 ACTION_DIAL 주어진 전화번호를 이용해 전화걸기 ACTION_CALL 주어진 전화번호를 이용해 전화걸기, 긴급번호는 안 됨 ACTION_SEND 다른 사람에게 데이터를 전달, 전달되는 대상은 지정 되어 있지 않음 ACTION_SENDTO 지정된 사람에게 데이터 전달 ACTION_VIEW URI을 통해 화면을 보여줌 ACTION_ANSWER 수신 전화 ..
-
ActivityNotFoundException: No Activity found to handle Intent 오류IT/Android Programming 2020. 3. 11. 18:47
인텐트를 공부하던 중 예제로 전화번호로 전화를 걸도록 하는 것을 하고 있었다. xml 파일에서 입력 상자인 EditText를 추가했다. android:text="tel : 010-1234-5678을 넣고 실행을 했을 때 다음과 같이 실행이 되질 않았다. ActivityNotFoundException: No Activity found to handle Intent 와 같은 예외상황이 발생하며 액티비티가 제대로 띄워지질 않은 것이다. 이것은 화면을 처리할 행동을 하지 못했다는 거다. 알고 보니 전화번호 입력을 했을 때 tel과 콜론( : )사이에 띄어쓰기가 되어있어서 실행이 안 된 것이다. android:text="tel: 010-1234-5678 , android:text="tel:010-1234-5678..
-
도전 03 문제 풀기IT/Android Programming 2020. 3. 7. 22:27
두 개의 이미지뷰에 이미지 번갈아 보여주기 ① 화면을 위와 아래 두 영역으로 나누고 영역에 각각의 이미지뷰 배치 ② 이미지뷰에 스크롤이 생김 ③ 이미지 뷰 사이에 버튼을 만들고 버튼을 누르면 상단의 이미지가 하단으로 옮겨서 보여지고 다시 누르면 상단에 옮겨 보여지는 기능 먼저 xml코드는 이러하다. 상대 레이아웃을 썼다. 상단의 이미지에 스크롤이 생길 수 있게 스크롤 태그를 썼으며 수평 스크롤을 위한 스크롤뷰도 추가 하였다. 밑에 버튼을 추가 하기 위해 리니어 레이아웃을 썼다. 버튼 두개를 추가하고 버튼이 클릭 될 수 있는 메서드를 넣었다. 마지막으로 하단 이미지에도 스크롤이 생길 수 있게 스크롤뷰를 넣었다. 자바 소스 onClick메서드를 보면 상단에 이미지가 보일 경우 하단의 이미지는 보이지 않게 한..
-
상대 레이아웃 속성IT/Android Programming 2020. 3. 7. 21:48
상대 레이아웃에서 부모 컨테이너와의 상대적 위치를 이용 속성 설명 layout_alignParentTop 부모 컨테이너의 위쪽과 뷰의 위쪽을 맞춤 layout_alignParentBottom 부모 컨테이너의 아래쪽과 뷰의 아래쪽을 맞춤 layout_alignParentLeft 부모 컨테이너의 왼쪽 끝과 뷰의 왼쪽 끝을 맞춤 layout_alignParentRight 부모 컨테이너의 오른쪽 끝과 뷰의 오른쪽 끝을 맞춤 layout_centerHorizontal 부모 컨테이너의 수평 방향 중앙에 배치 layout_centerVertical 부모 컨테이너의 수직 방향 중앙에 배치 layout_centerInParent 부모 컨테이너의 수평과 수직 방향 중앙에 배치 다른 뷰와의 상대적 위치 이용 속성 설명 la..
-
레이아웃 종류IT/Android Programming 2020. 3. 7. 21:37
▶ 제약 레이아웃(ConstraintLayout) - 제약 조건을 사용해 뷰를 배치 - 안드로이드 스튜디오에서 프로젝트를 만들 때 자동으로 설정되는 디폴트 레이아웃 ▶ 리니어 레이아웃(LinearLayout) - 박스 모델을 사용 - 뷰가 차지하는 영역을 박스라고 하고 한 쪽 방향으로 쌓게 됨 - 가로 방향 : Horizontal - 세로 방향 : Vertical ▶ 상대 레이아웃(RelativeLayout) - 규칙 기반 - 부모 레이아웃과의 상대적 위치 또는 같은 레이아웃 안에 들어 있는 다른 뷰와의 위치를 이용해 화면을 배치 ▶ 프레임 레이아웃(FrameLayout) - 가장 위에 있는 하나의 뷰만 화면에 보여줌 - 싱글 모델 - 여러 개의 뷰를 서로 전환할 때 사용 ▶ 테이블 레이아웃(TableL..
-
도전 02 문제 풀기IT/Android Programming 2020. 3. 7. 18:12
위, 아래, 중앙의 공간을 차지하는 전형적인 화면 구성하기 ① 제약 레이아웃 사용하기 ② 화면 위쪽과 아래쪽에 버튼 추가하고 가로 방향으로 꽉 차도록 만들기 ③ 화면 가운데에 버튼 추가하고 위쪽, 아래쪽 버튼 사이의 중앙 공간을 꽉 채우기 제약 레이아웃인 constraintlayout을 사용했다. 버튼3개를 추가하고 맨 위쪽에 있는 버튼을 버튼1로 설정했다. 버튼1의 가로는 꽉 차게 하기 위해 mach_parent사용 했고 세로는 뷰 내용에 맞게 wrap_content로 했다. margin으로 위, 시작, 끝을 설정했고, 제약 레이아웃 조건으로 constraintTop_toTopOf="parent" 버튼의 위쪽을 부모레이아웃의 위쪽으로 설정 constraintStart_toStartOf="parent" ..
-
도전01 문제 풀기IT/Android Programming 2020. 3. 7. 17:27
Do it 안드로이드 책에 나와있는 문제를 풀었다. 화면 아래쪽에 두 개의 버튼 추가하기 이 문제에 조건은 이러했다. ① 제약 레이아웃 사용 ② 화면의 아래쪽에 가이드라인 배치 ③ 가이드라인 위쪽에 버튼을 추가한 후 연결 제약 레이아웃인 constraintlayout를 사용했고 레이아웃의 가로 세로는 화면에 꽉 차게 했다. 그 다음에 가이드라인을 넣었다. orientation="horizontal"로 수평으로 넣었다. 그 후 버튼 두개를 추가 하였고, text="버튼 2"는 constraintBottom_toTopOf="@+id/guideline"로 버튼2의 아래쪽을 가이드라인 위쪽과 연결 시키고, constraintStart_toEndOf="@+id/button3"으로 버튼2의 시작을 버튼1의 끝에 연..
-
레이아웃 기초 익히기IT/Android Programming 2020. 3. 7. 16:29
안드로이드 스튜디오에서는 기본적인 레이아웃으로 제약 레이아웃(Constraint Layout)을 자동 설정한다. ▶ 제약 조건 - 뷰가 레이아웃 안의 다른 요소와 어떻게 연결되는지 알려주는 것 - 뷰의 연결점과 대상을 연결한다. - 꼭 필요한 제약 조건은 두 개면 된다. ▶ 타깃이 될 수 있는 것들 ① 같은 부모 레이아웃 안에 들어 있는 다른 뷰의 연결점 ② 부모 레이아웃의 연결점 ③ 가이드라인 ▶ 대상 뷰와 타깃의 연결점으로 될 수 있는 것들 ① 위쪽(Top), 아래쪽(Bottom), 왼쪽(Left or Start), 오른쪽(Right or End) ② 가로축의 가운데, 세로축의 가운데 ③ 베이스라인(텍스트를 보여주는 뷰인 경우에만 적용됨) ▶ 제약 레이아웃의 속성 layout_constraint[소스..