{"id":236,"date":"2007-12-10T16:55:00","date_gmt":"2007-12-10T15:55:00","guid":{"rendered":"http:\/\/ollmetzer\/?p=236"},"modified":"2010-05-30T13:31:13","modified_gmt":"2010-05-30T11:31:13","slug":"webseiten-fur-handies","status":"publish","type":"post","link":"https:\/\/www.ollmetzer.com\/?p=236","title":{"rendered":"Webseiten f\u00fcr Handies"},"content":{"rendered":"<p>Wer schon einmal Webseiten f\u00fcr Handies (WAP 2.0) gebaut hat, kommt schnell darauf, da\u00df man die Ausgabe automatisch an das Endger\u00e4t anpassen sollte. Wenn man zum Beispiel Bilder anzeigen m\u00f6chte, macht es einen erheblichen Unterschied, ob das Handy eine Displaygr\u00f6\u00dfe von 128&#215;128 (z.B. \u00e4ltere Nokia Series 40), 176&#215;208 (\u00e4ltere Nokia Series 60, viele SonyEricsson) oder 240&#215;320 Pixel hat. Dazu ben\u00f6tigt man eine Ger\u00e4teerkennung.<\/p>\n<p><strong>Hallo Handy, was kannst Du denn?<\/strong><\/p>\n<p>Eine gute M\u00f6glichkeit zur automatischen Ger\u00e4terekennung bietet <a href=\"http:\/\/wurfl.sourceforge.net\/\"  title=\"WURFL bei Sourceforge\">WURFL<\/a> (Wireless Universal Resource File). Das funktioniert recht gut, aber der Server ben\u00f6tigt zum Parsen de riesigen XML-Datei viel Speicher. Mehr als mein Provider mir zubilligt. Aber es geht auch anders: Per <a href=\"http:\/\/de.wikipedia.org\/wiki\/UAProf\"  title=\"Wikipedia\" target=\"wikipedia\">UAProf<\/a>.<\/p>\n<p>Neuere Handies schicken im Request Header einen Link auf eine XML-Profildatei, in der die wichtigsten technischen Daten stehen. Heute m\u00f6chte ich dem geneigten Leser und Softwarebastler eine PHP-Klasse zur Verf\u00fcgung stellen, mit dem sich die wichtigsten Parameter aus diesen UAProf-Dateien auslesen lassen. Die Klasse ist PHP4 Kompatibel, da leider noch immer viele Hoster nicht auf PHP5 umgestellt haben. Man kann die Klasse leicht auf der Kommandozeile ausprobieren. Dazu den Inhalt der ZIP Archives in einen Ordner entpacken und die XML Dateien f\u00fcr die Handymodelle dazulegen. Den Pfad zur lokalen PHP-Installation in der &#8218;test.bat&#8216; anpassen und starten.<\/p>\n<p><a href=\"\/blog\/uploads\/uaprof.zip\" title=\"uaprof.zip\" target=\"_blank\">uaprof.zip<\/a> (1,8 Kb)<\/p>\n<p><strong>Wo bekomme ich nun Profildateien zum Testen her?<\/strong><\/p>\n<p>Das Beispiel enth\u00e4lt keine Profildateien. Diese muss man sich aus dem Internet laden. Das ist erlaubt, denn daf\u00fcr sind sie ja da. SonyEricsson hat z.B. in dem PDF-Dokument &#8218;WAP User Agent strings and profiles&#8216; ein Verzeichnisen aller Handymodelle mit den URL&#8217;S. <a href=\"http:\/\/developer.sonyericsson.com\/site\/global\/docstools\/browsing\/p_browsing.jsp?cc=gb&#038;lc=en&#038;ver=4000&#038;template=ps1&#038;zone=ps\"  title=\"SonyEricsson Developer Downloads\" target=\"sonyericsson\">Das Dokument liegt hier<\/a>. Ansonsten ist Google gerne bei der Suche behilflich ;-). Bei der Suche nach &#8222;e61 uaprof&#8220; ist beispielsweise gleich der erste Treffer die entsprechende Profildatei f\u00fcr das Nokia E61.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer schon einmal Webseiten f\u00fcr Handies (WAP 2.0) gebaut hat, kommt schnell darauf, da\u00df man die Ausgabe automatisch an das Endger\u00e4t anpassen sollte. Wenn man zum Beispiel Bilder anzeigen m\u00f6chte, macht es einen erheblichen Unterschied, ob das Handy eine Displaygr\u00f6\u00dfe von 128&#215;128 (z.B. \u00e4ltere Nokia Series 40), 176&#215;208 (\u00e4ltere Nokia Series 60, viele SonyEricsson) oder [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,4,11],"tags":[],"class_list":["post-236","post","type-post","status-publish","format-standard","hentry","category-development","category-mobilesleben","category-onlinedienste"],"_links":{"self":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=236"}],"version-history":[{"count":0,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}