Autor Thema: Server-Profile: PUT oder POST anstatt GET  (Gelesen 8244 mal)

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #15 am: 08.03.2017, 21:42:27 »
Habe EgiGeoZone updaten müssen und die Zonenabfrage gleich mit eingebaut. Ist schon im
Play Store.
Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #16 am: 09.03.2017, 08:11:00 »
Sehr schön, das werde ich mir mal anschauen, wenn das Update bei mir angekommen ist. Wie lange dauert so etwas in der Regel? Bekomme ich das Update auch für EgiGeoZoneBT?

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #17 am: 09.03.2017, 08:58:54 »
Zitat
Wie lange dauert so etwas in der Regel?
Maximal eine Stunde und jenachdem wann dein System diese abfrägt.

Zitat
Bekomme ich das Update auch für EgiGeoZoneBT?
Da habe ich es noch nicht eingebaut. Kann ich aber am Abend tun, wenn wir uns entscheiden, wie wir es machen wollen.

Das Problem besteht aber immer noch. Die Plugins müssen wissen, mit welchem der EgiGeoZone(BT) sie es zu tun haben wollen!
Die Unterscheidung wäre dann:
Im Plugin für EgiGeoZone: intent.setComponent(new ComponentName("de.egi.geofence.geozone", "de.egi.geofence.geozone.plugins.Zones"));Im Plugin für EgiGeoZoneBT: intent.setComponent(new ComponentName("de.egi.geofence.geozone.bt", "de.egi.geofence.geozone.plugins.bt.Zones"));
Ich habe es mit ContentProvider ausprobiert und da besteht das gleiche Problem. Die Provider müssen unterschiedliche Namen haben und diese müssen in den Plugins dann entsprechend angegeben werden.
Im Plugin für EgiGeoZone: private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.zonesContentProvider/zoneNames");Im Plugin für EgiGeoZoneBT: private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.bt.zonesContentProvider/zoneNames");
Aufrufbeispiel:
Zitat
    private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.zonesContentProvider/zoneNames");
    private static final String CN_NAME = "name";
....
        // Returns the zone names. You may not select other fields or make changes on them
        ContentResolver cr = this.getContentResolver();
        Cursor cursor = cr.query(CONTENT_URI, null, null, null, null);

        if (cursor.moveToFirst()) {
            do{
                Toast.makeText(this, cursor.getString(cursor.getColumnIndex(CN_NAME)), Toast.LENGTH_SHORT).show();
            } while (cursor.moveToNext());
        }



« Letzte Änderung: 09.03.2017, 09:01:26 von Admin »
Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #18 am: 09.03.2017, 09:14:30 »
Ist das wirklich ein Problem? Ist nicht angedacht, die beiden Varianten von EgiGeoZone auf kurz oder lang zusammenzuführen? Die Doppelpflege ist doch auf Dauer auch nicht wirklich schön/machbar.
Ich würde mich zuerst einmal auf die nicht BT-Variante stürzen.

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #19 am: 09.03.2017, 09:46:05 »
Die Apps werden zweigleisig angeboten, da die ohne BT etwas schlanker und weniger Akku verbraucht. Man kann in der BT nicht ganz einen Teil des Beaconscannings abschalten. Ist so in der verwendeten API implementiert. Schon blöd.
Oder man lässt nur eine Variante zur Installation zu.
Schöne Grüße
Egmont

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #20 am: 09.03.2017, 12:05:54 »
Das Plugin könnte eine Auswahl zwischen EgiGeoZone und EgiGeoZoneBT anbieten. Oder beide?
Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #21 am: 09.03.2017, 13:49:54 »
Also m.E. wären beide Varianten möglich. Es macht doch nicht wirklich Sinn beide Varianten der App auf dem Smartphone zu haben, oder?
Eine Auswahl im Plugin wäre aber sicher auch denkbar. Allerdings müsste das dann jedes Plugin machen.

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #22 am: 09.03.2017, 15:26:44 »
Zitat
Es macht doch nicht wirklich Sinn beide Varianten der App auf dem Smartphone zu haben, oder?
Stimmt, aber ich kenne die User aus Erfahrung :-)
Somit werde ich zwei Varianten bereitstellen.
Ich schlage die Variante mit ContentProvider vor. Was sagst du dazu?
Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #23 am: 09.03.2017, 16:52:59 »
Wie gesagt, ich habe noch nicht wirklich viel Erfahrung mit Android-Programmierung, da müssten andere bewerten, was da Sinn macht. Ich habe bloß mal kurz Google gefragt und das schien für mich am passendsten. Ich hoffe, ich komme morgen mal dazu, die Sachen zu implementieren, die ich mir vorgenommen habe.

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #24 am: 10.03.2017, 16:34:31 »
Habe heute EgiGeoZoneBT extra für dich upgedatet und in den Store gestellt :-)
Dabei habe ich nur mehr die ContentProvider-Variante implementiert.

