연결 상태 확인 및 모니터링  

반복적인 알람과 백그라운드 서비스의 가장 흔한 사용 방법은 인터넷 리소스, 캐시 데이터에서 애플리케이션 데이터의 정기 업데이트를 예약하거나 장기 실행 다운로드를 실행하는 것입니다. 그러나 인터넷에 연결되어 있지 않거나 연결이 너무 느려서 다운로드를 완료할 수 없다면 기기...

View details »

 네트워크 연결 상태를 확인하는 ConnectivityManager  

어플 상에서 와이파이 또는 데이터 네트워크(3G,4G)가 연결되어 있는지를 확인해야 할 때가 있습니다. 이 때 사용하는 메소드가 바로 ConnectivityManager입니다. 그 전에 일단 먼전 AndroidManifest.xml에서 퍼미션을 정의해주어야 합니다.. ...

View details »

 RecyclerView , CardView 사용하기  

항상 ListView 로만 코딩을 해오다가,ListView보다 성능과 퍼포먼스가 더 좋다고 하는 RecyclerView, CardView를 사용해보려 한다.android developer의 training에 올라온 게시글로 사용법을 익혀보자.TheRecyclerView...

View details »

 안드로이드 AsyncTask 사용하기  

안드로이드는 기존에 자바에서 제공하는 Thread 뿐만아니라AsyncTask라는 스레드 객체를 제공한다.안드로이드가 AsyncTask 라는 객체를 왜 만들어 제공할까?아래의 글은 Android Developer 에서 발췌한 일부 글이다.AsyncTask enables ...

View details »

 안드로이드 인터넷 연결 체크, 인터넷 종류 알아보기  

안드로이드 디바이스가 현재인터넷을 사용할 수 있는 상태인지또한 사용할 수 있는 상태라면어떤 인터넷 환경인지 (Wifi or 3g ,4g ) 알아보는 방법에 대해 기술한다.인터넷을 사용할 수 있는 상태인지를 체크하기 앞서,인터넷이 연결되 있는 경우어떤 인터넷 환경인지 가져...

View details »

 스레드 - 작업스케줄링  

핸들러의 기본기능은 스레드간의 통신이지만 작업을 스케줄링하는데도 사용된다. 메시지큐는 선입선출의 원칙에 따라 운용되며 먼저 들어온 메시지가 우선적으로 처리되므로 큐에 작업들을 쌓아 놓으면 순차적으로 실행될 것이다, 메시지 큐가 작업의 목록과 순서를 관리해주는 것이다, ...

View details »

 Event 처리 방법 (listener)  

Android 는 Event를 처리하는 방법이 6가지가 있다.1. 콜백 메소드 정의해당 클래스를 재정의해 콜백 메소드를 작성하는 것이다.대표적인 콜백 메소드는 아래와 같다.boolean onTouchEvent(MotionEvent event)boolean onKeyDo...

View details »

 [ Android ] 다시하는 JAVA ( 2. 이벤트 리스너, 클래스 )  

