2월, 2014의 게시물 표시

Phonegap 3을 Eclips로 사용하는 방법

이미지
Phonegap 3 버전부터는 설치 부터가 쉽지않다. Phonegap 파일을 다운로드 받는게 아니라 node.js을 이용해서 command-line으로 다운로드 받게되어 있다. 이번 글에서는 Phonegap 3.x 버전을 설치하고 Eclipse에서 개발하는 방법을 적어보겠다.
Step 1. node.js 설치 “http://nodejs.org/” 에서 node.js을 설치 한다. 설치중에 환경 Path을 추가할 것인지 물어보는데 꼭 추가해줘야한다.
Step 2. Andorid SDK Path 추가 sdk\platform-tools와 sdk\tools 디렉토리가 Path에 꼭 추가되어 있어야 한다. 안되어 있으면 나중에 에러가 쫙~
Step 3. Cordova(Phonegap) install “npm install -g cordova” ← 설치를 시작한다. Maven 처럼 명령어를 실행할 때 그에 필요한 파일을 그때 그때 받아오는 것 같다. 설치되는 위치는 “C:\Users\username\AppData\Roaming\np”로 숨겨져 있는 폴더이다. npm에는 여러 명령어가 있는데 나중에 update 명령어도 cordova 최신버전으로 갱신할수 있다.
Step 4. 프로젝트 생성 기존 버전과 다르게 먼저 프로젝트를 만들고 다음에 지원할 Platform을 등록하는 방식이다. 프로젝트를 생성할 디렉토리로 이동한다.
hello 프로젝트에 MainActivity는 HelloWorld을 생성한다. cordova create hello com.example.hello HelloWorld


cd hello
개발 플렛폼을 추가. $ cordova platform add wp7 $ cordova platform add wp8 $ cordova platform add windows8

Android NetworkOnMainThreadException

Android 메인 Thread에서 라이프사이클과 다양한 Callback을 처리하다 보니 시간이 오래걸리는 작업을 하게 되면 응답속도가 느려져 사용자가 불편해 한다. 그래서 Honeycomb 버전 부터 어플리케이션 응답속도을 보장하기 위해 많은 메인 Thread내에서 시간이 오래걸리는 네트워크 작업이나 UI을 핸들링 하지 못하게 하였다. "NetworkOnMainThreadException"은 메인 Thread내에서 네트워크 작업을 진행하려할때 발생한다. 그러면 어떻게 해결하나? 해결 방법은 2가지가 있는데 AsyncTask을 이용하는 방법과 StrictMode을 활용한 방식이 있다.
AsyncTask 사용 예 너무들 잘 알려진 AsyncTask입니다. public class AsyncTaskMainActivity extends Activity { private Button bStartTask = null; private Button bInitState = null; private TextView tStateView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.async_task_main); bInitState = (Button)findViewById(R.id.bInit); bStartTask = (Button)findViewById(R.id.bTask); tStateView = (TextView)findViewById(R.id.tState); bStartTask.setOnClickListener(new TaskOnClickListener()); bInitState.setOnClickListener(new TaskOnClickListener()); }
public class TaskOnClickListener implements android.view.View.OnClickListene…

JMX-Communication with Notifications

이미지
Components of the JMX notification model MBean events are wrapped as notification objects and broadcast from MBeans. Notification listeners, like event listeners, register with MBeans in order to receive notifications, including user-deined notifications.
Component Descripton
Notification broadcaster An object that implements the javax.management.NotificationBroadcaster interface, allowing it to send notifications.
Notification An object emitted from broadcaters that contain information for a listener.
Notificatioin listener An object that implements the javax.management.NotificationListener interface, allowing it to receive notifiacaitons.
Notification filter An obejct associated with a listener that can filter notifications, allowing only the desired notifications to be delivered to a listener.

The Notification class The Notification class extends java.util.EventObject and is used as a super class for other notification classes. The Notification class contains six member variables that are all a…