Android 75

119일차(1)/Android App(76) : apk 파일 생성, 수동으로 구동시키기

119일차(1)/Android App(76) : apk 파일 생성, 수동으로 구동시키기 - 서명된 어플리케이션 파일 만들기 - 이 모듈을 통해서 만드는 것은 안드로이드 앱이다. - .apk 파일이 생성된다.(안드로이드 앱 파일) - 새 모듈 생성 myapp (기본 모듈) - 이 myapp 폴더는 apk 파일을 만들어낼 수있는 하나의 프로젝트이다. - 이 앱을 가상기기에 넣어서 run 시키면 내부적으로 어떤 일이 일어날까? - apk 어플리케이션 파일이 만들어진다. 이 프로젝트를 빌드, 컴파일하는 과정을 통해서 만들어낸다! - build(compile) 이후 화면에 보여주기 위해서는 install 이, 실행 launch 가 필요하다. - 1) build , 2) install , 3) launch : 이 ..

국비교육(22-23) 2023.03.31

118일차(1)/Android App(75) : Wearable App 예제(2), 기기 페어링

118일차(1)/Android App(75) : Wearable App 예제(2), 기기 페어링 - 가상기기 삭제하고 새로 만들기 - 가상기기 삭제하기 (옵션-delete) - Phone에서 새 가상기기를 생성하려고 보면 플레이스토어 표시가 있는데, 가상기기에 구글 플레이스토어가 포함되어있는지 여부를 말한다. - 가상기기에서도 구글 계정으로 로그인해서 플레이스토어 앱을 받을 수 있다! - 이 표시가 있어야 웨어러블 앱을 가상기기에서도 연동하여 테스트해볼 수 있다. - Phone 가상기기 생성. R 선택해서 다운로드 받고 next-next-finish - 다음은 wear OS- small round로 생성 - China ver.이 아닌 R 버전으로 생성. next-finish - 이렇게 가상기기 두개를 만..

국비교육(22-23) 2023.03.30

117일차(2)/Android App(74) : Wearable App 예제(1)

117일차(2)/Android App(74) : Wearable App 예제(1) - Android Studio 에서 새 가상기기(Wear OS) 만들기 - 디바이스 관리-새 디바이스 생성하기 - Wear OS를 선택해준다. - Wear OS Square : 화면이 사각형인 것 - Wear OS Round : 화면이 동그란 것 - 시계 화면 모양을 기준으로 가상기기를 생성한다. - round를 선택해줌! - 두번째 R을 다운받아주기! - 맨 위의 것은 China Version 이라 언어가 중국어로 나온다. - 이렇게 Wearable device의 가상기기를 만들 수 있다. - 가상기기 생성에 시간이 오래 걸리므로 모듈을 생성하기 전에 만들어 놓으면 좋다. - Wear OS 도 Android와 비슷하다. ..

국비교육(22-23) 2023.03.29

109일차(1)/Android App(73) : 모바일 갤러리 기능 구현(7)

109일차(1)/Android App(73) : 모바일 갤러리 기능 구현(7) - 이전 게시물 참고 2023.03.08 - [국비교육] - 102일차(1)/Android App(67) : 모바일 갤러리 기능 구현(1) - 유틸리티를 사용해 한 작업의 에러 처리 - 유틸리티를 만들어서 쉽게 Http 요청을 보내고 코드를 축약함 - HttpUtil 안에서 UrlConnection객체를 요청해서 요청에 반응해주고 있다. - 응답 코드는 200번이면 정상, 300번대는 리다이렉트 요청, 코드가 400번대이면 요청을 잘못한 것이고, 500번대는 서버 오류이다 - 200번 이외에는 의도적으로 예외를 발생시키고, 메시지를 담아서 응답해주었다. - 모든 종류의 Exception을 아래 catch 블록에서 잡아주고 있다..

국비교육(22-23) 2023.03.17

108일차(1)/Android App(72) : 모바일 갤러리 기능 구현(6)

108일차(1)/Android App(72) : 모바일 갤러리 기능 구현(6) - 유틸리티로 이미지를 찍어서 원격지 서버에 업로드한다. - 이 유틸리티는 java 코드이므로, 안드로이드 말고도 다른 이클립스 등에서도 사용할 수 있다. - MyHttpUtil의 이 메소드를 사용해서 디바이스 안의 특정파일을 서버에 업로드! - 추가로 업로드할 파일 객체의 참조값을 넣어주면 된다. - 윈도우 안의 파일이라면 이런 경로를 넣어줄 것이고, 안드로이드의 폴더 경로를 전달해주면 업로드 해준다. - 첫 화면은 GalleryListActivity, 사진찍기 클릭시 MainActivity 활성화 - 사진을 찍으면 이 파일 객체를 사용해서 사진을 저장해준다. - onActivityResult에서 이미지를 이미지뷰에 출력해주..

국비교육(22-23) 2023.03.16

107일차(1)/Android App(71) : 모바일 갤러리 기능 구현(5)

107일차(1)/Android App(71) : 모바일 갤러리 기능 구현(5) - 이전 게시물 참조 2023.03.11 - [국비교육] - 105일차(1)/Android App(70) : 모바일 갤러리 기능 구현(4) - 유틸리티 안에서 알아서 GET방식, POST방식 요청을 해줄 수 있도록 만드는 중! - 쿠키가 이미 존재한다면 수정을 하고, 존재하지 않는다면 새로운 쿠키를 저장 - map을 MyHttpUtil에 전달하면 로그인처리를 실행해주는 구조로 만들었다. - 성공이면 id라는 키값으로 로그인된 아이디를 얻어낼 수 있다. - Spring Boot에서 원격지 서버의 이 메소드에 알아서 요청을 해주는 유틸리티를 만든 것이다. - 현재 로그인했지만 sessionId가 저장되지 않아 계속 로그인 화면이 ..

국비교육(22-23) 2023.03.15

105일차(1)/Android App(70) : 모바일 갤러리 기능 구현(4)

105일차(1)/Android App(70) : 모바일 갤러리 기능 구현(4) 2023.03.09 - [국비교육] - 104일차(1)/Android App(69) : 모바일 갤러리 기능 구현(3) - Http 요청을 할 유틸리티 생성 - 생성자에서 Context를 받아준다. Activity나 Service를 받아서 사용하면 된다! - 안드로이드 운영체제에는 SQLiteDB가 기본적으로 만들어져 들어있다. - 저 "CookieDB.sqlite" 가 하나의 계정이라고 생각하면 된다. 이 안에 파일, 테이블 등이 들어있다. - 이 계정의 데이터를 SQLiteDB에서 해석하여 사용하는 것! - 이 안에서 진행되는 비동기작업에 대한 리스너 인터페이스를 만들어주었다. - 각각 성공했을 때, 실패했을 때 호출되는 메..

국비교육(22-23) 2023.03.11

104일차(1)/Android App(69) : 모바일 갤러리 기능 구현(3)

104일차(1)/Android App(69) : 모바일 갤러리 기능 구현(3) - 클릭시 동작할 리스너를 등록했다. - 람다식으로 작성한 것. 리스너에 override할 메소드가 하나인 경우에만 사용할 수 있다! - 람다식으로 쓰면 (parent, view, position, id) 형태로 인자의 타입을 생략하여 쓸 수 있다. - 원래대로 쓰면 이런 구조가 된다. - 익명의 이너클래스를 이용해 인터페이스를 구현한 것 - parent, view, position, id 4개의 인자가 전달되는 메소드가 오직 한개일 때에만! 사용할 수 있다. - 리스트의 특정 아이템을 클릭하면 이 메소드 안으로 실행 순서가 들어온다. - putExtra로 dto를 담아서 intent와 함께 전달한다. - Serializabl..

국비교육(22-23) 2023.03.09

103일차(1)/Android App(68) : 모바일 갤러리 기능 구현(2)

103일차(1)/Android App(68) : 모바일 갤러리 기능 구현(2) - 이전 게시물 참고 2023.03.08 - [국비교육] - 102일차(1)/Android App(67) : 모바일 갤러리 기능 구현(1) - 아답타에 모델을 연결하고, 그 아답타는 리스트뷰에 연결했다. - 모델이 갖고있는 데이터를 변경해서 아답타가 View를 보여준다. - 데이터를 사용해서 뷰를 만들고 이것을 리스트뷰의 셀에 연결! - GalleryAdapter의 getView 메소드는 리스트뷰를 리턴한다. - 뷰 객체를 받아가서 셀 하나하나를 구성 - TextView는 직접 값을 넣어주면 되고, 이미지 출력은 의존디펜던시 Glide를 사용해서 해준다! - 이곳에 출력할 데이터는 GalleryListActivity 에서 만들..

국비교육(22-23) 2023.03.09

102일차(1)/Android App(67) : 모바일 갤러리 기능 구현(1)

102일차(1)/Android App(67) : 모바일 갤러리 기능 구현(1) - String... 은 String 배열 [] 과 같다. 인자로 받는 패러미터의 개수를 동적으로 받을 수 있다는 뜻! - 사진을 찍어서 업로드 버튼을 누르면 UploadTask를 통해서 전달한다. - 안드로이드에서의 이 작업은 이런 폼을 원하는 위치로 제출(submit)하는 것과 같다. - 위 form 요소를 java 코드로 구현한 것! - PrintWriter 객체에 append해서 문자열을 전송한다. - 이렇게 서버에 전송하면 서버는 이 약속된 키 값에 따라 동작하는 것이다. - 개행기호, 구분선 등을 사용해 받는 정보를 이렇게 구성해볼 수 있다. - 이 하나가 1바이트이다.(8개) - 키 값으로 이런 데이터가 넘어왔다는..

국비교육(22-23) 2023.03.08