failed to resolve : android.arch compile "android.arch.lifecycle:runtime:1.0.0-alpha1" compile "android.arch.lifecycle:extensions:1.0.0-alpha1" annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1" 를 추가하는 중에 build 가 되지 않아 골머리 썪고 있었는 데 maven(){ url "https://maven.google.com" } 이것을 maven(){ url "https://dl.google.com/dl/android/maven2/" } 로 바꿔주어 빌드 성공
To gitlab.com:SmartSmart/TEAM_DOC.git ! [rejected] master -> master (fetch first)error: failed to push some refs to 'git@gitlab.com:SmartSmart/TEAM_DOC.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. This is usually caused by another repository pushinghint: to the same ref. You may want to first integrate the remote changeshint: (e.g., 'git pul..
static member accessed via instance reference 만약 이러한 코드가 있을 때, 1234public class MainViewModel { public static final ObservableArrayList nodeArr = new ObservableArrayList(); public static final ObservableArrayMap nodeSetMap = new ObservableArrayMap();}Colored by Color Scriptercs 이렇게 호출하면 해당 경고 메시지를 보여준다 1viewModel.nodeSetMap.get(Code.PW)cs 내용은 클래스 자체가 아닌 viewModel 인스턴스를 통해 정적 List를 호출하기 때문이라고 한다...
parseInt() static 이므로 Integer 생성 안 하고 parameter만 넣어주면메소드를 수행할 수 있다. string형 객체에서 int형 값을 뽑아내는 메소드이다. 문자형을 정수형으로 만든다 int i = Integer.parseInt(str); intValue() static이 아니며 Integer 객체에서 int형 값을 뽑아내는 메소드이다 Integer는 (int Value와 String Value) 두 가지가 있다. int i = Integer.valueOf(str).intValue();Integer i = new Integer(150);i.intValue();
ViewHolder 클래스 만들기 1234567891011121314public class MyVh extends RecyclerView.ViewHolder{ private final ItemBinding binding; public MyVh(ItemBinding binding){ super(binding.getRoot()); this.binding = binding; } public void bind(Item item){ binding.setItem(item); binding.executePendingBindings(); }}Colored by Color Scriptercs 변수나 Observable이 변경되면 바인딩이 다음 프레임 전에 변경되도록 예약을 한다. 하지만 바인딩을 즉시 실행해야 할 때가 ..
Handler.handleMessage() 사용 123456789101112131415161718192021222324252627282930313233343536private final MyHandler handler = new MyHandler(this); private static class MyHandler extends Handler { private final WeakReference weakReference; public MyHandler(MainActivity activity) { this.weakReference = new WeakReference(activity); } @Override public void handleMessage(Message msg) { switch (msg.what..
Reachability GC는 reference의 강약에 따라 도달 가능한 객체를 제외하고모두 쓰레기로 간주한다 GC의 관점에서는 객체를 참조가 가능한 객체와 참조할 수 없는 객체로 본다즉, 내가 다시 사용할 수 있냐, 없냐를 보고없으면 쓰레기통으로 넣어버리는 것이다 Reference Object는 참조의 강약에 따라 Strong Reference, SoftReference, WeakReference, Phantom Reference로 나누고순서대로 참조가 강하다 * 하나의 객체가 Strong과 Weak 참조가 있다면 그 객체는Strong한 객체로 생각한다 Strong Reference Strong Reference는 new를 이용해 생성된 객체를 말한다이 객체는 GC에서 무조건 제외되기 때문에 Memo..
This Handler class should be static or leaks might occur 안드로이드에서 Handler 오브젝트는 모든 스레드 반복문에서 참조하는데 어느 한 곳에 종속되면 안되기 때문이다. 그렇게 되면 GC가 되지 않아 Memory Leak이 계속해서 발생하게 되는 것이다 이전 소스 123456Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); }};Colored by Color Scriptercs Handler를 상속받은 클래스를 하나 만들어 static 등록 123456789101112131415private final MyHand..
문자열 자르기, replace() 메소드 구분자(delimiter)를 이용하여 문자열 자르기 StringTokenizer 클래스 생성자에 단 한문자 구분자만 사용하여 토큰으로 분리한다여러개의 구분자는 사용 가능 Scanner 클래스 useDelimiter() 메소드로 패턴 또는 문자열 구분자를 사용하여 분리한다 String 클래스 split() 메소드로 패턴 또는 문자열 구분자를 사용하여 분리하며, 빈 문자열도 토큰으로 인식한다 1234567891011121314151617181920212223242526272829303132String data = "100,200,,,300"; System.out.println("StringTokenizer...");StringTokenizer st = new Stri..