{"id":2861,"date":"2012-11-20T08:00:53","date_gmt":"2012-11-20T07:00:53","guid":{"rendered":"http:\/\/www.braintank.ch\/wp\/?p=2861"},"modified":"2012-11-20T08:03:19","modified_gmt":"2012-11-20T07:03:19","slug":"arrays-oder-die-unendliche-geschichte-der-informatik","status":"publish","type":"post","link":"https:\/\/braintank.ch\/?p=2861","title":{"rendered":"Arrays oder die unendliche Geschichte der Informatik"},"content":{"rendered":"<p>Unter dem Titel &#171;Android 4.2 vergisst Dezember&#187; berichtet <a href=\"http:\/\/www.heise.de\/newsticker\/meldung\/Google-vergisst-Dezember-in-Android-4-2-1752828.html\" target=\"_blank\">heise<\/a> \u00fcber das folgende <a href=\" https:\/\/code.google.com\/p\/android\/issues\/detail?id=39692\" target=\"_blank\">Problem<\/a>. Neckischerweise ist die Handhabung zwischen Kalender und Adressbuch nicht gleich gel\u00f6st worden.<\/p>\n<pre>mMonthPicker.setMinValue(1);\r\nmMonthPicker.setMaxValue(12);\r\nmMonthPicker.setDisplayedValues(months);<\/pre>\n<p>Eine Umgehungsl\u00f6sung ist die folgende:<\/p>\n<blockquote><p>\n<em>First temporarily change the language to Chinese or Japanese<\/em><br \/>\n<em> Now go to contacts and enter the date to December<\/em><br \/>\n<em> Later change the language back to your preferred language<\/em><\/p><\/blockquote>\n<p>Und warum geht das? Weil das Datum jetzt keine Monatsnamen mehr enth\u00e4lt. Und hier sehen wir die \u00c4nderung, welche zum Problem gef\u00fchrt hat:<\/p>\n<pre>\/\/ Make sure the min, max, respect the size of the displayed\r\n\/\/ values. This will take care of the current value as well.\r\nif (getMinValue() &gt;= displayedValues.length) \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 setMinValue(0);\u00a0 }\r\nif (getMaxValue() &gt;= displayedValues.length) \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<strong>setMaxValue(displayedValues.length - 1)<\/strong>;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 }<\/pre>\n<p>Die L\u00f6sung w\u00e4re wohl:<\/p>\n<pre>setMaxValue(displayedValues.length);<\/pre>\n<p>Und schon haben wir das Problem gesehen. Wobei wir hier einfach den Array Zeiger \u00fcbergeben.\u00a0 Der Array f\u00fcr Monatsname h\u00f6rt nun bei 11 auf und damit im November f\u00fcr das Textfeld und weiter geht es dann halt nicht mehr. Das f\u00fchrt uns nun zum dahinter liegenden Grundproblem von Arrays. Beginnen wir bei 0 oder 1. Das System wird immer bei 0 beginnen. Ab und zu kommt aber einem die Realit\u00e4t in den Weg. Hier w\u00e4re Android noch klar, selbst in der Dokumentation. Danach stellt sich aber die Frage, was eigentlich \u00fcbergeben wird und wohin es zeigen soll. Hier treffen wohl wieder zwei Realit\u00e4ten aufeinander. \u00dcbergeben wird der Pointer und nicht der Inhalt. Pech gehabt. Darum hier wieder einmal die Regeln und Fragen f\u00fcr Arrays und Gruppenbr\u00fcche:<\/p>\n<ul>\n<li>Wo beginnt der Array (0 oder 1)<\/li>\n<li>Wo endet der Array und habe ich Min und Max gepr\u00fcft?<\/li>\n<li>Wie viel Gr\u00f6sser als das Maximum kann der Array werden?<\/li>\n<li>Wie ist der Array sortiert?<\/li>\n<li>Was wird \u00fcbergeben, der Pointer oder der Inhalt?<\/li>\n<li>Was passiert bei leeren Arrays?<\/li>\n<\/ul>\n<p>Damit sollte es eigentlich immer klappen. Dar\u00fcber, dass dieser Fehler im Testing nicht aufgefallen ist, wollen wir jetzt nicht reden, das w\u00e4re wohl unfair. Weil in der Chinesischen und Japanischen Version l\u00e4uft es ja. Spannend das Basisstrukturen nur einmal getestet werden und danach nie mehr. Scheint auch ein Pattern zu sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unter dem Titel &#171;Android 4.2 vergisst Dezember&#187; berichtet heise \u00fcber das folgende Problem. Neckischerweise ist die Handhabung zwischen Kalender und Adressbuch nicht gleich gel\u00f6st worden. mMonthPicker.setMinValue(1); mMonthPicker.setMaxValue(12); mMonthPicker.setDisplayedValues(months); Eine Umgehungsl\u00f6sung ist die folgende: First temporarily change the language to Chinese or Japanese Now go to contacts and enter the date to December Later change the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[17],"tags":[711,710],"class_list":["post-2861","post","type-post","status-publish","format-standard","hentry","category-computer","tag-4-2","tag-android","missing-thumbnail"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":451,"url":"https:\/\/braintank.ch\/?p=451","url_meta":{"origin":2861,"position":0},"title":"Wise words","author":"admin","date":"15. April 2008","format":false,"excerpt":"Momentan haben wir einiges erreicht. Der Change Management Prozess ist wieder einen Schritt weiter. Ich denke, wir sind auf einem sehr guten Weg. Es bleibt mir nur folgende Anmerkungen aus dem Kalender einer Kollegin: If you're not part of the solution, you're probably a manager Teamwork means never having to\u2026","rel":"","context":"In &quot;Arbeit&quot;","block_context":{"text":"Arbeit","link":"https:\/\/braintank.ch\/?cat=21"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":450,"url":"https:\/\/braintank.ch\/?p=450","url_meta":{"origin":2861,"position":1},"title":"More wise words &#8230;","author":"admin","date":"10. Juni 2008","format":false,"excerpt":"Momentan sitze ich in einer Sitzung, die ziemlich langweilig ist. Also ist es Zeit aus dem englischen Kalender einer Kollegin zu zitieren: Work is like taking a sledge across the arctic only the lead dog has a pleasant view We believe in give and take here - I give my\u2026","rel":"","context":"In &quot;Arbeit&quot;","block_context":{"text":"Arbeit","link":"https:\/\/braintank.ch\/?cat=21"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":114,"url":"https:\/\/braintank.ch\/?p=114","url_meta":{"origin":2861,"position":2},"title":"Buchbesprechung am Freitag: The One Minute Manager Meets the Monkey","author":"admin","date":"21. April 2006","format":false,"excerpt":"Das heutige Buch: The One Minute Manager Meets the Monkey vonKenneth Blanchard, ISBN 0-688-10380-4 hat ganz viele gute Tipps f\u00fcr das Gesch\u00e4ftsleben. About monkeys in this books \"Good morning boss, can I see you for a minute? We have a problem\". I need to be aware of my people's problems,\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/braintank.ch\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":568,"url":"https:\/\/braintank.ch\/?p=568","url_meta":{"origin":2861,"position":3},"title":"&#171;Project&#187;-Management Erfahrungen","author":"admin","date":"23. September 2008","format":false,"excerpt":"Heute war wieder einmal ein Tag mit Diskussionen mit unserem Projektpartner. Im Anschluss an dieses Meeting, bin ich auf 100 Project Management Rules gestossen. Rule number 18 - Most international meetings are held in English. This is a foreign language to most participants such as Americans, Germans, Italians, etc. It\u2026","rel":"","context":"In &quot;Arbeit&quot;","block_context":{"text":"Arbeit","link":"https:\/\/braintank.ch\/?cat=21"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":454,"url":"https:\/\/braintank.ch\/?p=454","url_meta":{"origin":2861,"position":4},"title":"Project Management: More wise words","author":"admin","date":"17. April 2008","format":false,"excerpt":"Heute hatten wir wieder einmal Sitzungen mit unseren Freunden. Ich denke, ich bin am Punkt angekommen, wo mir auch der \"Programm Director\" auf der anderen Seite sagt, dass ich ja wenigstens f\u00fcr die Show nicht zahlen m\u00fcsste. Ich denke auch hier hilft uns der Kalender meiner Kollegin weiter: When the\u2026","rel":"","context":"In &quot;Arbeit&quot;","block_context":{"text":"Arbeit","link":"https:\/\/braintank.ch\/?cat=21"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6515,"url":"https:\/\/braintank.ch\/?p=6515","url_meta":{"origin":2861,"position":5},"title":"Das Wort zum Sonntag: blunder ahead","author":"admin","date":"13. Oktober 2019","format":false,"excerpt":"Blunder ahead zu Deutsch: Fehler voraus. Wird h\u00e4ufig verwendet um einen auf Gefahren aufmerksam zu machen. Sie kennen das Problem sicher auch. Wenn wir Menschen Komplexit\u00e4t begegnen. Da finde ich folgenden Spruch von Q aus Star Trek: Next Generation sehr passend: Your ignorance of the working of the galaxy is\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/braintank.ch\/?cat=2"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/braintank.ch\/wp-content\/uploads\/2019\/09\/blunder-around.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/braintank.ch\/wp-content\/uploads\/2019\/09\/blunder-around.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/braintank.ch\/wp-content\/uploads\/2019\/09\/blunder-around.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/braintank.ch\/wp-content\/uploads\/2019\/09\/blunder-around.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/braintank.ch\/index.php?rest_route=\/wp\/v2\/posts\/2861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/braintank.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/braintank.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/braintank.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/braintank.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2861"}],"version-history":[{"count":0,"href":"https:\/\/braintank.ch\/index.php?rest_route=\/wp\/v2\/posts\/2861\/revisions"}],"wp:attachment":[{"href":"https:\/\/braintank.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/braintank.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/braintank.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}