개발빌런
구글이 android developers blog를 통해 안드로이드의 향후 계획을 발표했습니다. 해당 블로그에 따르면 구글은 안드로이드의 보안/성능 이슈에 큰 관심을 가지고 있으며, 이를 위해 안드로이드 개발자들에게 여러 사항을 요구합니다. 이는 새로 출시될 앱, 기존 앱들에 반드시 적용되어야 한다고 합니다. 1. Target API는 26 (Android 8.0) 이상일 것 - 새로 출시되는 앱은 2018년 8월 까지 반드시 적용해야 함. - 기존 앱은 2018년 11월 까지 반드시 적용해야 함 Target API가 최소 26이 됨에 따라 기존에 낮은 api를 사용하던 앱은 많은 수정이 필요할 수 있습니다. 최근 출시된 API에서 주요하게 바뀐 부분은 다음과 같습니다. - Android 5.0 : bi..
ArrayList, Vector 모두 List 인터페이스를 구현한 콘크리트 클래스로서 자바의 배열이 가지고 있는 한계점을 개선했습니다. 자바의 배열은 고정된 길이를 가지고 있기 때문에 데이터가 몇 개 인지 알 수 있는 경우에는 사용하는데 지장이 없지만, 데이터가 몇 개 인지 모를 경우에는 배열의 사이즈를 잡기 곤란합니다. 그렇기에 ArrayList, Vector를 많이 이용하는데 두 클래스의 차이점이 무엇인지 조사해봤습니다. 1. Synchronization ArrayList는 여러 개의 쓰레드가 한번에 접근하여 연산 (add, remove)가 가능! (non-synchronized)Vector는 한 쓰레드가 접근중인 경우 다른 쓰레드가 접근할 수 없음! (synchronized) 2. Resize Ar..
안드로이드에서 아래와 같이 static newInstance() 메소드를 이용하여 프래그먼트를 생성하는 코드를 많이 접해보셨을 것이라 생각합니다. 123456789public class MyFragment extends Fragment { public static newInstane() { return new MyFragment(); } public MyFragment() { ... }}Colored by Color Scriptercs 위의 코드는 아무런 의미가 없어 보입니다. newInstance() 메소드를 사용할 필요 없이 그냥 constructor 만 있어도 될 것 같습니다. 왜 필요할까요? 안드로이드의 프래그먼트는 파라미터가 없는 constructor 만 가지고 있습니다. 따라서 아래와 같이 c..