FRAGE an alle Devs: Kontakte drehen

  • Antworten:25
  • OffenNicht stickyNicht beantwortet

19.06.2010 18:07:17 via Website

Ihr wisst selbst, dass mit HTC Sync alles nicht so richtig hinhaut. Die Namen werden immer falsch herum übertragen (Vorname, Nachname). Und jetzt geht man her und wechselt die Ansicht nach Nachname, Vorname zu Fuß in den Kontakten, für jeden einzelnen Kontakt. Nicht der Burner. Schon gar nicht bei vielen Kontakten. Und auch nicht jeder will den Umweg über Big Brother gehen...

FRAGE: ist es denn nicht möglich, ein kleines Programm zu schreiben, das diese Arbeit übernehmen und alle Kontakte DREHEN kann?

We choose our destiny in the way we treat others Apps nach EinsatzzweckKleine, tolle Helferlein (Apps)

19.06.2010 23:56:58 via Website

Meiner Meinung nach ist es leider nicht möglich. Denn mit einer einfachen Applikation kann man meines Wissens keine Namen editieren. Man kann sie nur lesen...

Ich lasse mich aber gerne vom Gegenteil überzeugen :-)

Mnemono - Efficient learning!

20.06.2010 13:38:31 via App

Naja, editierten in dem Sinne ist das ja nicht, denke ich. Die App soll ja nur das machen, was ich auch machen kann: Vorname Nachname drehen und mich fragen, ob alle gedreht werden sollen. Solange hier seitens HTC nix besseres angeboten wird, wäre das eine große Hilfe.

We choose our destiny in the way we treat others Apps nach EinsatzzweckKleine, tolle Helferlein (Apps)

20.06.2010 17:01:40 via Website

ja, das stimmt schon, das ist insofern ein Bug, als irgendwer die Kontaktübernahme aus Outlook nicht an Deutschland angepaßt hat, also Anzeige nicht Vorname/Nachname = typisch amerikanisch... "Hey George! How are you!"

So geht's halt bei uns in Good Old Germany nicht... :smug:

