본문 바로가기

안드로이드14

안드로이드 리스트뷰 만들기 기존의 프로젝트에서 버튼을 사용해서 갤러리와 이미지 처리 activity로 각각 넘어갔었다. 미관상.. 보기 불편해서 gridview로 이쁘게 만들까 하다가, 원래 기획대로 리스트뷰로 재구성해봤다. listView라는 empty activity를 하나 생성해주었다. - activity_list_view.xml ListView는 EditText 나 ImageView와 같이 사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 종류이다. ListView에 사용자 지정 데이터를 활용해 화면에 표시하기 위해서는 Adapter 클래스를 사용해야 한다. 사용자 데이터와 화면 출력 View 의 두 부분을 이어주는 역할이라고 보면 된다. - listView.java public cl.. 2021. 3. 30.
안드로이드 Spinner (ComboBox, Select input) 만들기 프로젝트에서 아이템 카테고리 별로 분류하기 위해서 이미지 데이터 전송시, 패션 아이템을 분류할 수 있는 spinner 기능을 추가하였다. - SubActivity.xml 우선 Spinner를 하나 생성해준다. - SubAcitivity.java spinner 객체를 id를 통해 찾고, 원하는 select option들을 문자열 배열에 넣어준다. 그리고 배열의 요소들을 ArrayAdapter를 통해 배열 요소들을 spinner에 띄울 수 있다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub); // ComboBo.. 2021. 3. 30.
안드로이드 로딩 화면 만들기 (java) 크게 두 가지 방법으로 구현해봤다. 1) ProgressDialog 사용하기 2) 새로운 activity 사용하기 1) ProgressDialog 사용하기 ProgressDialog에는 크게 선형으로 구현되는 linear 타입과 우리가 흔히 보는 spinner 타입이 사용되는 것 같다. 나는 spinner 타입을 사용했다. // ProgressDialog 생성 ProgressDialog dialog = new ProgressDialog(SubActivity.this); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); dialog.setMessage("Image processing..."); dialog.show(); // ProgressDialog 없애기.. 2021. 3. 23.
Retrofit 라이브러리에서 timeout 세팅하기 진행 중인 프로젝트에서 문제가 있는 코드가 있었다. 내 기록용 포스팅이기 때문에 간단한 설명을 적자면, 안드로이드 -> 서버로 이미지 전송을 하고, 이미지 처리를 하는 과정에서 딥러닝 모델로 처리를 하는데, 이미지 처리 시간이 길었다. 그래서 이미지가 처리되고 안드로이드로 response를 보냈을 때, 이미 안드로이드 client 측에서는 connection error로 인식을 하는 오류가 있었다. 그래서 retrofit 으로 timeout 조건을 추가해주려고 한다. 이 부분은 1) 이미지 처리가 완료되기 전 해당 계정으로 이미지를 또 보내면, 현재 구현 상에서 기존의 데이터가 제대로 삭제되지 않는 문제를 해결하기 위해서도 필요하고, 2) 이미지 처리가 완료되기 전에 DB 데이터를 조회해서 아직 처리되지.. 2021. 3. 22.