Hirdetés
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
Mr Dini
#4236
üzenetére
Ennek az Android Studiohoz semmi koze. A projekt classpath-an kell szerepelnie ennek a classnak. Gondolom az Apache Commons-os util class-rol van szo. Vagy berakod dependenciakent a projektbe, vagy kimasolod a szukseges kodokat a projektbe egy sajat util classba.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4225
üzenetére
A view-kat nullazd ki, mivel ahogy mondtam, mindenkeppen ujra fog toltodni. A kepeket nem tudom hogyan huzod be, de hasznalhatsz Glide/Picasso stb. libeket a megfelelo cacheleshez.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4223
üzenetére
Ha meghivodik az onDestroyView, akkor mindenkeppen ujra kell rajzolni a Fragment View-jat. Ez is csak akkor szamit, ha retained a Fragment, vagy back stackrol ter vissza, ellenkezo esetben eleve uj Fragment objektum jon letre.
-
WonderCSabo
félisten
válasz
Arcanus
#4154
üzenetére
Jol mondod, osszes API key-t szedd ki az alkalmazasbol, erre talan a legobb megoldas, ha kirakod egy gradle.properties fajlba amit nem commitolsz be, csak lokalisan tartod ott.
Licencre mindekeppen szukseg van, mivel attol meg hogy megosztod, mas nem hasznalhatja fel a projektet legalisan, csak ha egy licencben Te arra engedelyt adsz. Szoval igazabol nem is lenne open source.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4099
üzenetére
El kell menteni onSaveInstanceState-ben az aktualis poziciot es visszaallitani onRestoreInstanceState-ben.
Egy kis olvasnivalo.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4094
üzenetére
Igy tudod lekerni a stilusbol az item-ek ertekeit.
Nalad valszeg igy fog kinezni:
int[] attrs = { R.attr.icon };
TypedArray ta = context.obtainStyledAttributes(R.style.NavigationStyle, attrs);
int attributeResourceId = ta.getResourceId(0, 0);
Drawable drawable = context.getResources().getDrawable(attributeResourceId);
ta.recycle();Kovetkezo hsz:
Ha nincs beallitva az activitynek a "android:configChanges="orientation|keyboardHidden|screenSize", akkor mukodik, csak ilyenkor ugye ujraindul az Activity es sokaig tart.
Biztos vagy benne, hogy jo otlet, hogy Te akarod lekezelni a forgatas stb. miat torteno valtozasokat? Az Android rendszer igy van kitalalva, hogy config change utan ujra elkeszeti az Activity-t, es a legtobb dolog igy out of the box megy is (kello onSaveInstanceState / onRestoreInstanceState hasznalataval). Nagyon keves pelda az, amikor kezzel kell ezeket lekezelni.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4087
üzenetére
Design support library tudja ezeket nagyreszt.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4082
üzenetére
Nem tud magatol appra racsatlakozni a debuggerrel. De ha crashel az app, a stacktrace-t lathatod logcatban, es onnan mar ki lehet talalni mi volt a gond.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4073
üzenetére
Nem tudod tenyleges linkkent megjeleniteni a leirasban.
Kovetkezo hsz-edre: a manifestben az activityd-ben add meg ezt: android:launchMode="singleTask". Elvileg ekkor az az aptar uj appkent fogja megnyitni.
-
WonderCSabo
félisten
válasz
[KgP].Robot
#4065
üzenetére
Ezt csak ugy tudod megcsinalni, hogy a naptar esemeny leirasaba elhelyezel egy deep linket, amit pedig lekezelsz az appon belul.
-
WonderCSabo
félisten
Lehet felreertem amit irtal, de sztem nagyon keversz valamit... A Thread egy specialis osztaly, mert vele valoban uj szalat lehet inditani, amikor is a vezerles ket reszre agazik, es egyszerre ket (vagy tobb) iranyban halad tovabb. A Runnable azonban a Thread-el ellentetben egy teljesen sima Java osztaly, nem indit uj szalat, nincsen semmilyen specialis tulajdonsaga.
A Handler-en futtatott Runnable-k (-ben megadott kod reszlet) pedig mindig az adott Handler-hez tartozo szalon fognak lefutni. Ez ha jol latom esetedben pont a main (UI) thread. De Thread-nek is adhatnal meg Runnable programkodot, akkor pedig ertelemszeruen azon a szalon fog lefutni:
Runnable r = ...
Thread t = new Thread(r);
t.start(); -
-
WonderCSabo
félisten
-
WonderCSabo
félisten
válasz
bucsupeti
#3657
üzenetére
Android 6-tal megvaltozott a permission kezeles. Bizonyos "veszelyes" permissionok eseten nem eleg a manifest-be beirni, hanem a permission altal vedett szolgaltatas meghivasa elott a permissiont explicite kerni kell a felhasznalotol. Ezt a felhasznalo jovahagyjatja de el is utasithatja. Ha jovahagyta, kesobb barmikor visszavonhatja. Ezert ezentul futasidoben mindig ellenorizni kell a permissiont, es kerni, ha szukseges. Tobb info itt.
Na a mese irasa alatt megeloztek.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
A szám a végén a support lib revizioja, ami idonkent frissul az SDK managerben. A + egy Ivy függőség verzió jelölő, ergo a felsorolt repozitorikban a 18.0.XXX verziójú artifactok közül mindig a legújabbat szedi le.
De ez egy rossz hozzáállás, már Androidék is rájöttek. Használj fix verziót, így nem érhet meglepetés, ha frissül a support lib. Az Android Studio warninggal úgyis jelzi, ha nem a legújabb verziót használod. Az aktuális a 23.0.1, ezt írd be.Nem használtál még függőségkezelést?
-
WonderCSabo
félisten
FragmentStatePagerAdatpert használjál, és segítségével töltsd vissza az állapotot.
-
WonderCSabo
félisten
-
WonderCSabo
félisten
-
WonderCSabo
félisten
válasz
#39560925
#3214
üzenetére
Bocs, nem ismerem a use-caset, igazad van, nem kéne így tanácsot adnom ezzel kapcsolatban.
Két dolgot tehetsz:
* custom Preference osztály, amiben megírod, hogy benne legyen a Facebook button, majd a preferences.xml fájlba berakod
* nem rakod be az xml-be, hanem addPreferencesFromResorce hívása után kódban hozzáadod a VIew-t.Az első megoldás sztem sokkal szebb.
-
WonderCSabo
félisten
válasz
kocsisdavid5
#3173
üzenetére
Nyilvánvaló, hogy nem szereti a windows-os karakterkódolású speckó (ékezetes) karaktereket, ezért nem találja az SDK-t. Rakd át egy olyan helyre, aminek útvonalában nincs ékezet.
-
WonderCSabo
félisten
Tudtommal igen. A szinkronizálást te bármikor tudod kérni, az app indulása gondolom a launcher Activity onCreate-je (Application.onCreate csak akkor fut le, ha a teljes processt újraindítod).
-
WonderCSabo
félisten
válasz
lanszelot
#3023
üzenetére
Az internal storage-ból nem lehet kiszedni root nélkül. Két megoldás lehet:
* nem az internal storage-ra rakod az adatbázist, hanem external-ra
* internal-on hagyod, de kimásolodAz ADB egy szofver, amivel az Android-os eszközt tudod elérni a számítógépről. Ezen keresztül rakja fel az APK-t a telefonra pl. az Android Studio.
-
WonderCSabo
félisten
Én egy gépen dolgozom alapvetően, de rengeteg megosztott projekten, ezek általában git repóban vannak. Manapság egyre jobban törekszenek a projektek hordozhatóságára is, pl. egy gradles projekthez alig kell valami, hogy leforduljon repóból checkoutolva (jdk meg android sdk). Én úgy látom, hogy a világ ebbe az irányba megy el.
Egyébként a sok brancheléshez ajánlom ezt a modellt, nagyon sokan használják, jól működik.
-
WonderCSabo
félisten
Így a masteren csak a nagy lépések lesznek, a branch-ek pedig részletezik a lépcsőket.
Izé, ez nem igazán így van. A masteren is ugyanott ott lesznek a commitok. Az csak a git log parancs paraméterétől függ, hogy nálad csak a merge commitjaidat listázza ki. Igazából git-ben a branch csak egy pointer egy commitra, a commit pedig ismeri az őt megelőző commit(ok)at. Ha úgy lenne, ahogy te mondanád, eltűnnének a commitok.

