본문 바로가기

분류 전체보기65

안드로이드 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.
라이브러리, 프레임워크, 그리고 API 각 개념을 정리해보려고 한다. 1. 라이브러리 (Library) 응용 프로그램 개발을 위해 필요한 기능들을 모아 놓은 소프트웨어 - 응용 프로그램이 능동적, 선택적으로 라이브러리의 기능들을 사용한다. - 기능들을 '함수 단위'로 만들어서 제공한다. 구현 로직을 알 수 있다. - 대체 가능한 다른 대안들을 찾기가 수월하다. - 언어에 기본적으로 포함되어 있는 '표준 라이브러리'와 '외부 라이브러리'가 있다. - C언어에서는 표준 라이브러리를 헤더파일에 포함하여 제공하고 #include를 사용하여 선언하고 사용한다. - Java에서는 패키지의 클래스 내에 메소드가 정의되어 있다. import문을 사용하고 class_name.method_name( )식으로 사용한다. (Python은 Java와 동일한 방식) .. 2021. 3. 26.
안드로이드 로딩 화면 만들기 (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.