목록APP (6)
막무가내 삽질 블로그
infinite/endless scroll 이란? 페이지 이동없이 스크롤을 내리면 다음 페이지의 내용을 불러오는 것을 의미한다. 즉, 무한스크롤이다. 예제를 통해 실습해본 후 내 프로젝트에 맞게 변경했다. 서버에서 받아온 데이터가 100개라고 가정했을 때 100개를 담는 리스트를 하나를 할당한 후 스크롤 이벤트가 발생할때 10개의 데이터를 불러온다. 테스트 예제 activity_main.xml item_recycler.xml item_loading.xml RecyclerViewAdapter public class RecyclerViewAdapter extends RecyclerView.Adapter { private final int VIEW_TYPE_ITEM = 0; private final int V..
'void android.app.ProgressDialog.show()' on a null object reference 작동 구조 앨범에서 사진을 고른 후 닉네임 중복체크를 하면 튕기는 에러 발생 사진을 고르지 않은 상태에서 닉네임 중복체크를 하면 잘된다. 사진선택후 > 액티비티 돌아와서 초기화 셋팅 후 > 닉네임 버튼 누르고 > 서버와 통신 후 결과값 받음 해결 방법 null object reference 무슨 객체가 참조를 못한다는건데....ProgressDialog를 못찾는다는건데... 난 분명 해줬는데 왜 그럴까 생각 후 검색을 통해 원인을 찾았다. onStop 일때 다이얼로그를 dismiss 시켜주고 null로 할당했다. 그러니 재시작할때 ProgressDialog 객체를 참조 못한 것 이였다..
난 android:theme="@style/AppTheme" 사용중 무심코 AlertDialog 사용할때 import가 import android.support.v7.app.AlertDialog; 이녀석으로 되었다. 따라서 import android.app.AlertDialog; 로 바꿔주면 해결
참고자료 Difference between FragmentPagerAdapter and FragmentStatePagerAdapter, getSupportFragmentManager() and getChildFragmentManager() Difference between FragmentPagerAdapter and FragmentStatePagerAdapter Here is a log lifecycle of each fragment in ViewPager which have 4 fragment and offscreenPageLimit = 1 (default value) viblo.asia FragmentStatePagerAdapter deprecated from api 27
앨범에서 사진을 골라오면 해당 사진 파일경로를 따와서 파이어베이스 스토리지에 저장하는 것을 정리 한다. 우선 앨범에서 선택한 이미지(get.data)를 String 변수에 할당했다. String path = getPath(data.getData()); 로 받았다 System.out.println(get.data()); 를 했을때 코드는 content://com.google.android.apps~~~~~~~~로 나오는데 아래 코드는 Content의 Uri 을 FilePath로 바꾸는 코드이다 // uri 절대경로 가져오기 public String getPath(Uri uri){ String [] proj = {MediaStore.Images.Media.DATA}; CursorLoader cursorLoa..
SharedPreferences 란 안드로이드 os 내에서 제공하는 저장소라고 생각 한다. SharedPreferences 는 key값과 value 형태로 저장된다. 예를 들어 key : "name" , value : "아이언맨" key : "movie" , value : "어벤저스" key : "where" , value : "영화관" 있다고 하자. 그럼 우리는 해당 key값으로 원하는 value값을 찾을 수 있다. 저장 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); editor.putString(key, value);..