안드로이드 그리고 자바의 기초를 복습하는 시간안드로이드 프로젝트를 진행하면서 자바에 대한 이해를 높여야 겠다는 생각이 들었습니다.안드로이드 타운의 자바+안드로이드(http://www.android-town.org/) 강의를 바탕으로 기본부터 진행할 예정입니다.이벤트와 ...

View details »

 안드로이드 이벤트 리스너 만들기  

Custom View를 만들거나 비동기로 callback return을 받기 위해서는 해당 custom 객체에 이벤트 리스너를 만들어 줘야 한다.(그래야 이벤트를 주고 받을 수 있으니깐...)일단 Custom View에 이벤트 리스너 Interface를 선언.인터페이스 ...

View details »

 안드로이드 개념 및 예제 - Fragment  

Android 3.0(API 11)에서 Fragment가 처음 소개되었습니다. 재사용 가능한 유저 인터페이스를 생성하기 위한 새로운 컴포넌트라고 볼수 있습니다. Fragment를 사용하면 코드를 재사용하여 동시에 여러 크기의 기기 화면 크기를 지원해 줄 수 있습니다. ...

View details »

 CPU Profiler를 이용한 CPU activity 및 메서드 추적 검사  

CPU Profiler는 앱의 CPU 사용량과 스레드 activity를 실시간으로 검사하고 메서드 추적을 기록하는 데 도움이 되므로, 앱의 코드를 최적화하고 디버그할 수 있습니다.CPU Profiler를 열려면 다음 단계를 따르세요.View > Tool W...

View details »

 [Android(안드로이드) 앱 개발 기초] Fragment 기초  

이번에는 기존 안드로이드 개발자들도 다소 생소할Fragment에 대해서 공부해보자. Fragment는디바이스가 워낙에 다양해졌기 때문에 작은모바일 화면, 중간 사이즈 모바일, 그리고 태블릿까지 지원해주기 위하여 코드 재사용성을 높여주기 위한 새로운 개발 디자인이기 때문...

View details »

 Activity 전환 간에 animation  

startActivity() 나 finish() 다음에overridePendingTransition(); 호출 하면 됌.ex)startActivity( Intent );overridePendingTransition( R.anim.anim_start_activity, R...

View details »

 xml animation 예제  

Referencehttp://www.androidhive.info/2013/06/android-working-with-xml-animations/ex)<?xml version="1.0" encoding="utf-8"?&a...

View details »

 LayoutParams에서 dp 단위 쓰기  

xml 에서 width, height의 dp와java code 상에서 LayoutParams(w, h)와 단위가 다름.final int width = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 240, g...

View details »

 옵저버 패턴(Observer Pattern)  

Design Patterns│2014-11-05 Wide 확대 축소title=옵저버 패턴(Observer Pattern) created=2014-11-05 1. Intro옵저버 패턴을 생각나는대로 정리해보고자 한다. 정말...

View details »

 Multi Thread(멀티 스레드)에 대하여  

이번에 Java를 전체적으로 다시 한 번 보는데에는, Java8에 추가된 것들을 보기 위한 목적도 있지만 업무를 진행하면서 제대로 경험해보지 못했고, 내 자신이 가장 약하다고 생각되는 부분인 스레드, 네트워크, 파일 입출력에 대한 부분을 다시 확인해보고자 하는 것도 있었...

View details »

 안드로이드 백그라운드 잘 다루기 Thread, Looper, Handler  

안드로이드 UI는 기본적으로 싱글 스레드 모델로 작동하므로, 이 영향을 고려해 개발하지 않으면 애플리케이션의 성능이 저하될 수 있습니다. 따라서 메인 스레드에서 긴 작업을 하는 것을 피하기 위해 여분의 스레드를 사용해야 합니다. 다른 스레드에서 UI 스레드로 접근할 수 ...

View details »

 Timer 클래스를 이용한 작업 스케쥴링  

출처 : http://javacan.tistory.com/28JDK1.3에 새롭게 추가된 java.util.Timer 클래스를 사용하여 이벤트의 실행을 제어하는 것에 대해서 알아본다.java.util.Timer 클래스와 java.util.TimerTask 클래스유닉스나 ...

View details »

 [Timer] schedule vs scheduleAtFixedRate 예제로 이해하기  

타이머를 이용하여 백그라운드 스레드에서 반복적인 작업을 수행많은 응용프로그램들이 나중에 수행할 작업을 스케쥴하거나, 일정한 간격으로 반복적으로 수행하는 것을 필요로 합니다. J2SE v1.3에서는 두개의 추가된 Timer 클래스-java.util.Timer,java.u...

View details »

 netstat 명령으로 네트워크 상태 모니터링  

netstat 명령은 네트워크 상태 및 프로토콜 통계를 표시하는 화면을 생성합니다. TCP, SCTP 및 UDP 끝점을 표 형식으로 표시할 수 있습니다. 경로 설정표 정보 및 인터페이스 정보를 표시할 수도 있습니다. netstat 명령은 선택한 명령줄 옵션에 따라 다양...

View details »

 [JAVA] 서버 소켓  

서버는클라이언트를 구현할때 사용하는 소켓만으로는 구현할 수 없다.클라이언트는 서버와 대화를 할 때를 제외하고는 소켓을 사용하지 않는다는 점도 있고, Socket 객체를 생성하기 위해서는 접속하고자 하는 인터넷 호스트에 대해서 알아야만 한다.서버를 작성할 때에는 누가 서버...

View details »

 [JAVA] 종료된 소켓과 연결된 소켓(Client)  

isClosed() 메소드는 소켓이 닫혀있는 경우 true, 아닌 경우 false를 반환한다.소켓의 상태가 불확실한 경우 IOException이 발생할 위험을 감수하는 것 보다 이 메소드를 사용하는 것이 좋다.if(socket.inClosed() {//소켓이 닫혀 있는...

View details »

 Session(세션)과 Cookie(쿠키) 내가 관리하자.  

쿠키 및 세션관리가 머리 터지게 잘 안되서.. 그냥 제가 만들었습니다.CookieManager쓰고 하면 Sync 맞추느라 모든 엑티비티 resume 이랑 pause 다 써줘야하고 귀찮아서. 제가 만들어 보았내요.사용해보시고 . 후기 부탁드립니다.HttpTransfer....

View details »

 [Android] ListView에서 thread 사용하기  

리스트 뷰만 잘 이용한다면 그럴듯한 어플을 만들수 있습니다.그만큼 리스트 뷰는 안드로이드에서 기본적이고 중용한 위젯중 하나라고 할 수 있습니다.리스트 뷰로 대용량의 작업을 처리할 때 Thread를 이용하면 효과적으로 사용이 가능합니다.간단한 프로젝트 예제를 통해 구현해 ...

View details »

 서버쪽의 CLOSE_WAIT timeout 줄이기  

서비스 운영하다보니 서버에 CLOSE_WAIT된 socket이 엄청많이 발생하는것이 발견됨...* CLOSE_WAIT는 왜 발생하는가?- 요 한장의 이미지가 제일 좋은 설명인듯-http://kukuta.tistory.com/155- 요거를 코드로 구현해 놓은건 이쪽 사이...

View details »

 Android 새로운 스레드를 이용하여 UI를 변경시 에러 발생시  

이번에 스타펫 위젯에 퍼트리기 기능을 추가 하였다.트위터와 페이스북을 추가 했는데.퍼트리기를 하고나면 해당 레어펫을 바로 사용할 수 있도록 만들었다.트위터와 페이스북 모두 API가 잘 만들어저 있어서인증 및 글쓰기 등은 그렇게 어렵지 않게 진행할 수 있었다.사실 기능이 ...

View details »

 Blocking / Non-Blocking  

BlockingI/O 작업은 유저레벨에서 직접 수행할 수 없다. 실제 I/O를 수행하는것은 커널레벨에서만 가능하다. 따라서 유저프로세스(또는 쓰레드)는 커널에게 I/O를 요청해야한다.I/O에서 블로킹 형태의 작업은 유저프로세스가 커널에게 I/O를 요청하는 함수를 호출하고...

View details »

 [Java] NIO 기반 입출력 및 네트워킹 - TCP 블로킹 채널  

6. TCP 블로킹 채널NIO를 이용해서 TCP 서버/클라이언트 애플리케이션을 개발하려면 블로킹, 넌블로킹, 비동기 구현 방식 중에서 하나를 결정해야 합니다.이 결정에 따라 구현이 완전히 달라지기 때문입니다.다소 복잡해지기도 했지만 네트워크 입출력의 성능과 효율성 면에...

View details »

 [Java] NIO 기반 입출력 및 네트워킹 - TCP 넌블로킹 채널  

7. TCP 넌블로킹 채널ServerSocketChannel, SocketChannel은 블로킹(Blocking) 방식도 지원하지만 넌블로킹(non-blocking) 방식도 지원합니다.이번 절엘서는 넌블로킹 방식의 특징과 넌블로킹의 핵심 객체인 셀렉터(Selector)...

View details »

 [Java] NIO 기반 입출력 및 네트워킹 - 버퍼(Buffer)  

3. 버퍼NIO 에서는 데이터를 입출력하기 위해 항상 버퍼를 사용해야 합니다.버퍼는 읽고 쓰기가 가능한 메모리 배열입니다.버퍼를 이해하고 잘 사용할 수 있어야 NIO에서 제공하는 API를 올바르게 활용할 수 있습니다.3.1 버퍼 종류 버퍼(Buffer)는 저장되는 데이...

View details »

 Java NIO (Non-blocking I/O) with Server-Cli...  

Java NIO is my favorite topic. I have been working with NIO since last 2 years and would like to share simple Server-Client code for my readerswho are...

View details »

 Java Nio Socket Example  

1. Standard Java socketsSocket programming involves two systems communicating with one another. In implementations prior to NIO, Java TCP client socke...

View details »

 TCP/IP 소켓통신의 Readline 딜레이에 관하여 질문입니다.  

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(), "MS949" ));msg = new String(br.readLine());위와 같이 통상적인 ...

View details »

 소켓 강좌  

http://gpgstudy.com/gpgiki/소켓_강좌

View details »