A feature branchek viszont tényleg nagyon jók, de nem a commitok számának csökkentésére találták ki őket.

thon73: feature brancheket lehet törölni mergeölés után, és igazából illik is. Ha van merge commit, akkor látszódni fog a logban, hogy branchről lett mergelve, akkor is, ha az eredeti branch már törölve lett.
-
WonderCSabo
félisten
válasz
hyperionbabi
#2943
üzenetére
Mivel Android, Javát tanuld meg. Ha az már alapszinten megy, akkor mehet az Android, akár a Google trainingből.
-
WonderCSabo
félisten
válasz
kemkriszt98
#2938
üzenetére
Ezt a libet ajánlom zip kezelésére, szerintem zseniális.
-
WonderCSabo
félisten
válasz
kemkriszt98
#2923
üzenetére
Fontos Neked, hogy az igazi SD kártyán tárolja? Alapvetően, ha csak tárolni akarod valahol, akkor jó az a módszer. Nekem speckó esetem volt, és az igazi SD kártyára kellett mentenem.
Második kérdésre: mit szeretnél pontosan?
-
WonderCSabo
félisten
válasz
kemkriszt98
#2918
üzenetére
Én ezt használtam arra, hogy lekérjem az SD kártya útvonalát.
Sianis: Az nem feltétlenül az SD-t adja vissza sajnos. A gyártó igazából bármint meghatározhat external storage-ként, és csomó telefonon igazából ez a belső tárhely útvonalát adja vissza.
-
WonderCSabo
félisten
A generált dolgoknak korrekt neve, és tényleg nem duplikátum? Mindenesetre ilyen akkor lehet, hogy ha rossz a build.gradled, vagy volt valami régi is, és még két helyen vannak meg a classok. Clean nem segített rajta?
Mindenesetre a kövi build.gradle kell:
buildscript {
repositories {
mavenCentral()
}
dependencies {
// replace with the current version of the Android plugin
classpath 'com.android.tools.build:gradle:1.0.0'
// replace with the current version of the android-apt plugin
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
repositories {
mavenCentral()
mavenLocal()
}
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = 'XXX'
dependencies {
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
}
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
// if you have multiple outputs (when using splits), you may want to have other index than 0
resourcePackageName 'com.myproject.package'
}
}
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
}Azt is csekkold le, hogy nem manuálisa addsz hozzá source foldereket a build.gradle-ben, ezt hagyd az android-apt plugin-ra.
-
WonderCSabo
félisten
válasz
salmiakki
#2878
üzenetére
Igen, az volt a hiba (majdnem) amit mondtam.
Ezeket a view-kat:
final Button One = (Button) findViewById(R.id.btn1);
nem inicializálhatod findViewById-val inicialzáló blokkban, mivel akkor még nincs felépítve az Activity, pláne a view hierarchia. Ezt az onCreate-ben a setContentView hívás után teheted meg.
-
WonderCSabo
félisten
válasz
salmiakki
#2876
üzenetére
A stacktrace-ből az látszik, hogy a MainActivity-d konstruktorában volt egy findViewById hívás, ahol NullPointerException kivétel váltódott ki, amitől crashelt az app.
Viszont a MainActivity biztos, hogy ilyennek nem szabadna a konstruktorában lenni... Véletlenül nem csináltál neki konstruktort?
Új hozzászólás Aktív témák
- Arc Raiders
- Kés topik
- Kerékpárosok, bringások ide!
- Gumi és felni topik
- Töltőtoll kedvelők/használók topicja
- nVidia GeForce GTX 1070 / 1070 Ti / 1080 (GP104)
- Külföldi prepaid SIM-ek itthon
- Diablo II: Classic és Resurrected
- Zeneszerkesztő és DJ topic
- Információbiztonság, kiberbiztonság, adatvédelem
- További aktív témák...
- Keychron K4 vezeték nélküli mechanikus billentyűzet
- 2 DB HYPERX 16GB FURY DDR4 2666MHz CL16 HX426C16FB/16
- Alaplap ASUS ROG STRIX B850-I GAMING WIFI, Fractal Design ház, NOCTUA NH-D9L chromax black hűtő, Cor
- Új, bontatlan / felbontott / Kingston, Corsair, G. Skill, Crucial / DDR5 ramok / gari!
- NVIDIA RTX 3080 Ti Founders Edition
- Apple iPhone 13 128GB,Újszerű,Dobozával,12 hónap garanciával
- AKCIÓ! LG UltraFine 27" 5K IPS 99% DCI-P3 1 év garancia
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen,MS4120
- Dell Precision 7560 - Intel Core i9-11950H RTX A4000 32GB 1TB SSD FHD
- Akko 3098 /DE/PBT/RGB/Wireless/Hot swap/Yellow/Crystal switch
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

)



