Android

    Android Studio - BottomNavigationView를 사용해 fragment 기초 이해하기

    1. activity_main.xml 의 레이아웃을RelativeLayout으로 바꾼다. 2. bottom으로 검색하여 BottomNavigationView를 끌어다 놓는다. 3. BottomNavigationView의 id, width, height, align을 설정해준다. 4. 리소스매니저 - 네비게이션 - +버튼 - Navigation Resource File 선택 5. 파일명 짓고 생성 6. dependency를 추가한다. 이런 경고창이 뜨는데 OK를 눌러 dependency를 추가한다. 만약 안된다면 build.gradle에 직접 dependency를 추가해준다. dependencies { implementation 'androidx.navigation:navigation-fragment:2...

    Android Studio - 카메라 or 갤러리에서 사진 가져오기 Cheet Sheet

    1. fileprovider.xml 만들기 res - xml 에 XML Resource file을 추가 파일명은 fileprovider로 만들고 아래 코드를 복사해 넣는다. 2. Manifest 설정 AndroidManifest.xml에 다음 항목들을 추가해 넣는다. 의 authorities는 자신에 맞게 변경한다. android:requestLegacyExternalStorage="true" 3. Cheet Sheet import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivi..

    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 - 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 ..