| 배경 이미 존재하는 객체의 내용을 복사 해 와서 사용할 일이 있었는데, 해당 객체가 자꾸 사라지고, 원 객체가 수정되는 증상이 발생하여 내가 원하는 대로 동작하지 않는 것을 발견했다. Java 에서 객체 복사 방식이 진짜로 해당 내용을 복사하는게 아니었던게 얼핏 기억 났고, 문제의 원인은 객체 복사 방식이 진짜 객체를 복사하는 것이 아니라 해당 객체를 참조하도록 포인터를 연결해두는것이기 때문이라고 추측 했다. 그리고, Java 객체 복사 방식을 찾아보니 역시나. 내가 사용했던 방식이 얕은 복사 였기 때문이었다. | 얕은 복사 얕은 복사란 무엇인지 소스로 한번 살펴보면, 바로 아래와 같은 경우가 얕은 복사이다. People people = new People(); people.setName("name"..
| 배경 Support Library 에서 Android X로 올리는 작업 중에 있었던 일이다. gradle을 업그레이드 하며 앱을 빌드하는데, 다음과 같은 에러가 발생했다. | 원인 및 해결 방법 Java SE 11 을 요구 하는 프로그램에서 Java 8 을 사용 하고 있어서 발생한 것. Java SE 11을 설치하여 해당 JDK 로 빌드 하면 이상 없이 돌아간다.
java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:872) 이미 실행중인 Thread 를 실행 할때 발생하는 Exception |해결 방법 if (thread.getState() == Thread.State.NEW) { thread.start(); } 위와 같이 thread 의 상태를 검사 하여 실행중이 아닐 때만 실행 하도록 하면 된다.
소스코드상에서 리소스를 가져올때 어떻게 해야 하는지 까먹을 때가 많다. 따라서 간단하게 정리 하고자 한다. |이미지 리소스 변경 img_drink.setImageResource(R.drawable.drink_water); 이미지 소스는 ImageView에 setImageResource() 함수를 사용하여 설정 해준다. |Drawable 에 리소스 연결 Drawable drawable = ContextCompat.getDrawable(context, R.drawable.temp_waterac_1); Drawable 에 리소스를 연결 할때는 ContextCompat.getDrawable()을 사용한다. |String 가져오기 water = getString(R.string.drink_water_korean)..
기존에 작업을 잘 하고 있던 안드로이드 프로젝트가 갑자기 import가 안되서 갑자기 수십개의 에러가 발생하며 프로젝트가 실행이 안될 수 있다.잘 실행되던 모든 부분들이 빨간 줄이 뜨며 빨갛게 변해버리고 아주 많은 에러 메시지를 보게되었다면 안드로이드 스튜디오-File-Invalidate Caches/Restart로 해결 하면 된다. 위의 방법을 써도 되지 않는 다면 아예 안드로이드 스튜디오를 껐다가 재시작을 하면 정상적으로 import가 되는 것을 확인 할 수 있다. +) 실무하면서 겪었던 여러가지 케이스들을 추가적으로 정리해본다. 1. .gradle 이 꼬이는 경우실무를 할 때에는 한가지의 project 만 개발을 진행하는게 아니라, 여러개의 프로젝트를 동시에 수행하는 경우가 많다.각 project ..
- Total
- Today
- Yesterday
- 펌웨어 분석
- AndroidX
- 웹 MVC
- Spring
- 뷰모델
- Android
- 에러
- 포너블.kr
- 동적분석
- Java
- 코드로 배우는 스프링 부트
- MVVM
- 앱분석
- 리버싱기초
- androidstudio
- reversing.kr풀이
- 칼리리눅스
- reversing.kr
- 자바
- CTF
- writeup
- DataBinding
- 스프링부트
- pwnable.kr
- 안드로이드
- NumberFormatException
- exception
- 리버싱.kr
- 정보보안
- 모바일리버싱
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |