Beiträge von hypnotoad

    Hey, die Emulatoren sind im Moment ein Mysterium, habe alle möglichen Images mit GoogleAPI getestet, zu Anfang meines Projektes hat auch alles funktioniert. Irgendwann hats nimmer funktioniert. God knows why. Hatte überlegt Studio mal neu zu installieren, aber im Moment läuft alles auf dem Handy, never change a running system ;).

    Update:


    habe ein paar kleine Schritte in die richtige Richtung gemacht. Die Permissionrequests lassen sich erstmal umgehen. Das Problem kommt später. Im Moment steht die Map soweit, zeigt die Position des Nutzers an und Polylines zu weiteren zufälligen Positionen sind erstmal grob vorbereitet.



    Nächste Aufgabe:
    Die Position eines Nutzers an einen anderen senden. Noch nicht sicher, welche Technik da zu verwenden sinnvoll wäre, mir fallen Cellbroadcasts, Wlan, Le Interwebs, oder auch bestehende Netzwerke wie twitter, whatsapp oder Pokemon ein. Denke auch hier, ist der richtige Weg, erstmal eine einfach Variante zu implementieren. Wenn alles soweit läuft, kann man sich nach einer besseren Variante umsehen.

    Gradle: Project:


    Gradle: Modul:

    Manifest:


    Wenn ich den LocationManager und die Requestabfrage raus nehmen funktioniert eigentlich alles. Soweit ich das beurteilen kann, sollten diese Teile eigentlich funktionieren.
    Halp! ;)

    Mapfragment:

    Spoiler: der Code hier ist nicht mehr aktuell, siehe unten!


    Servus miteinander,


    Habe vor kurzem mal wieder angefangen mich an meiner Projektidee zu versuchen. Auch wenn das finale Produkt etwas umfangreicher (für meine Maßstäbe) sein soll, ist die momentane Variante recht simpel und die Beschreibung wird sich hier immer am aktuellen Zustand orientieren:


    Es gibt eine main activity die kaum mehr als ein Platzhalter ist und einen button enthält, der zum nächsten screen, einem mapfragment führt.
    Das mapfragment, soll nun vor allem ein paar fixe marker anzeigen.


    todo: im Moment versuche ich meine map zu überreden, die aktuelle Location als marker an zu zeigen.


    probleme: Die app startet zunächst problemlos und die mainactivity mit dem button lädt. Wenn man diesen drückt, kommt die Fehlermeldung: Map won`t run unless u update Google Play Services und einem Button: "update".
    wenn man auf update klickt, schmiert das Programm leider ab.




    Main:

    Hallo Allerseits,


    Habe einen neuen Anlauf gestartet eine alte Idee in die Tat um zu setzen.
    Beim umsetzen tuen sich wie immer unüberwindbare Hindernisse auf. Aus einer Main Activity möchte ich mit einem Button zu einem Mapfragment kommen.
    Habe also erst eine Blank Activity erstellt und einen Button eingefügt:


    OkButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    setContentView(R.layout.activity_maps_recieve);
    }
    });


    Die Aufgerufene Map sieht so aus:
    private GoogleMap mMap;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps_recieve);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
    .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
    }



    /**
    * Manipulates the map once available.
    * This callback is triggered when the map is ready to be used.
    * This is where we can add markers or lines, add listeners or move the camera. In this case,
    * we just add a marker near Sydney, Australia.
    * If Google Play services is not installed on the device, the user will be prompted to install
    * it inside the SupportMapFragment. This method will only be triggered once the user has
    * installed Google Play services and returned to the app.
    */
    @Override
    public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    Marker Sydney = mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));



    Die Map wird soweit auch erst einmal aufgerufen, nur fehlt der Marker und der Zoom findet ebenfalls nicht statt.
    Der Code ist im Grunde der unverändert durch Android Studio erstellt. Wenn man ein neues Projekt erstellt, mit einem Mapfragment, als main Activity,
    funktioniert die Marker Darstellung auch problemlos.


    Werde irgendetwas grundsätzlich falsch verstanden haben, nur was?


    Müssen die Steuerbefehle in der Main activity aufgerufen werden? Würde dies nicht dem Prinzip, eine View, eine Activity widersprechen? Meh, werde mal versuchen, alles in einer main Activity unter zu bringen. Nehme an ein Inflater wäre da das richtige Instrument. Auch wenn es net sehr elegant aussieht. Zumal beides am Ende lediglich ein Teil einer grösseren Architektur sein soll.


    Hm, neue Idee, vielleicht lässt sich das eleganter lösen, wenn man den Map-Teil als eigenständiges Modul deklariert? Mal nachforschen, wie des mit den Modulen funktioniert.


    Problem gelöst. Ein guter alter Intent führte zum Erfolg. Frage mich allerdings wozu SetContentView gut sein soll, wenn man am Ende doch wieder Intents braucht:


    public void showMapButton (View view){
    Intent mapintent = new Intent(this, MapsActivity.class);
    startActivity(mapintent);
    }