2017-01-31 2 views
1

자력계와 같은 "gluonhq charm down"서비스를 사용하고 싶습니다.예를 들어, MagnetometerService를 사용하기 위해 jfxmobile 플러그인을 얻는 방법

Java 클래스 파일에서 MagnetometerService를 가져올 수없는 이유를 모르겠습니다. 오류 메시지는

입니다. "import com.gluonhq.charm.down.plugins.accelerometer를 확인할 수 없습니다."

Eclipse Neon2 - Help - 사용 가능한 소프트웨어 사이트에서 e (fx) 클립을 설치하기 전에. 당신은 설치 세부 사항을 볼 수 있습니다 :

"e(fx)clipse - IDE - Update site" with http://download.eclipse.org/efxclipse/updates-released/2.4.0/site 

참고 : 나는 전자 (FX) 모바일 IDE 2.3.0 포함 GluonTools 2.4.0을 설치했습니다.

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'org.javafxports:jfxmobile-plugin:2.4.0' 
    } 
} 

plugins { 
    id "com.github.hierynomus.license" version "0.13.1" 
} 

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
    jcenter() 
    maven { 
     url 'http://nexus.gluonhq.com/nexus/content/repositories/releases' 
    } 
} 

mainClassName = 'com.gluonapplication.GluonApplication' 

jfxmobile { 
    downConfig { 
     version '4.0.0' 
     plugins 'accelerometer', 'compass', 'device', 'orientation', 'storage', 'vibration', 'display', 'lifecycle', 'statusbar', 'position' 
    } 

    android { 
     applicationPackage = 'com.gluonapplication' 
     manifest = 'src/android/AndroidManifest.xml' 
     androidSdk = 'C:/Users/pascal/AppData/Local/Android/sdk' 
     resDirectory = 'src/android/res' 
     compileSdkVersion = '23' 
     buildToolsVersion = '25.0.1' 
    } 
    ios { 
     infoPList = file('src/ios/Default-Info.plist') 
    } 
} 

답변

1

이 설치된 글루온 플러그인 2.4.0 이클립스에 응용 프로그램을 작성하는 단계는 다음과 같습니다 여기 내 프로젝트의 build.gradle입니다.

1. IDE 플러그인 뉴에

클릭 선택 글루온 -> 글루온 모바일 - 단일보기 프로젝트, 필요한 데이터 (프로젝트, 패키지, ...의 이름)을 입력, 마침을 클릭합니다.

2. 검토 build.gradle 파일

열기 빌드 파일 및 업데이트 버전 다음 current jfxmobile 플러그인 버전은 1.3.2이다. Gluon Charm은 4.3.0, Gluon Down은 plugins 3.2.0을 사용합니다.

3. 당신의 아래 추가 플러그인

downConfig에 자력 플러그인을 추가합니다. downConfig는 당신을 위해 그것을하지, 당신은 더 이상 플러그인 종속성을 추가 할 필요가 없습니다

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'org.javafxports:jfxmobile-plugin:1.3.2' 
    } 
} 

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
    jcenter() 
    maven { 
     url 'http://nexus.gluonhq.com/nexus/content/repositories/releases' 
    } 
} 

mainClassName = 'com.gluonhq.magnetometer.TestMagnetometer' 

dependencies { 
    compile 'com.gluonhq:charm:4.3.0' 
} 

jfxmobile { 
    downConfig { 
     version = '3.2.0' 
     plugins 'display', 'lifecycle', 'magnetometer', 'statusbar', 'storage' 
    } 
    android { 
     manifest = 'src/android/AndroidManifest.xml' 
    } 
    ios { 
     infoPList = file('src/ios/Default-Info.plist') 
     forceLinkClasses = [ 
       'com.gluonhq.**.*', 
       'javax.annotations.**.*', 
       'javax.inject.**.*', 
       'javax.json.**.*', 
       'org.glassfish.json.**.*' 
     ] 
    } 
} 

참고 :

은 (주 클래스 이름을 제외하고) 당신의 build.gradle 파일을해야합니다.

4. 기본보기로 서비스를 추가

