Okay das ist komisch.
IntelliJ IDEA ist quasi genau das gleiche wie Android-Studio, nur halt für reines Java.
Das sollte aufjeden Fall dann für dich passend sein
Beiträge von Xcreen
-
-
Das wird auch so einfach nicht gehen.
Die Apps laufen in einer eigenen kleinen VM.
Du kannst maximal Intentes zu der App schicken, allerdings brauchst du dafür eine Doku der App (und die App muss natürlich passend auf die Intents reagieren), damit du weißt was du hinschicken musst.
(siehe https://developer.android.com/training/basics/intents/ ) -
Generell ist Android Studio für Apps/Android-Anwendungen dar. Um den Code dann auszuführen brauchst du im Normalfall einen Emulator oder ein angeschlossenes Android-Gerät.
Du kannst zwar Code auch in der Console ausführen, das macht bei Android-Code allerdings wenig Sinn, da die meisten Funktionen ein Android-Gerät brauchen. Man kann halt nicht ohne weiteres Android-Code unter Windows/Linux ausführen.
Wenn du pures Java lernen willst, also unabhängig von Android, dann empfehle ich dir IDEA (https://www.jetbrains.com/idea/download/). Das ist in der Community-Version kostenlos und darauf basiert auch Android Studio.Wie gesagt macht es keinen Sinn Android-Code ohne Android-Gerät auszuführen, da es im Normalfall nie funktioniert.
Für reines Java ohne Android kannst du IDEA nutzen. -
Es gibt noch die Möglichkeit via android:windowSoftInputMode="stateHidden|adjustResize" in der Activity.
Dann kannst du sagen, ob sich die Activity beim öffnen des Keyboards resizen oder so bleiben soll. -
Es gibt leider kein Standardmäßiges-Event, um zu erkennen ob die Tastatur offen ist.
Aber mit der Library https://github.com/yshrsmz/KeyboardVisibilityEvent klappt das ganz gut. Die benutze ich selber bei ein paar Projekten. -
Genau dein Smartphone ist kein Android Things-Gerät und hat damit die API nicht. Deswegen ja den Zwischenschritt mit Windows.
Natürlich kannst du auch via Bluetooth/Wlan-Direkt eine Verbindung zu dem Modul aufbauen, ist halt die Frage ob du via Bluetooth/Wlan Modul Befehle zum Auslesen/Setzen von Werten hat (dafür müsstest du mal in die Doku vom Modul schauen). -
Du kannst dein PICKit nicht direkt am Smartphone anschließen.
Es gibt zwar bei Android eine API dafür (https://developer.android.com/things/sdk/pio/i2c) die bezieht sich aber darauf, das dein PICKit (oder sonst ein IoT) auf Android basiert.
Wenn du nur Windows Treiber dafür hast, hast du nur die Möglichkeit die Daten zu Windows zu senden bzw zu empfangen. Von Windows aus könntest du theoretisch via eine Api dann per Smartphone/Tablet die Sachen steuern.
Dann hättest du dein Windows aber immer als Vermittlungsstelle. -
Im Screenshot wird die Map doch nicht geladen (ich dachte es fehlen nur die Marker?).
Wenn der die Map nicht geladen wird, ist es noch ein API-Fehler!
Da muss auf jeden Fall ein Fehler im Logcat auftauchen! (schau mal ob die die Logcat-Ausgabe gefiltert hast).Irgendwas machst du noch mit den Signaturen falsch.
Wie hast du die Release-Signature erstellt, wie baust du die release version, welche SHA-1 Keys von welchen Signaturen hast du bei Google eingetragen?
Wenn du schon paar Apps gemacht hast, weißt du doch wie man eine Release-Version erstellt? Oder hattest du noch keine im Playstore released?Nunja die Maps-API ist halt etwas komplexer. Da kann man sich schonmal aufhängen...
Vielleicht die Schritte nochmal in Ruhe durchgehen, irgendwo hast du den Wurm drin. Es kann eigentlich kein besonders großer Fehler sein. -
Wenn du einfach auf den Play/Run-Button drückst erstellst du im Normalfall eine Debug app (app-debug.apk).
Zum Signieren dieser App verwendet Android-Studio eine debug.keystore (ist quasi auch eine .jks Datei).
Wenn du die App releasen willst, musst du einen Keystore erstellen und auch abspeichern.
Das ist die .jks-Datei (Speicherort gibts du beim Erstellen an).
In dieser .jks-Datei steht ein SHA-1-Key den du auslesen kannst (mit dem keytool), und auch in der Google-Maps-API eintragen musst.Da die Map aber kommt, ist es kein API Problem, dort würdest du auch eine Fehlermeldung im Logcat sehen!
Wenn du nur den Debug-SHA-1 in der API hinterlegt hast (auf den Link den du in der Beschreibung gehen solltest), baust du entweder deine Release-app falsch oder benutzt die ganze Zeit die Debug-App.
-
Was meinst du mit zuerst die neue App?
Es ist ja die gleiche App mit gleiche Packagename, die lokalen Daten müssen auch vorhanden bleiben...Ich habe schon raus gefunden das ich mit & die Befehle verknüpfen kann, allerdings reicht uninstall -k nicht (da kommt beim Install trotzdem das die Signature nicht passt.)
Und komplett uninstall will ich nicht machen, da dann alle Einstellungen bzw lokalen Daten weg sind.... -
Das muss leider im Hintergrund passieren bzw. der User wird die App nicht deinstallieren und neuinstallieren (zumal die Geräte auch keinen Playstore haben).
Also das ist leider keine Lösung. -
Hi,
ich habe folgendes Problem:
Eine App soll sich neuinstalliert werden, da die Signature nicht mehr passt. (Root-Rechte sind auf den Geräten vorhanden).
Ich kann zwar via:
Process proc = Runtime.getRuntime().exec(new String[]{"su", "pm install -r " + apkPath"});die App aktualiseren, allerdings nur wenn die APK die gleiche Signature hat.
Das ist aber jetzt nicht mehr der Fall.
Also wie kann ich die neue App mit gleichem Packagename und neuer Signature installieren.
Habe schon probiert via uninstall und dann install, aber logischerweise wird der install-befehlt nicht mehr ausgeführt. -
@Override
public void onBackPressed()
Die Funktion musst du in der Activity ausführen.
Entweder du packst dort die Funktion rein oder du du reichst die onBackPressed von der Activity zum Fragment durch (https://stackoverflow.com/a/46425415) -
Wenn die Map kommt, dann ist die API korrekt eingestellt!
(sie wäre grau, wenn an der API was falsche eingestellt ist).
Hast du mal versucht (programmiertechnisch) komplett raus zu zoomen, bzw. zu deinen Marker zu gehen? -
Ich hatte das jetzt mal probiert und es hat funktioniert.
Musste allerdings noch den SHA-1 Key vom Keystore(.jks) in die API mit einbinden. (Hast du zwei SHA-1 Keys eingetragen? Sollte so aussehen, wie in dem Anhang)Bekommst du in der Map nur die Marker nicht anzeigt oder kommt die Map garnicht?
-
Hi Snake3000,
du kannst deinen Ablauf (Datei schreiben) in eine Funktion auslagern.
Diese Funktion rufst du auf, wenn du die Berechtigung hast (im onCreate) (kannst du mit einer einfach If-Abfrage machen(zb. if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR)).
Logischerweise wird der Teil überspringen, wenn du die Berechtigung noch nicht hast.
Du kannst aber via der Methode onRequestPermissionsResult mitbekommen, ob die jemand die Berechtigung erlaubt hat.
Ist das der Fall kannst du von dort aus auch nochmal die Funktion aufrufen.Steht aber auch alles im verlinkten Artikel von jogimuc. (siehe die Kapitel: Check for permissions und Handle the permissions request response)
-
Bekommst du eine Fehlermeldung?
Google Maps hat in letzter Zeit sehr viel umgebaut.
Du musst anscheinend ein neues Projekt anlegen und dort einen Key erstellen, der nur für Android gültig ist (also kein JS-Api etc mit aktivieren).
Eventuell musst du eine Kreditkarte hinterlegen, das ist zumindest im Moment bei der Web-API so seit ein paar Wochen.
Du bekommst allerdings jeden Monat 200$ Guthaben für Api-Requests (siehe: https://cloud.google.com/maps-platform/pricing/ ). Dann wird zumindest nicht direkt die Kreditkarte belastet, sondern nur bei sehr viel Traffic. -
Genau, deswegen würde ich dir auch eine Argentur empfehlen.
Sie haben meinstens Entwickler/Grafiker/Projekt-Manager und Marketing-Leute.
Dann können Sie dir ein komplettes Konzept erstellen und dich überall unterstützen.
Das ist bei Freelancern eben sehr schwierig, dafür sind die Kosten dafür natürlich höher. -
Schreib einfach deine ganzen Anforderungen auf. Versuche Abläufe und Features detailliert zu beschreiben.
Ein Entwickler/Projekt-Manager kann dich dabei unterstützen, da Sie dir auch Lösungen suchen wie wann solche Features am Besten integriert.Zeitlich und Preislich hängt das komplett an den Anforderungen.
Auch hängt es noch davon ab, ob weitere Entwickler/Grafiker gebraucht werden.
z.B Brauchst du Grafiken (App-Logo und weitere Sachen noch), dann fallen hier schon paar Stunden Grafiker-Arbeit an.
Muss deine App Daten speichern? Wenn ja, müssen auf dem Gerät gespeichert werden und/oder sollen Sie auch in der Cloud/Server gespeichert werden. Müssen die Daten mit dem Gerät synchronisiertwerden. Braucht es eine Datenbank, dann muss hier auch erstmal die Struktur ausgearbeitet werden. Wie soll die Übertragung statt finden? Braucht es noch einen Rest-API (wird hier noch ein PHP/Web-Entwickler benötigt).
Sollen die Gerät via Firebase erreichbar sein (damit man z.B. Push-Notifications (News) schicken kann. Wer verwaltet die App? Soll Sie vom Entwickler im Play-Store verwaltet/ggfs. geupdatet werden? Soll iOS auch mit drin sein? Wenn ja, soll das ganze extra programmiert werden, oder soll ein Framework eingesetzt werden, womit man versuchen kann beides bestmöglich abzudecken?Das sind alles Dinge die Zeit und damit auch Geld kosten.
Je nach Umfang der App halt mehr oder weniger.Ich denke 2000 -5000 ist man schon mit einer relativ einfachen App los. (Das wären ca. 20-50 Std. reine Android-Entwicklungszeit).
Nach obenhin ist es auf jeden Fall offen. Es gibt durchaus Apps die mehrere hundertausend Euro gekostet haben (und teilweise trotzdem am Konzept gescheitert sind).
Es hängt halt extrem von deinen Anforderungen ab. -
Die Stundenlöhne variieren natürlich. Für einen guten Entwickler sollte man aber schon ca ~100€/Stunde einrechnen.
Dann solltest du dir ein Pflichtenheft erstellen. (mit allen! Anforderungen)
Danach wird versucht die Stunden und die Kosten zu errechnen. Dies kann jedoch stark variieren, je nachdem wie gut das Pflichtenheft ausgearbeitet wurde und wie genau die Entwickler die Anforderungen zeitlich bemessen können.Gute Entwickler kannst du auf Freelancer-Plattformen finden, wenn du allerdings einen kompletten Service willst, würde ich dir Raten eine entsprechende Internet-Agentur zu suchen.
Diese bieten dir meist den Vorteil, das alles genau geplant wird und man einen Projekt-Manager als Ansprechpartner hat.
Bei Freelancern stehst du schnell alleine da, falls es mal nicht läuft oder er/sie keine Lösung mehr für dich hat, das Projekt dann weiterzugeben ist nicht immer ohne.Ideen sind in Deutschland nicht schützenswert, das heißt du kannst dich dort leider nicht absichern. Das ist ein allgemeines Gründungsproblem. Man kann zumindest vorher eine Vertraulichkeitsvereinbarung(NDA) erstellen, ob dass das gewünschte Ziel bringt, müsstest du mit deiner Rechtsberatung klären.