Aber ich mit meinem Laienverstand dachte mir, wenn mir die Möglichkeit gegeben ist, auf dem Desire jeden einzelnen Kontakt zu drehen (man kann wählen, wie herum der Kontakt angezeigt werden soll), dann sollte es doch möglich sein, hierfür einen Batch zu schreiben, der dieses Drehen für alle Kontakte in einem Schwuppdich ermöglicht...:(

Ich weiß ja auch nicht, ob dieser Fehler mit Froyo behoben wird oder ob's da fröhlich so weiter geht.

We choose our destiny in the way we treat others Apps nach EinsatzzweckKleine, tolle Helferlein (Apps)

20.06.2010 17:28:49 via Website

Ich sehe das drama hier ehrlich gesagt nicht, denke nicht das es ein Android Problems, eher in dem Mapping das dass SENSE UI hier vorgibt, aber wieso nicht einfach dennen einen Bug einstellen als zu jammern ? Oder Fix es selbst wenn das Sense UI OpenSource ist sollte das wohl möglich sein!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

21.06.2010 12:02:46 via Website

Einen Bug Report bei HTC auf zumachen ist natürlich eine gute Idee.

Um nun aber Evelyn weiter zu bringen hier ein Lösungsvorschlag.
Vorab, ich habe es nicht großartig getestet, da ich mir meine Kontakte nicht versauen wollte.
Das unten stehende Skript (für Android 2.x) kann einfach in der BeanShell Console des PAW Servers eingefügt und aufgerufen werden.

Erst wenn DEBUG=false (Zeile 5) gesetzt wird werden die Änderungen vorgenommen.
Bei DEBUG=true wird nur ausgegeben, was passieren würde.

Hoffe das funktioniert. Falls nicht, dann schon mal sorry ... alles auf eigenes Risiko!

1import android.provider.ContactsContract;
2import android.provider.ContactsContract.CommonDataKinds.StructuredName;
3import android.content.ContentValues;
4
5DEBUG = true;
6
7service = server.props.get("serviceContext");
8
9String[] cols = { StructuredName._ID, StructuredName.FAMILY_NAME, StructuredName.GIVEN_NAME };
10
11cur = service.getContentResolver().query(ContactsContract.Data.CONTENT_URI,
12 null,
13 StructuredName.MIMETYPE + "=?" ,
14 new String[] { StructuredName.CONTENT_ITEM_TYPE },
15 null
16);
17
18if (cur.moveToFirst()) {
19 do {
20 id = cur.getString(cur.getColumnIndex(StructuredName._ID));
21 firstName = cur.getString(cur.getColumnIndex(StructuredName.GIVEN_NAME));
22 lastName = cur.getString(cur.getColumnIndex(StructuredName.FAMILY_NAME));
23 print(firstName + " " + lastName + "-->" + lastName + " " + firstName);
24 print("ID: " + id);
25 cv = new ContentValues();
26 cv.put(StructuredName.FAMILY_NAME, firstName);
27 cv.put(StructuredName.GIVEN_NAME, lastName);
28 if(!DEBUG) {
29 changed = service.getContentResolver().update(ContactsContract.Data.CONTENT_URI, cv, StructuredName._ID + "=?", new String[] { id });
30 print("Changed: " + changed);
31 }
32
33 print("-------------------------------------------------------------------");
34 } while(cur.moveToNext());
35}
36
37cur.close();

Beim Ausschneiden des Quelltextes kommen leider die Zeilennummern mit, diese müssen vor dem Einfügen entfernt werden.


Gruß
Jochen

— geändert am 21.06.2010 14:52:36

06.08.2010 21:42:53 via Website

Jochen Rühl
Falls jemand daran interessiert ist...
Die App zum Taschen der Namen läuft ab Android 2.1 und das APK kann hier heruntergeladen werden:

SwapNames.apk


Funktioniert leider nicht.

Die Anwendung Namen Tauschen (..) wurde unerwartet beendet.

Neuinstallation sowie Reboot haben nix gebracht. Einmal konnte ich kurz das Menü sehen, ist dann aber trotzdem abgestürzt.

03.11.2010 11:51:33 via Website

Eigentlich wollte ich das Thema ruhen lassen, weil sich niemand so recht dafür zu interessieren schien.

Nach Rückfrage von Christian habe ich mich mit ihm zusammen nochmal darangesetzt.
Nachdem die Probleme der ursprünglichen App beseitigt waren kam heraus, dass obige App nicht den eigentlichen Anforderungen entspricht.

Da ich nicht mit Outlook synchronisiere und auch sonst nicht viele Kontakte habe, war mir das Problem nicht ganz klar.
Die eigentliche Anforderung müsste lauten:

Die Anzeigenamen der Kontakte sollen wie folgt formatiert werden: "Nachname, Vorname"

Mit dem Drehen von Vor- und Nachname hat das also nur bedingt etwas zu tun.
Ich habe also eine neue App geschrieben und Christian hat diese getestet.

Das Benutzen der App geschieht natürlich wie immer auf eigenes Risiko!

Die App kann hier heruntergeladen werden:
DisplayNames.apk

Gruß
Jochen

19.11.2010 14:44:17 via Website

Hallo Stefan,

einfach auf dem Handy unter "Einstellungen>Anwendungen" den Haken bei "Unbekannte Herkunft" setzen und den Link im Browser anklicken.
Dann sollte automatisch die Installation gestartet werden.

Gruß
Jochen

12.01.2011 10:24:40 via Website

Hallo Jochen,
habe das App runtergeladen.
Klappt alles wunderbar.
Hat aber einen großen Nachteil. Es werden immer alle Kontakte gedreht.
Wenn ich einen neue Kontakte anlege, werden diese wieder in der Reihenfolge Vorname, Nachname eingefügt.
Somit ist dann alles durcheinander. Das heißt der neue Kontakt ist dann immer andersrum angelegt, weil sich immer nur die komplette Liste drehen lässt.

Gruß Harald

12.01.2011 10:37:09 via Website

Hallo Harald,

die Kontakte werden nicht gedreht, sondern es wird der Anzeigename "Nachname, Vorname" erzeugt.
Sollte also auch bei mehreren Durchläufen noch stimmen.
Ist schon eine Weil her, somit hoffe ich dass das oben geschriebene stimmt.
Werde mir das bei Gelegenheit nochmal anschauen.

Da ich das selbst nicht benutze, kann es durchaus sein, das nicht alles wie gewünscht funktioniert.
Falls das jemand weiter pflegen möchte, stelle ich gerne den Code zur Verfügung.

Gruß
Jochen