이는 자력계 서비스의 간단한 사용 사례입니다 : 바탕 화면

package com.gluonhq.magnetometer; 

import com.gluonhq.charm.down.Services; 
import com.gluonhq.charm.down.plugins.MagnetometerService; 
import com.gluonhq.charm.glisten.control.AppBar; 
import com.gluonhq.charm.glisten.control.Icon; 
import com.gluonhq.charm.glisten.mvc.View; 
import com.gluonhq.charm.glisten.visual.MaterialDesignIcon; 
import javafx.geometry.Pos; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.layout.VBox; 

public class BasicView extends View { 

    public BasicView(String name) { 
     super(name); 

     Label label1 = new Label(); 
     Label label2 = new Label(); 

     Button button = new Button("Start Magnetometer"); 
     button.setGraphic(new Icon(MaterialDesignIcon.VIBRATION)); 

     button.setOnAction(e -> 
      Services.get(MagnetometerService.class) 
       .ifPresent(s -> s.readingProperty() 
         .addListener((obs, ov, nv) -> { 
          label1.setText(String.format("X: %.4f Y: %.4f Z: %.4f\n Mag: %.4f", nv.getX(), nv.getY(), nv.getZ(), nv.getMagnitude())); 
          label2.setText(String.format("Yaw: %.2f\u00b0 Pitch: %.4f\u00b0 Roll: %.4f\u00b0", Math.toDegrees(nv.getYaw()), 
            Math.toDegrees(nv.getPitch()), Math.toDegrees(nv.getRoll()))); 
         }))); 

     VBox controls = new VBox(15.0, button, label1, label2); 
     controls.setAlignment(Pos.CENTER); 

     setCenter(controls); 
    } 

    @Override 
    protected void updateAppBar(AppBar appBar) { 
     appBar.setNavIcon(MaterialDesignIcon.MENU.button(e -> System.out.println("Menu"))); 
     appBar.setTitleText("Magnetometer"); 
    } 

} 

5. 테스트 사용 Gradle Task window, 선택 application->run

서비스가 데스크톱에서는 사용할 수없고 작동하지 않지만 오류없이 앱이 실행되는지 확인합니다.

6. 배포 other->androidInstall을 선택, Gradle을 작업 창을 사용하여 안드로이드

합니다.

작업을 실행하기 전에 휴대 전화를 연결하십시오.

+0

내가 jfxmobile의 plugin.by 도움말 설치할 수 없습니다 - 설치 새로운 소프트웨어, 드래그와 글루온 플러그인 "HTTP 드롭 : 모든 것이 확인된다면 당신은 당신의 장치에 응용 프로그램을 테스트 할 수 있어야한다 // marketplace.eclipse.org/marketplace-client-intro?mpc_install=2496245 ". '보류 중'이후에는 http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2496245에서 저장소를 읽을 수 없습니다라는 오류 메시지가 표시됩니다. "http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2496245에서 저장소를 읽을 수 없습니다. http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2496245는 유효한 저장소 위치. " 마켓 플레이스 문제가 있습니까? 다른 곳에 가져 가야합니까? –

+1

Eclipse 네온에 Gluon IDE 플러그인을 설치하지 않았습니까 ?? 파일 -> 새로 만들기 -> 프로젝트 ...로 이동하십시오. Gluon 폴더가 보이십니까? jfxmobile 플러그인을 설치할 필요가 없습니다. –

+0

나는 e (fx) clipse 2.4.0과 gluon plugin 2..0을 설치했지만 download.eclipse.org/efxclipse/updates-released/2.4.0/site는 설치하지 않았다. 두 가지 활동이 시작됩니다 : e (fx) clipse - "install"과 "single components". 아마도 e (fx) 클립이 완전히 설치되지 않았을까요? 그렇게 할 때 메시지는 "작동을 수행 할 수 없습니다. 대체 솔루션을 계산하는 데 시간이 좀 걸릴 수 있습니다 : 2/15"입니다. 이 상태에서 약 15 분. 정상입니까? 아마도이 부분을 다시 설치 제거해야합니다. –