본문 바로가기
[android] Animation 시 WebView Drawing 이 제대로 안 되는 현상. 안드로이드, Animation 시 WebView Drawing 이 제대로 안 되는 현상. 필자가 이 현상을 겪게 된 경위는,SlidingMenu 를 사용하면서, 본문쪽에 WebView 가 있는 경우SlidingMenu 를 열었다가 닫을 떄 WebView 쪽이 잘려서 drawing 되는 현상을 겪은 것. Googling 을 하면서 열심히 여러가지 해결책을 찾아 적용해보았다. 1. WebView 에 android:alwaysDrawnWithCache = "true" 효과 없음 2. android:minSdkVersion = "13" V 애니메이션이 끝나기 전에도 그리기는 하지만 깜빡거리는 현상이 있음. 3. WebView 만 HardwareAcceleration 을 끄기 ( Software 로 그리기 ) i.. 2013. 8. 17.
[Java] Interface 에서 몰랐던 사실. 상수 정의. 자바, interface 에서 몰랐던 사실. 상수 정의. 지금까지 자바를 사용하면서 interface 에 상수를 정의한 적이 없어서 interface 에 상수를 정의할 수 있다는 사실을 몰랐다. 사실 interface 에 상수를 정의하는 것은 anti-pattern 이기 때문에 사용하지 않는 것이 맞긴 하지만, 간혹가다 framework 나 library 를 사용할 때 상수가 interface 에 정의된 경우가 있기 때문에 알아두면 좋을 것 같다. interface OnDragListener{ String device = "Mouse";void onDrag();} 위와 같이 상수 정의가 가능하다. interface 의 경우 그냥 변수정의를 해도 자동으로 public static final 이 붙는다. 따.. 2013. 8. 16.
[android] activity flag 이야기 안드로이드, activity flag 이야기 참조 : http://developer.android.com/reference/android/content/Intent.html FLAG_ACTIVITY_SINGLE_TOP B 에 해당 flag 를 걸어 두었다면.. A->B->B 를 호출한 경우, 최종 stack 은BA 이 때 B의 생명주기는 onPause() -> onNewIntent() -> onResume() 을 탄다. FLAG_ACTIVITY_NO_HISTORY 마찬가지로 B 에 flag 를 걸어 두어두고 A->B->A 를 호출한 경우, 최종 stack 은A A 이 flag 는 다른 앱으로 전환되는 경우에도 destory 된다. 즉 A->B 상태에서 Home 키로 나가면 B 는 이미 destory 된 .. 2013. 8. 16.
[Java] URLConnection 이야기 자바, URLConnection 이야기 URLConnection 은 추상 클래스로 생성자를 이용하여 생성할 수 없다. URL.getConnection() 메소드를 통해 얻어올 수 있다. 이 URLConnection.connect() 함수를 통해서 해당 URL 에 연결할 수 있다. Url url = new URL( "http://www.google.com" ); URLConnection conn = url.getConnection();conn.connect(); 이 Connection 에 getInputStream() 을 호출해 내용을 불러올 수도 있고,getOutputStream() 을 이용해 내용을 쓸 수도 있다. getHeaderField( String name ) 을 이용해서 헤더 정보도 가져올 수.. 2013. 8. 14.
[android] Toast( 토스트 ) 이야기 안드로이드, Toast( 토스트 ) 이야기 Toast 의 특이한 점. Toast 생성은 메인 스레드에서만 가능하지만, show() 함수는 아무 스레드에서나 호출할 수 있다.이는 Toast 가 안에서 handler 를 사용하기 때문이다.생성할 때는 Handler 를 main thread 에서 생성해야 하기 때문에 main thread 에서 생성해야 하고, 그 외 함수들 호출은 아무데서나 해도 된다. Toast 는 독립적인 Window Window 들은 PhoneWindowManagerService 에서 관리한다. status bar, input method, activity 모두 window 이다. Toast 들은 여러 앱에서 동시에 불러도 하나씩 순차적으로 뜨는데, 그 이유는 NotificationMan.. 2013. 8. 14.
[Java] ClassPath 에 대한 이야기. 자바, ClassPath 에 대한 이야기. 요즘은 개발할 때 맨날 이클립스를 사용하니깐 직접 classpath 를 지정하며 컴파일 할 경우는 없지만, 이전에 학부시절에는 cmd ( 명령 프롬프트창 혹은 도스창 ) 에서 직접 javac 를 이용해 컴파일하고, java 를 이용해 실행하곤 했다. 자바 책을 보다 보니 classpath 에 대한 이야기가 나오는데, 학부시절에는 그냥 습관적으로 하던 것의 원리가 담겨져 있어 놀랬다.우리가 컴파일을 할 때 클래스패스를 지정하는 이유는.. 자바 프로그램은 기본적으로 CLASSPATH 로 지정된 경로에서만 클래스를 로딩할 수 있다. CLASSPATH 로 지정된 경로에서만 rt.jar 를 가져다 쓸 수 있다. 이런 이유에서 classpath 지정은 꼭 필요하다. > j.. 2013. 8. 13.
[Java] 접근 제한자에 대한 이야기. 자바, 접근 제한자에 대한 이야기. 접근제한자는 경우에 맞게 잘 사용하도록 설계되었는데 그냥 말단 client app 개발자인 필자는 사실 대부분 private 과 public 만 사용한다. library 를 설계하는 입장에서는 protected 나 default 도 많이 사용할텐데..여튼 접근 제한자들에 대해 함 알아보자. private 해당 클래스 내에서만 접근 가능 default 접근 제한자를 안 붙인 경우를 이야기하는데같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내는 물론, 상속한 child 들도 사용이 가능하다. public 어디서든 사용이 가능하다. access modifier, default, Java, java access modifier, library 설계, P.. 2013. 8. 13.
[android] Memory Allocation 을 추적하자! Memory Allocation 을 추적하자. DDMS 의 Allocation Tracker 라는 도구를 이용하여 메모리 할당을 조사할 수 있다.해당 application process 를 클릭한 후 Allocation Tracker 를 클릭하고, Start Tracking 버튼을 클릭한 후, 앱에서 여러가지 기능을 수행한다. 그 다음 Get Allocation 버튼을 클릭하면 현재 할당된 메모리들에 대한 정보가 나온다. 해당 메모리가 어떤 경위로 할당되었는지 Stack Trace 정보도 볼 수 있고, 어떤 Thread, 어떤 Class, 어떤 File의 몇번째 줄에서 생성된 녀석인지 상세정보를 알 수 있다. Allocation Tracker, Android, application process, CLA.. 2013. 8. 13.
[Java] JDK 1.7 부터는 String 에 대해 switch 문을 쓸 수 있다!? 자바, JDK 1.7 부터는 String 에 대해 switch 문을 쓸 수 있다!? 제목 그대로이다. 이전의 switch 문은 int 형 형태의 자료형에만 사용할 수 있었다.그러나 우리가 원하던.. string 형태의 switch 문도 1.7 부터는 사용할 수 있다고 한다 야호! switch( str ){ case "감자":// do sthbreak;case "고구마":// do sthbreak;} 이제 위와 같은 구문이 가능해진다는 것!!그러나, 안드로이드 개발자인 나에게는... 안드로이드가 현재 1.6 까지만 지원하기에 그냥 참고정보로만.. ㅎㅎ android java, android java version, android switch, java 1.7, java 1.7 switch, Java 7, .. 2013. 8. 11.
반응형