안드로이드
-
[안드로이드] 버튼 터치 이벤트 막기안드로이드(java)/UI 관련 2018. 11. 5. 15:34
커스텀 캘린더를 구현하는중에 새로운 난관을 만나게 되었습니다. 현재 보이는 부분에 이전 달과 다음 달이 보이도록 구현했는데 이번달에 해당하는 부분만 터치가 되도록 해야만 하는 상태가 되었네요. ui는 이렇게 만들었습니다. 자바 소스쪽에는 GridView를 이용하였고, BaseAdapter를 상속 받아서 ViewHolder와 함께 구현 했습니다. 저번달에 해당하는 28, 29, 30, 31 과 다음달에 해당하는 1일이 터치 안되도록 해야하는데... 어떻게 해야할까 고민을 해보니까 별거 없을것 같더라구요. 회색으로 나타나도록 한 아이템 부분의 클릭 이벤트를 막아버리면 될 것 같았어요.if (position = size1) { holder.tvItemGridView.setT..
-
[안드로이드] 안드로이드 스튜디오에서 db 위치 확인하는 방법안드로이드(java)/기타 등등 2018. 6. 2. 23:00
안드로이드 스튜디오 3.1 에서 db 위치 확인하는 방법에 대해서 알아보겠습니다. 화면 우측 하단에 보면 아래와 같이 Device File Explorer 라고 있는데요. 클릭해줍니다. 그럼 아래와 같은 화면을 확인할 수 있습니다. 에뮬레이터의 내부 정보와 usb로 연결한 기기의 내부 정보를 확인할 수 있습니다. 여러 디렉토리 중에 data 라는 디렉토리가 있습니다. 그 안에 data 라는 디렉토리를 들어가면 여러 데이터 관련 파일들이 있습니다. 자신이 만든 패키지명을 찾아보면 이 data 디렉토리 안에 보이게 됩니다. 여러 디렉토리 중에 자신이 만든 패키지를 찾았다면 그 안에 databases 라는 디렉토리가 보일겁니다. 데이터가 생성되거나 외부 db가 복사 되었다면 ..
-
[안드로이드] 안드로이드 버전을 판별할 수 있는 방법!! (소스코드로)안드로이드(java)/버전 관련 2018. 6. 2. 22:59
안드로이드를 개발하다 보면 다양한 기기와 더불어 버전별로도 판별해서 프로그래밍을 해줘야 할 때도 있습니다. 따라서 버전에 따라 작동 할 수 있으려면 버전을 판별할 수 있어야 겠죠. 적용 방법은 쉽습니다. 1 2 3 if (Build.VERSION.SDK_INT >= 23) { // 23버전 이상 부터 실행할 내용 } Colored by Color Scripter cs 위 코드처럼 해주면 됩니다. 분기문을 이용해서 여러 가지 버전별로 판별 할 수 있겠죠. 구글 developer 에서도 자세한 내용을 확인하실 수 있습니다. https://developer.android.com/reference/android/database/package-summary
-
[안드로이드] AysncTask 재사용시 뜨는 에러 구문 : Cannot execute task: the task has already been executed (a task can be executed only once)안드로이드(java)/에러 관련 2018. 6. 2. 22:58
AsyncTask를 연습하는데 에러가 났습니다. 이너클래스에 Asynctask를 상속받아 생성한 Task라는 클래스를 만들었고 그 값을 필드에 선언하고 객체생성까지 했습니다. 물론 필드에 객체 생성하는건 좀 아니지만... 연습이라 그냥 이렇게 했습니다. 그리고 필드에 선언한 그 변수값을 새로운 버튼에 넣고 실행시켰습니다. 처음 실행시켰을때는 잘 되는데 다시 실행하면 아래처럼 에러구문을 뱉어내며 뻗어버립니다. java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once) 찾아보니 Asynctask 객체가 한번 사용 되면 재사용이 안되는것 같더라구요...
-
[안드로이드] Unable to start activity ComponentInfo 에러안드로이드(java)/에러 관련 2018. 6. 2. 22:57
Unable to start activity ComponentInfo{org.cis.mytab1/org.cis.mytab1.MainActivity}: java.lang.IllegalStateException: The specified child already has a parent. mainActivity에 fragment를 넣고 실행했는데 위와 같은 오류가 나타났습니다. 일반적으로는 Unable to start activity ComponentInfo 오류가 나타나면 AndroidManifest에Activity가 추가되지 않아서 나타는 문제였으나 제가 한 건 엑티비티 추가를 한것이 아니라 프레그먼트를 추가했었기 때문에 이러한 activity 추가 문제가 아니었습니다. 문제가 뭔지 소스들을 보다 보니 ..
-
[안드로이드] Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference안드로이드(java)/에러 관련 2018. 6. 2. 22:23
Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 프레그먼트에 버튼을 하나 넣고 다른 프레그먼트 화면으로 전환하려고 했는데 이러한 에러가 출력되었다. ( mainFragment menuFragment 버튼 클릭 시 메인, 메뉴 화면 전환 ) 문제가 뭔지 찾아보니 프레그먼트이기 때문에 activity에서 findViewById 처럼 적용 되는게 아니라 activity를 통해서 전환되야 하는것이라서 그냥 findViewById는 안된다. ViewGroup rootView = (ViewGroup) infla..