Bin ab morgen eine Woche nicht zu Hause und kann dann nicht besonders viel nachschauen und helfen.
Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #25 am: 16.03.2017, 20:18:08 »
Hallo,

ich habe das Plugin nochmal grundlegend überarbeitet.
Es können nun mehrere Profile angelegt, die für bestimmte Zonen aktiv geschalten werden können.
Die Zonen werden aus beiden Apps geholt und im Profil zur Auswahl angezeigt.

Der Code liegt immer noch auf GitHub. Ich arbeite daran, mit jedem Commit ein Release anlegen zu können, dass man auch direkt installieren kann. PlayStore kommt eventuell noch.
@Egmont: Ich wollte aber nicht unbedingt meine Kreditkarte bei Google hinterlegen. Gibt es da eine Alternative dazu?

Ich freue mich über Feedback.

Gruß,
Sebastian

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #26 am: 16.03.2017, 20:45:11 »
Zitat
Es können nun mehrere Profile angelegt, die für bestimmte Zonen aktiv geschalten werden können.
Die Zonen werden aus beiden Apps geholt und im Profil zur Auswahl angezeigt.

Cool!
Zitat
Der Code liegt immer noch auf GitHub.
Der Code kann da liegen bleibenn und du kannst trotzdem auf Google veröffentlichen.

Zitat
@Egmont: Ich wollte aber nicht unbedingt meine Kreditkarte bei Google hinterlegen. Gibt es da eine Alternative dazu?
Weiss ich leider auch nicht.

Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #27 am: 23.03.2017, 18:29:27 »
Guten Abend,

ich habe noch ein Problem festgesttellt: Nach einer gewissen Zeit sendet das Plugin keine Requests mehr. Erst, wenn ich die App wieder öffne, dann funktioniert es wieder. Es scheint so, also der BroadcastReceiver sich nach einer gewissen Zeit beendet bzw. abstürzt. Energie sparen ist für diese App auch schon ausgeschaltet.
Hast du da eine Idee, was da das Problem sein könnte bzw. wie man ihm auf die Schliche kommen kann?

Gruß,
Sebastian.

Admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 768
    • EgiGeoZone
  • Gerät: Xiaomi Redmi Note 5, Samsung Galaxy Note 2, S4, S5, S2, S7
  • Version: MIUI 10.0 Global, Android 4.4, 5, 6, 7, 8, 8.1, 12, 13
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #28 am: 23.03.2017, 19:09:25 »
Hallo Sebastian,

kann es sein, dass es dein Plugin ist, welches sich verabschiedet?
Du solltest dieses auch aus der Akkuoptimierung entfernen. Auch aus dem SmartManager von Samsung.
Und die Rechte auch richtig abfragen/vergeben.

Schöne Grüße
Egmont

seb1985

  • Newbie
  • *
  • Beiträge: 16
  • Gerät: S6
  • Version: 6.0.1
Re: Server-Profile: PUT oder POST anstatt GET
« Antwort #29 am: 23.03.2017, 20:04:25 »
Ja, es ist sicher mein Plugin. Deine App funktioniert einwandfrei und erkennt das Betreten/Verlassen der Zonen. Akkuoptimierung ist für meine App schon ausgeschaltet...