Posted on by | Posted in synyx Blog | Tagged , , , ,


Warum in die Ferne schweifen, wenn das Gute doch so nah ist?

Das dachten sich dieses Jahr auch vier Entwickler von synyx, und machten sich daher am 17.07. auf nach Stuttgart zum JavaForum der Java User Group Stuttgart (JUGS).
Die Vorteile liegen auf der Hand: kurze An-/ Abreise, große Auswahl an guten Vorträgen, super Verpflegung, und das alles zu einem relativ günstigen Preis.

 

08:05 Uhr, Hauptbahnhof Stuttgart


Posted on by | Posted in synyx Blog | Tagged ,


Seit etwas über fünf Jahren arbeite ich nun bei synyx. In dieser Zeit verändert sich innerhalb der Firma natürlich auch so manches. So mancher Mitarbeiter geht, aber dafür kommen auch immer wieder neue hinzu. Und über die Zeit gesehen ist ein stetiger Anstieg der Mitarbeiterzahl zu beobachten. Dies spiegelt sich natürlich auch in den Büroräumen wieder. Zum Begin meiner Arbeit bei synyx gab es in der Karlstraße 68 ein Stockwerk in welchem sich alle Mitarbeiter befanden. Innerhalb diesem wurde es dann allerdings recht schnell sehr "kuschlig". Wir brauchten einfach mehr Platz! Als Zwischenlösung gab es dann mal ein weiteres Zimmer im 5. Stock - das entschärfte die Platzproblematik etwas, bei mehrmaligem auf und ab am Tag war die dazwischen liegende Treppe dann aber doch recht sportlich. Besser wurde dies als innerhalb des Hauses das zweite Stockwerk hinzu genommen werden konnte. Diese auch heute noch vorhandene Lösung funktioniert recht gut, da die zwei Stockwerke direkt übereinander liegen. Allerdings wird es so langsam auch schon wieder eng, und so sind wir auf der Suche nach einer neuen Bleibe.


Posted on by | Posted in Developer Blog, synyx Blog | Tagged , , , ,


Ever had to insert some numeric values into an Oracle database? From your application through JDBC? You think "this is an everyday task - what should go wrong?" - well just read on...

Imagine you have got a simple table that has some numeric values that you want to update. Normally the easiest way to do this is to perform a simple update statement:


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , ,


In my last post about Google Maps on Android I showed you how to use the basic navigation features of google maps, like moving the map to a defined area and zooming to a given level.
Now as you have centred your map and zoomed in, it would be a good idea to show some kind of marker. Otherwise the user won't actually realize what you want to show him. How a basic overlay is done, is described in the tutorial on the android developer site, already mentioned in the last post. The HelloItemizedOverlay that is created there, enables you to add as many markers to your map as you want:

List mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.synyxLogo);
HelloItemizedOverlay itemizedOverlay = new HelloItemizedOverlay(drawable);
OverlayItem synyxOfficeOverlay = new OverlayItem(synyxOfficeLocation, "Synyx", "This is the Synyx office!");
itemizedOverlay.addOverlay(synyxOfficeOverlay);
// add more overlayItems...
mapOverlays.add(itemizedOverlay);

This will draw a nice marker just at the location of the synyx office. The drawback of this method is, that all markers on the map just look the same. You might think: No problem - just use the setMarker() method of the OverlayItem to set a new marker for just this item. As this looks like the way to do it, it won't work. All you get is no marker (not the one you just set, nor the default one). The map is just shown as if your marker was not defined at all.
So how to do it? The trick is the static method boundCenterBottom() of the ItemizedOverlay class. This method is also called in the constructor of the HelloItemizedOverlay, when the default marker is set:

public RouteMapOverlay(Drawable defaultMarker, Context context) {
    super(boundCenterBottom(defaultMarker));
    this.context = context;
}

The problem is, that the visibility of this method is set to protected (why?!). So calling it when setting the marker won't work:

// won't work as boundCenterBottom is protected
synyxOfficeOverlay.setOverlay(ItemizedOverlay.boundCenterBottom(myNewMarker));

Because of this visibility feature, the "easier" way is to add a new setter to your HelloItemizedOverlay class, accepting an OverlayItem and a Drawable to use as the marker. Within that setter, you are able to call the boundCenterBottom() method to set up the marker correctly:

public void addOverlay(OverlayItem overlayItem, Drawable marker) {
    overlayItem.setMarker(boundCenterBottom(marker));
    addOverlay(overlayItem);
}

Now if you use that setter, the map will correctly show your OverlayItem with your marker.