Genymotion Plugin for Eclipse

The Genymotion plugin for Eclipse allows you to test your application developed with Eclipse IDE. It uses ADB to connect to any active virtual device and push your application. To use the plugin, you need to have the Android Developer Tools plugin for Eclipse installed. In this section, you will be able to install, use the plugin and run Android applications.

Installing the plugin

You can install Genymotion plugin for Eclipse in one of the following ways:

  • Update Site method (recommended);
  • Manual method.

Update Site method (recommended)

  1. Start Eclipse.
  2. Go to Help/Install New Software menu and click Add.
  3. Fill in the fields with the following values and click OK.
    • Name: Genymotion
    • Location: http://plugins.genymotion.com/eclipse
  4. Expand Genymobile.
  5. Click Select all and Next.
  6. Click Next.
  7. Read and accept the license terms.
  8. Click Finish.
    A security warning indicates that the plugin is not signed; click OK.
  9. Click Yes to restart Eclipse.

The Genymotion plugin button  is displayed in the toolbar.





'android' 카테고리의 다른 글

Genymotion Plugin for Eclipse  (0) 2014.12.08
this  (0) 2014.12.08
onInterceptTouchEvent함수를 이용해 자식 뷰로 전달되는 이벤트를 가로채기  (0) 2014.12.08
로그 남기기  (0) 2014.12.08

'생활일기' 카테고리의 다른 글

임보 중인 고양이 ‘솔(Sol)'  (0) 2016.09.06
세계의 건물들  (0) 2014.12.08
실전 HDR의 시작  (0) 2011.04.20
'내 감정 조절법'에 나오는 '벽을 넘는 기술'  (0) 2011.02.03

MainActivity.java에


코드시작package com.actionshin.touchevent;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.FrameLayout;

/**
 * Created by ilsuk on 14. 12. 7..
 */
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 1.뷰그룹을 생성한다.
        CustomViewGroup viewGroup = new CustomViewGroup(this);
        viewGroup.setBackgroundColor(Color.BLUE);
        FrameLayout.LayoutParams viewGroupLp = new FrameLayout.LayoutParams(300, 300);

        // 2.뷰를 생성한다.
        CustomView view = new CustomView(this);
        view.setBackgroundColor(Color.YELLOW);
        FrameLayout.LayoutParams viewLp = new FrameLayout.LayoutParams(150, 150);

        // 3.생성된 뷰를 뷰그룹에 추가한다.
        viewGroup.addView(view, viewLp);

        // 4.콘텐츠 영역에 생성된 뷰그룹을 추가한다.
        setContentView(viewGroup, viewGroupLp);

    }

    /* 액티비티의 dispatchTouchEvent 함수를 재정의한다. */
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Log.e("shin", "Activity dispatchTouchEvent() >> " + ev.getAction());
        return super.dispatchTouchEvent(ev);
    }

    /* 액티비티의 onTouchEvent 함수를 재정의한다. */
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.e("shin", "Activity onTouchEvent() >> " + event.getAction());
        return super.onTouchEvent(event);
    }
}코드끝





노락박스가 뷰그룹이다. 뷰그룹에서 20px이상 move를 하면 뷰에게 전달되는 이벤트를 가로채게 된다.





Log에 찍힌 내용을 보자. 뷰그룹의 onInterceptTouchEvent가 true를 반환하여 이벤트를 가로채고, 자식뷰의 onTouchEvent함수는 ACTION_CANCEL(3)을 전달받게 된다.



'android' 카테고리의 다른 글

this  (0) 2014.12.08
onInterceptTouchEvent함수를 이용해 자식 뷰로 전달되는 이벤트를 가로채기  (0) 2014.12.08
로그 남기기  (0) 2014.12.08
MotionEvent 객체  (0) 2014.12.04
log

Log 레벨은 심각한 정도에 따라 Verbose, Debug, Information, Warning, Error 등 총 5가지 함수로 구분된다.


사용 예



 -v

 다양한 정보를 출력하기 위한 용도

 -d

 문제 발생 시 원인 분석의 기반이 되는 정보를 출력하기 위한 용도

 -i

 각종 클래스 변수의 내용을 확인하기 위한 용도

 -w

 실행 중인 앱이 문제가 발생할 소지가 있음을 알리는 용도

 -e

 실행 중인 앱에 치명적인 에러가 발생했음을 알리는 용도




 

 함수명

설명 

 getAction

 터치 이벤트의 액션값이 전달된다.

 ACTION_DOWN = 0

 ACTION_UP = 1

 ACTION_MOVE = 2

 ACTION_CANCEL = 3

 

MainActivity.java의 코드

 

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

 

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Log.d("shin","===============================");
        Log.d("shin","dispatchTouchEvent()");
        Log.d("shin","- ActionCode : "+ev.getAction());
        Log.d("shin","- XY Position : "+ev.getX()+","+ev.getY());
        Log.d("shin","- Event Time : "+ev.getEventTime());
        Log.d("shin","- Down Event Time : "+ev.getDownTime());
        return super.dispatchTouchEvent(ev);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.d("shin","===============================");
        Log.d("shin","dispatchTouchEvent()");
        Log.d("shin","- ActionCode : "+event.getAction());
        Log.d("shin","- XY Position : "+event.getX()+","+event.getY());
        Log.d("shin","- Event Time : "+event.getEventTime());
        Log.d("shin","- Down Event Time : "+event.getDownTime());
        return super.onTouchEvent(event);
    }
}

 

 

 

 

 

이벤트의 전달과정 캡쳐

 

 

'android' 카테고리의 다른 글

로그 남기기  (0) 2014.12.08
MotionEvent 객체  (0) 2014.12.04
액티비티 간 인텐트로 데이터 주고받기  (0) 2014.11.28
클릭이벤트를 처리하는 3가지 방법  (0) 2014.11.28









'android' 카테고리의 다른 글

MotionEvent 객체  (0) 2014.12.04
액티비티 간 인텐트로 데이터 주고받기  (0) 2014.11.28
클릭이벤트를 처리하는 3가지 방법  (0) 2014.11.28
layout_gravity와 gravity의 구분  (0) 2014.11.26

+ Recent posts