목록전체 글 (128)
막무가내 삽질 블로그
클라이언트에서 값이 들어오면 해당값으로 디렉토리를 생성해주고 디렉토리 안에 이미지를 넣는 구조였다. 디렉토리를 생성할때 755로 생성을 하였다. if (!is_dir($dir)) { echo "없으니 생성하자"; mkdir($dir, 0755, true); if (move_uploaded_file($_FILES["upload"]["tmp_name"], $target_mkdir)) { echo "생성 후 이동완료"; } } else { echo "폴더 있다"; if (move_uploaded_file($_FILES["upload"]["tmp_name"], $target_mkdir)) { echo "있는 폴더로 이동완료"; } } 생성 후 문제가 안될줄 알았는데 php에서 디렉토리를 생성하게 되면 서버계정의..
다이얼로그에서 아이템을 추가,삭제 했을때 발생한 에러 기존코드에서 테스트 했을 때 문제없이 진행되었다. 근데 어떤 상황이 닥칠지 몰라 아이템을 추가,삭제 무한으로 테스트 해보다가 발생한 상황 내가 가지고 있는 사이즈보다 추가할 인덱스가 클경우 발생하는 오류 해당 오류가 발생했을때 앱이 강제로 종료된다. 따라서 앱이 튕기지 않게 예외처리를 해주었다. 기존코드 builder.setMultiChoiceItems(items, null, (dialogInterface, i, b) -> { if (b) { select.add(i); } else { select.remove(i); } }); 해결코드 builder.setMultiChoiceItems(items, null, (dialogInterface, i, b) ..
'void android.app.ProgressDialog.show()' on a null object reference 작동 구조 앨범에서 사진을 고른 후 닉네임 중복체크를 하면 튕기는 에러 발생 사진을 고르지 않은 상태에서 닉네임 중복체크를 하면 잘된다. 사진선택후 > 액티비티 돌아와서 초기화 셋팅 후 > 닉네임 버튼 누르고 > 서버와 통신 후 결과값 받음 해결 방법 null object reference 무슨 객체가 참조를 못한다는건데....ProgressDialog를 못찾는다는건데... 난 분명 해줬는데 왜 그럴까 생각 후 검색을 통해 원인을 찾았다. onStop 일때 다이얼로그를 dismiss 시켜주고 null로 할당했다. 그러니 재시작할때 ProgressDialog 객체를 참조 못한 것 이였다..
이곳저곳에서 보다 이제 어느정도는 정리가 끝났다. 많은 예제들을 짬뽕시키고 내게 필요한 쪽으로 계속 변경중에 있다. 기존에 방식은 view에서 adapter로 다시 넘겨 줬지만 변경된 것은 모든걸 presenter에서 처리를 하였다. MainContract public interface MainContract { // presenter 에서 view를 업데이트 하기 위한 이벤트 interface View { void showLoading(); void hideLoading(); void onErrorMessage(String message); void showToast(String name); } // view에서 호출할때 이벤트 interface Presenter { void attachView(Vie..
edittext, textview 같이 string 데이터를 추구하는 setText에 string형이 아닌 다른형이 왔을때에 에러 holder.age.setText(String.valueOf(user.getAge())); string 형으로 캐스팅해서 해결
최근에 프로젝트 참여중 한가지 이상한점을 발견했다. 액티비티가 onDestroy 되었는데 계속 살아나는 것이였다............ ????????????????????????????????? 이건 무슨 상황인가 싶었다. A 액티비티에서 서버로 데이터를 전송 후 결과를 받으면 B 액티비티로 이동하고 B 액티비티에서 웹뷰가 띄워지는 구조다. 웹뷰를 종료 시키고 해당 액티비티를 나왔을때 finish()를 시켜주고 다시 백키를 누르면 웹뷰로 들어가졌다.... 뭐지??????싶었다. 웹뷰라는 앱 외부 코드라도 해당 액티비티가 죽었는데..... 왜 살아나지...? 여기저기 찾아보다 웹뷰를 강제로 죽이는 방법, remove 하는 방법 이것저것 해봤는데 해결 하지 못했다. 그러던 도중 액티비티가 onDestroy ..
LayoutInflater XML에 정의된 Resource(자원) 들을 View의 형태로 반환해 준다. 자바 코드에서 View,ViewGrop 을 사용하거나 Adapter의 getview() 등... 배경화면이 될 Layout을 만들어 놓고 View 형태로 반환받아 Activity에서 실행하게 된다. 보통 Activity를 만들면 onCreate() 메서드에 추가되어 있는 setContentView(R.layout.activity_main) 메서드와 같은 원리다. 이 메서드 또한 activity_main.xml 파일을 View로 만들어서 Activity 위에 보여주는 방식이다
뷰(View) 뷰는 안드로이드 화면의 구성요소이다. 즉 화면에 보이는 모든 것은 View EditText -> 사용자 직접 입력할 수 있는 뷰 Button -> 사용자가 터치할 수 있는 뷰 TextView -> 사용자에게 텍스트를 출력하는 뷰 ImageView -> 사용자에게 이미지를 출력하는 뷰 뷰는 자신이 화면 어디에 배치되어야 하는지에 대한 정보가 없다. 뷰만으로 화면에 나타날 수 없다. 뷰를 화면에 배치하기 위해서는 반드시 무언가가 필요하다. 그것이 바로 뷰그룹(ViewGrop) 혹은 뷰컨테이너(Container)이다. 뷰그륩(ViewGrop) n개의 View를 담을 수 있는 컨테이너이다. ViewGrop 또한 View를 상속받아 만든 클래스. 또 다른 말로는 레이아웃이라고도 한다. 뷰그룹은 뷰만..