분류 전체보기
Android Studio - DatePickerDialog/TimePickerDialog 사용법
1. DatePickerDialog btnDate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 오늘 날짜 가져오기 Calendar current = Calendar.getInstance(); new DatePickerDialog( EditActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { Log.i("MEMO_APP", "년도 : " + i + ", 월 :"+i1+", 일 :"+i2); //..
Android Studio - Retrofit2를 이용해 API 서버에 요청하기(GET) + RecyclerVeiw 에 표시
1. Retrofit2 라이브러리 HTTP 통신 라이브러리 중 Volley와 함께 가장 많이 사용되는 대표적인 라이브러리 동일 Squareup사의 OkHttp 라이브러리의 상위 구현체 - Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축 됨 Volley는 response로 받은 JSON 파싱을 직접 해줘야 해서 코딩이 길어지는 반면, Retrofit은 자동으로 파싱을 해줘서 더 간단하게 사용할 수 있다. 2. Retrofit2 사용을 위한 설정 인터넷 사용 권한 설정 AndroidManifest.xml에 추가해준다. 안드로이드 에뮬레이터에서 인터넷을 사용하기 위한 설정은 이 포스팅을 참고 dependencies 추가 build.gradle(Module)에 추가해준다. depende..
Android Studio - Retrofit2를 이용해 API 서버에 요청하기(POST)
1. Retrofit2 라이브러리 HTTP 통신 라이브러리 중 Volley와 함께 가장 많이 사용되는 대표적인 라이브러리 동일 Squareup사의 OkHttp 라이브러리의 상위 구현체 - Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축 됨 Volley는 response로 받은 JSON 파싱을 직접 해줘야 해서 코딩이 길어지는 반면, Retrofit은 자동으로 파싱을 해줘서 더 간단하게 사용할 수 있다. 2. Retrofit2 사용을 위한 설정 인터넷 사용 권한 설정 AndroidManifest.xml에 추가해준다. 안드로이드 에뮬레이터에서 인터넷을 사용하기 위한 설정은 이 포스팅을 참고 dependencies 추가 build.gradle(Module)에 추가해준다. depende..
Android Studio 에러 - Emulator is already running
Error while waiting for divice: AVD Pixel 2 API 33 is already running 안드로이드 스튜디오에서 에뮬레이터를 실행하려 하는데 이런 에러가 뜨면서 실행이 안 됐다. 안드로이드 에뮬레이터가 비정상적으로 종료되거나 문제가 있을 때 발생하는 에러라고 한다. 해결법은 에러 메시지에 나와 있는 것처럼 에뮬레이터 경로로 가서 .lock으로 끝나는 파일들을 삭제해주면 된다. .lock 으로 끝나는 파일을 모두 삭제하고 다시 실행하면 정상적으로 동작한다.
Android Studio - Volley 라이브러리 Body와 Header에 데이터 담아서 Request 하는 법
1. Body에 데이터 전달하는 방법 Body에 보낼 JSONObject 객체를 만들고, put 메소드로 객체에 key와 value를 넣어준다. JsonObjectRequest 생성자 3번째 파라미터에 JSONObject 객체를 전달한다. // body에 데이터를 넣는다. JSONObject body = new JSONObject(); try { body.put("source", source); body.put("target", target); body.put("text", text); } catch (JSONException e) { return; } // request 생성자 3번째 파라미터에 body를 전달한다. RequestQueue queue = Volley.newRequestQueue(Main..
Android Studio - RecyclerView 페이징 처리 (마지막까지 스크롤 됐을 때, 이벤트 처리)
리사이클러 뷰의 페이징 처리를 위해, 마지막까지 스크롤 됐을 때 처리하는 코드를 알아보자. recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); } @Override public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); ..
Android Studio - Intent 활용 (주소록, 웹, SMS, Email 열기)
// 연락처 선택하는 액티비티 띄우기 // 호출: selectContact(); void selectContact(){ Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); startActivity(intent); } // 웹브라우저 실행시키는 인텐트 // 호출 예: openWebPage("http://naver.com"); void openWebPage(String url){ Uri uri = Uri.parse(url); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } // SMS ..
Android Studio - 이미지 처리를 위한 Glide 라이브러리 사용법
1. Glide 라이브러리 구글에서 인수한 안드로이드 이미지 로딩 라이브러리 이미지의 크기 조정, 로딩 이미지, 오류 이미지 표시 등을 쉽게 구현도록 지원한다. 동영상, gif 파일 로딩까지 지원한다. 빠른 로딩을 위해 내부적으로 cache를 갖는다. httpUrlConnection 라이브러리를 기반으로 하지만, Volley, OkHttp 등의 라이브러리를 사용할 수 있는 플러그인도 지원한다.(때문에 url을 통해 웹서버에 접근하여 file등을 다운로드 받을 수 있고, 이를 로딩할 수 있다.) 서버에서 이미지를 내려받을 때 Volley나 Retrofit보다 더 빠르게 처리한다. 자동으로 페이징 처리를 해서 스크롤이 가지 않은 곳의 이미지는 불러오지 않는다. 공식 GitHub 2. 사용 방법 build.g..