Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Das The XDEV Mobile Kit ermöglicht Ihnen von einer mit RapidClipse entwickelten Server Anwendung auf mobile Endgeräte zuzugreifen sowie das finale Deployen hybrider Apps.

  • Tools - Deployen von hybriden Mobile Apps und deren direkte Übertragung auf mobile Endgeräte.
  • API - Zugriff auf Hardware- und Systemfunktionen mobiler Geräte via Vaadin.

Unterstützte Services

...

allows you to access mobile devices from a server application developed with RapidClipse as well as the final deployment of hybrid apps.

  • Tools - Allow you to deploy hybrid mobile apps and transfer them directly to mobile devices.
  • API - Grants access to hardware and system functions of mobile devices via Vaadin.

Supported services

  • Device buttons - App service

    Code Block
    languagejava
    /**
     * Add a button handler, e.g. for the back button
     */
    AppService.getInstance().addBackButtonHandler(event->{
        // Do something ...
        // and consume event so that it will not be processed in the default manner by the source which originated it.    
        event.consume();
    }); 
  • Barcode -Scanner - Zugriff auf sämtliche Barcode-Scanner. Formate u.a.scanner - Access to all barcode scanners. Some of the formats: QR, Data Matrix, UPC E/A, EAN 8/13, Code 128/93/39, CodeBar, ITF, RSS 14/Expanded, PDF417, MSI, Aztec

    Code Block
    languagejava
    /**
     * Use BarcodescannerService to scan a barcode.
     * Results are delivered asynchronously via callbacks.
     */
    
    /**
     * Opens the barcode scanner app.
     */
    void scan()
    {
        BarcodescannerService.getInstance().scan(this::barcodeScanned,this::onError);
    }
    
    /**
     * Success callback
     */
    void barcodeScanned(final BarcodeData barcode)
    {
        System.out.println(barcode.getFormat()+": "+barcode.getData());
    }
    
    /**
     * Error callback
     */
    void onError(final MobileServiceError error)
    {
        System.err.println(error.getMessage());
    }
  • Camera
    • Zugriff auf Foto- und Video-Funktion, Front- und Back-Camera 
    • Direkte Übertragung von Bilder und Videos 
    • Speicherung von Bilder und Videos auf dem Gerät mit späterer Weiterverarbeitung via File-Service. Optionell: Bild/Video, Front-/Back-Camera, Qualität, Dateiformat
    • Zugriff auf Bild-BibliothekAccess to photo and video function, front and back camera 
    • Direct transfer of images and videos 
    • Storage of pictures and videos on the device with later processing via file service. Optional: Picture/video, front/back camera, quality, file format
    • Access to image library
    Code Block
    languagejava
    /**
     * Use CameraService to take pictures, videos or to choose a file from an album.
     * Results are delivered asynchronously via callbacks.
     */
    
    /**
     * Opens the camera app.
     */
    void takePicture()
    {
        final CameraOptions options = CameraOptions.takeAndReturnPicture();
        CameraService.getInstance().getPicture(options,this::pictureTaken,this::onError);
    }
    
    /**
     * Success callback
     */
    void pictureTaken(final ImageData imageData)
    {
        // do something with taken picture
    }
    
    /**
     * Error callback
     */
    void onError(final MobileServiceError error)
    {
        System.err.println(error.getMessage());
    }
    Kontakte
  • Durchsuchen der Kontakt-Datenbank
  • Auswählen eines Kontakts
  • Bearbeiten und speichern eines Kontakts 
  • Contacts
    • Browse the contact database
    • Select a contact
    • Edit and save a contact 
    Code Block
    languagejava
    /**
     * Use ContactsService to work with contacts.
     * Results are delivered asynchronously via callbacks.
     */
    
    /**
     * Shows the contact picker app
     */
    void pickContact()
    {
        ContactsService.getInstance().pickContact(this::contactPicked,this::onError);
    }
    
    /**
     * Finds contacts by name
     */
    void findContacts(String name)
    {
        final ContactFindOptions options = ContactFindOptions.byName(name);
        ContactsService.getInstance().find(options,this::contactsFound,this::onError);
    }
    
    /**
     * Success callback
     */
    void contactPicked(final Contact contact)
    {
        System.out.println(contact);
    }
    
    /**
     * Success callback
     */
    void contactsFound(final List<Contact> contacts)
    {
        System.out.println(contacts);
    }
    
    
    /**
     * Error callback
     */
    void onError(final MobileServiceError error)
    {
        System.err.println(error.getMessage());
    }
  • Dateisystem - Lesender Zugriff auf das Dateisystem des mobilen GerätesFile system - Reading access to the file system of the mobile device.

  • Geolocation 
  • Aktuelle Position (Längen- und Breitengrad sowie Höhe)
  • Verfolgung der Position durch Bewegungsdaten (Richtung und Geschwindigkeit
  • Current position (lines of longitude and latitude as well as altitude)
  • Tracking the position by motion data (direction and speed)

    Code Block
    languagejava
    /**
     * Use GeolocationService to acquire position information.
     * Results are delivered asynchronously via callbacks.
     */
    
    /**
     * Lookup the current position of the device
     */
    void getCurrentPosition()
    {
        GeolocationService.getInstance().getCurrentPosition(this::positionFound,this::onError);
    }
    
    /**
     * Success callback
     */
    void positionFound(final Position position)
    {
        System.out.println(position);
    }
    
    /**
     * Error callback
     */
    void onError(final MobileServiceError error)
    {
        System.err.println(error.getMessage());
    }
  • NFC - Lesen und schreiben von NFC-Tags Option to read and write NFC tags

    Code Block
    languagejava
    /**
     * Use NfcService to read and write NFC tags.
     * Results are delivered asynchronously via callbacks.
     */
    
    /**
     * Start listener
     */
    void startListening()
    {
        NfcService.getInstance().startNdefListener(this::ndefListenerCallback,this::startNdefListenerSuccess,this::onError);
    }
    
    /**
     * Stop listener
     */
    void stopListening()
    {
        NfcService.getInstance().stopNdefListener(this::stopNdefListenerSuccess,this::onError);
    }
    
    /**
     * Tag read callback
     */
    void ndefListenerCallback(final Ndef ndef)
    {
        final Tag tag = ndef.getTag();
        System.out.println(tag);
    }
    
    /**
     * Listener successfully registered
     */
    void startNdefListenerSuccess(final String message)
    {
        System.out.println(message);
    }
    
    /**
     * Listener successfully removed
     */
    void stopNdefListenerSuccess(final String message)
    {
        System.out.println(message);
    }
    
    /**
     * Error callback
     */
    void onError(final MobileServiceError error)
    {
        System.err.println(error.getMessage());
    }
  • Vibration 
    • Einfache Vibration mit variabler Dauer, z.B. 1 sek.
    • Vibrations-Muster mit variabler Dauer und Pausen, z.B. Vibration 0,5 sek., Pause 0,3 sek., Vibration 0,1 sek. uswSimple vibration with variable duration, e.g. 1 sec.
    • Vibration patterns with variable duration and pauses, e.g. Vibration 0.5 sec, Pause 0.3 sec, Vibration 0.1 sec., etc.
    Code Block
    languagejava
    /**
     * Vibrates one second
    */
    VibrateService.getInstance().vibrate(1000);
    
    /**
     * Pattern: Vibrate 500 ms, pause 250 ms, vibrate 250 ms (Android only)
    */
    VibrateService.getInstance().vibrate(500,250,250);

...

Deploy mobile app

Mobile App Deployment