Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S23 Ultra - non plus ultra
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy Watch6 Classic - tekerd!
- Azonnali mobilos kérdések órája
- Samsung Galaxy Fit 3 - keveset, de jól
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Itthon is elérhető a OnePlus 11 és a Buds Pro 2
- Prohardver app (nem hivatalos)
- Xiaomi 15T Pro - a téma nincs lezárva
Új hozzászólás Aktív témák
-
Guitar14
senior tag
Üdv mindenkinek!
Alábbi problémával fordulok hozzátok. Androidos program, amit földmérő munkára írt volt kolléga. Alapfeladata egyszerű. Locus térképalkalmazásban benne vannak a földek (KML) és arra rányomva megjelenik egy lista és azon keresztül lehet megnyitni az Adatlapkitöltő programot (Kitűzési adatlap) ami megnyit egy XLS fájlt a belső memóriában és így nem kell az excelt kitölteni kézzel hanem gombokkal választani lehet dolgokat (föld megközelítés, térkép terep azonosság egyezik e stb stb) és még lehet fényképezni benne amit úgy nevez el ahogy mi beírjuk plus elé automatikusan beírja a nyilvántartási számot (amit az XLSből vesz ki) tehát igazából nem egy komplikált program. A baj az hogy a videón: [link] a jobb oldali régi tableten (Android 4x) működik, meg 5x és 6x verziók alatt is amint látszik is hogy megnyitja a táblát. a Bal oldalon viszont 7x ver. android van rajta és betöltés után visszadob a Locusba. Próbáltam újabb telefonokon is és én úgy vettem észre hogy 6-os android felett semmin se működik. Viszont kezd a tabletes flotta öregedni és vennénk újakat de a program nem működik újakon. A telefonon amit mutatok a végén a hibaüzenet látható. Esetleg tudtok valamit, hogy mi okozhatja a problémát? Mi változott az új androidban, mert mintha nem engedne hozzáférést a fájlhoz, pedig a probramnak minden engedély megvan. Mit kéne átírnom benne, vagy teljesen újra kell írni? Alapszintű android programozási készségeim vannak csak. Köszönöm szépen előre is a segítségeteket, remélem érthető volt a leírás.
-
domel
tag
Ezekkel az üzlethelyiségbe kirakott prezentációs tabletekkel kapcsolatban (kettő hozzászólással felettem) lenne egy kérdésem:
Meg lehet azt oldani egy androidos tablettel, hogy a hülyegyerekek ne nyomkodják el, ne lépjenek ki a programból? Vagy marad a keretbe szerelt tablet, ami letakarja az alsó-felső értesítési és menü-sávot a képernyőből? -
acsati
aktív tag
Sziasztok!
Nem tudom mennyire leszek nevetséges a kérdésemmel, de ezt a topikot találtam a legmegfelelőbbnek a címe alapján.
Egy kisebb kereskedés üzletébe szeretnék egy információs platformot kihelyezni és első körben egy nagyobb, erősebb tablet jutott eszembe, melyen futna egy applikáció az üzletről.
Programozás tudás nélkül van lehetőség valamiféle modernebb, elegáns (animált), egyedi applikációt elkészíteni?
Pár menüt gondolnék bele, termékekről forgatható 360-as renderfotót, különböző termékek/képeken választható színt, paraméter megjelenítést meg ilyesmit. Adatbázis, regisztráció, meg űrlapok nem kellenének, csupán ilyen interaktív bemutató app kéne. Nekem inkább vizuális tudásom lenne ehhez (Photoshop, 3D).
Köszönöm előre is, ha eltereltek valamilyen irányba az információk alapján.
-
domel
tag
válasz
thiclyoon
#4993
üzenetére
Működik a kódod, úgyhogy van nagy öröm! Természetesen az volt az első, hogy megnézzem mi a különbség a kettőnk észjárása között, és a következő sorok voltak döntőek:
Context ctx = getApplicationContext();
Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));
én mindenre gondoltam, csak erre nem. Tehát letölti a térképet, lementi, és onnan tölti be, vagyis töltötte volna be, ha le tudta volna menteni.
Hálás köszönet a segítségedért, egy hetes kepesztés végére tettél pontot.
Üdv: -domel -
thiclyoon
aktív tag
A permission-ök sosem voltak a kedvenceim, sok boilerplate kód a kb. semmiért. Nem akartam átírni ilyen szinten a kódod, mert lehet, hogy csak összezavartalak volna vele. Ha érdekel, külső könyvtár permission-ökhöz, ami számomra bevált: [link].
Itt pedig a működő verziójú Activity: [link]. A telepítés után egyből nullpointer exception fogadott. Ezek elkerülésére tökéletes a kotlin, szintén csak ajánlani tudom. A térkép betöltése viszont kissé lassú, ez ilyen sajnos.. -
domel
tag
OpenStreetMap még mindig, csak most felkészültebben teszem fel a kérdést
Szóval az a bajom, hogy nem tölti be a csempéket, max egyszer, de ha elhúzom a térképet egy másik városra, akkor óriás-pixeles lesz a térkép.
Tehát az a baj, hogy nem frissíti a csempéket. Felteszem ide a forráskódot, egy végtelenül egyszerű kód, ha lenne ideje rá valakinek, az ránézhetne:
[link]
ha amapView.setTileSource(TileSourceFactory.MAPNIK);sort átjavítommapView.setTileSource(TileSourceFactory.OpenTopo);-ra, akkor azzal a térképpel meg működik, de nekem pont nem topográfiai térkép kell. Az a gyanúm, hogy csak nálam jelentkezik a hiba, idegen telefonon menni fog
Előre is köszönöm a segítséget! -domel -
bandi0000
nagyúr
-
bandi0000
nagyúr
válasz
thiclyoon
#4987
üzenetére
Megoldottam végülis RadioGroup-pal, nem a legjobb de jóvanazúgy
Viszont nem nagyon jövök rá, vagyis inkább nem nagyon tudom mire keressek, Firestore-ba van egy collection azon belül generált kulcsok és azon belül az adatok, és nem tudom, hogyan kérdezzem le az adatokat, valahogy át kellene ugorni a generált kulcsokat, de nem találom, hogy hogyan
-
bandi0000
nagyúr
Nem vagyok annyire kreatív felületen mint szeretném, így hátha tud valaki normálisabb megoldást
Lényeg, hogy a szűrésnél vannak kategóriák ami kb 4-5 fajta lehetne, ezt checkboxal oldottam meg, viszont egyáltalán nem jó kezelni, mert mindegyiknél meg kell vizsgálni, hogy be van e pipálva, vagy nem , és úgy szűrni, + nekem kb 3 állapot kellene, miszerint igen, nem vagy mind1
Legjobb talán a RadioGroup lenne, de elvileg lehetne olyan, ahol több kategóriát is belehetne pipálni
Erre létezhet valami szebb és egyszerűbben kezelhető megoldás?
-
domel
tag
Helló! OpenStreetMap-et használt már valaki? Elhúzom a térképet valamerre, és nem tölti be az újabb "csempéket", csak hébe-hóba, homályos-óriáspixeles lesz a térkép. Mi lehet a baj?
-Domel -
thiclyoon
aktív tag
válasz
Ablakos
#4982
üzenetére
Érdemes először megnézni a fragment életciklust, itt látszik, hogy gyanús az az onSaveInstanceState() függvény például. Ez működni szokott, ha pedig valamilyen speciális helyzetben próbálod megoldani, akkor érdemes betenni ide a már elkészült kód releváns részét, akkor könnyebben tud bárki segíteni.

-
thiclyoon
aktív tag
válasz
bandi0000
#4980
üzenetére
Ilyen esetben én a dialogot jobban preferálom. A fragmentcsere is hasznos tud lenni, de szerintem kevés esetben hasznos / szép / illik az alkalmazásba. A dialog cancel + ok gombokkal szerintem erre teljesen oké, mikor csak egy megerősítés szükséges. Komplexebb esetben, mikor például nem minden fér el szépen egy dialogban, akkor érdemes lehet átgondolni a fragment-cserét is persze, nem kell mindenáron mindent belezsúfolni egy dialogba.
-
bandi0000
nagyúr
válasz
thiclyoon
#4979
üzenetére
Köszönöm
Amúgy visszatérve a régebbi kérdésemre, ugye a default kotlinos navigationt hasznàlom, de jó gyakorlat/megoldás pl egy egyedi dialogot mutatni mikor egy összetettebb szűrést vagy pl egy hirdetés feladást akarok megjelenïteni?
Vagy valahogy lekelleme cserélni a fragmentet mert az.a szebb nem?
-
bandi0000
nagyúr
Androidstudioban lehet valahol állítani, hogyha ráviszem a kurzort egy függvényre, akkor írjon ki róla valami infót? Vagy amikor írom be a függvény nevet, akkor ha van leírása azt is írja ki?
Jelenleg ezek az infók hiányoznak, és nem tudom, merre keressem a beállítását
-
thiclyoon
aktív tag
-
Ablakos
addikt
Ezen is csak átléptem eddig:
Elindítok egy új projektet (empty activity) és automatikusan a 5.6.4 gradle verziót állítja be a környezet. Ezzel csak org.codehaus.groovy.control.MultipleCompilationErrorsException hibát tudok előidézni. Szóval mindig átállítom 6.2.2 -re és azonnal tudok dolgozni.
De ez még sem kerek így.
-
-
Ablakos
addikt
Igen, ez volt a gond.
Csak a dinamikus broadcast megy.Persze hibüzenet nincs, csak mérgelődés, kétségbeesés.
Pedig úgy örültem, hogy sikerült (igaz 6 éves ) Udemy kurzust letorrentezni, de látom xart sem ér. Már harmadszor futok ilyen alap hibába és még az elején járok. -
thiclyoon
aktív tag
válasz
Ablakos
#4972
üzenetére
A kód jó
valószínűleg a gond az android api miatt van: "If your app targets Android 8.0 or higher, you cannot use the manifest to declare a receiver for most implicit broadcasts (broadcasts that don't target your app specifically)" [link]Ha a kódot így szeretnéd ellenőrizni, akkor a module szintű build.gradle targetSdkVersion-jét vedd kisebbre (pl. 22), és egy ugyanilyen api-val rendelkező emulátoron teszeld. Viszont éles projekt, stb. esetén tedd is vissza a target-et, és próbáld meg kódból (manifest-ből töröld a kódodat):
val intentFilter = IntentFilter("android.intent.action.AIRPLANE_MODE")
val receiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
Toast.makeText(this@MainActivity, "changed", Toast.LENGTH_SHORT).show()
}
}
this.registerReceiver(receiver, intentFilter) -
Ablakos
addikt
Ezzel görcsölök egész délután, de nem megy. Nem hívódik meg az
AirPlan.onReceive.
Szinte triviálisan egyszerű kód, de mégsem. Hiába változtatom a repül/nem repül módot.
Mi lehet itt még buktató?<receiver android:name=".AirPlan"><intent-filter><action android:name="android.intent.action.AIRPLANE_MODE" /></intent-filter></receiver> -
thiclyoon
aktív tag
-
Ablakos
addikt
A valódi hardvereket a profiler nem tudja logolni vagy valamit nem jól csinálok?
-
fatal`
titán
Ez így téves. A port a Google és az Oracle az API-n rúgta össze és nem a nyelven (emlékeim szerint egy nevetséges függvényen ment a vita). A Kotlin ugyanúgy JVM-re fordul, tehát ez nem fogja megoldani a problémát (bár van neki natív része is).
De nekem mondjuk eszembe nem jutna Javat használni, túl sok a boiler plate.
-
vlevi
nagyúr
Sok sok éve összerúgta a pórt a google és az oracle (aki a SUN-tol vette meg) a Java néhány libraryjanak használata miatt.
Emiatt a google próbál áttérni egy saját, vagy legalabbis masik programnyelvre, és ez nem is baj, ha az jobb, mint a regi. En se vettem meg a faradtsagot, hogy neki állnak kotlani, pedig érdemes lenne átnézni némelyik régebbi próbálkozásomat (appnak azért nem neveznem ), hogy mivel lenne érdemes újra megírni. Természetesen kötőiknél, de már előszedve normális libeket, és nem kézzel osszekokanyolni mindent. Csak hát annyi felesleges energiám nincsen... -
bandi0000
nagyúr
válasz
thiclyoon
#4962
üzenetére
Na jah, nincs azzal gond, ha kiismeri az ember, én nagy f@sszal mentem neki, hogy majd útközben meglesz, aztán csak jobban utàna kellett jàrnom, mikor a viewmodel-ben a liveData null lett, és ősszefosta magàt az app, raktam mindenhova a kérdőjelet és a felkiàltójeleket aztán a végén inkább megnêztem, hogy is kéne csinálni :D
-
thiclyoon
aktív tag
válasz
Ablakos
#4960
üzenetére
Én se tudok konkrét dátumról, valószínűleg nincs is, és jó ideig nem is lesz szerintem
rengeteg app java-t használ (még), nem akar minden fejlesztőt elveszíteni a google. Én is a kotlint javaslom - legyen a fejlesztő bármilyen szinten -, sok-sok előnye van.(#4961) bandi0000: ha minden optional, akkor bármi lehet null

-
Ablakos
addikt
Van valamilyen mondás, hogy meddig lesz a Java nyelv támogatva a fejlesztéshez?
-
thiclyoon
aktív tag
válasz
Ablakos
#4958
üzenetére
A 0.7 az egy jó 6-7 éves verzió
én szeretem uptodate tartani azt is, meg a függőségeket is. Igaz, hogy egy-egy főverzió el tudja rontani a már kész alkalmazást (ilyenkor maradok a régebbi, jól működő verziónál), de általában vannak javítások, fejlesztések, amik miatt megéri. Azt nem tudom, hogy a gradle vagy az android studio miatt, de a build egy ideje egyre gyorsabb - már csak emiatt is megérheti újabbat használni / kipróbálni. -
Ablakos
addikt
Melyik az ajánlott gradle a studióban? A project strukturában számos verziót felhoz. (0.7
) Van amikor ilyen régit kell használni? -
moleculez
veterán
Sziasztok, ráérő android fejlesztőt keresek egy egyszerű kis app erejéig, persze nem ingyen. (Magán célra, nem producion ready cucc lenne).
Ha nem megfelelő a topic, akkor egy útbaigazítást is szívesen veszek. Pacsi
. -
Ablakos
addikt
Azt nem, de közben arra jutottam, hogy nem jó helyen használtam a setCancelable methodot.
Az onCreateDialog -om belül akartam a AlertDialog.Builder objektumnak beállítani, de ott nincs hatással rá. Ha kívül, ahol példányosítom és meghívom a DialogFragment -ből származó osztályt ott már teszi a dolgát a setCancelable.
-
thiclyoon
aktív tag
válasz
Ablakos
#4953
üzenetére
A setStyle()-lal próbáltad átállítani
STYLE_NORMAL-ra? -
Ablakos
addikt
DialogFragment -ből származott osztályban szeretném a feldobott Alertdialog-ot modálissá tenni. Próbáltam mindenféle okosságot a netről (setCancelable(false) stb.), de egyik sem működik.
Hogy kell ezt megoldani? -
thiclyoon
aktív tag
válasz
bandi0000
#4950
üzenetére
Igen, valószínűleg ez a statikus fragment-ek miatt nem működik. Végszükség esetére a fragment váltás után (még a fragment-ben) a dolgok visibility-jét átállíthatod gone-ra. De a csúnya kódok elkerülés érdekében én inkább a sima régi módszernél maradnék. Esetleg egy új activity-t is nyithatsz neki, és akkor minden tuti, még a megjelenést (mármint az animációt, gondolom emiatt is szeretnéd a fragment cserét) is testre tudod szabni

-
bandi0000
nagyúr
válasz
thiclyoon
#4947
üzenetére
köszönöm, pont így csináltam csak egyrészt benéztem, mert üresek a fragmentek így nem volt látványos a változás, szóval mindig cserélte, viszont az előző fragment, amiből nyitottam is látszik, meg az új is átlapoltan
na de túrom egy kicsit a stackoverflow-t hátha van valami ötlet
-
thiclyoon
aktív tag
válasz
bandi0000
#4946
üzenetére
Ahogy mondani szokták, a jelenlegi megoldás szuboptimális, de működik. Biztos van szebb, egyszerűbb megoldása is
Ezekkel a kódokkal a home-ban a text-re kattinva lecseréli a notification fragment-re, majd a dashboard-ra nyomva kicseréli a dashboard-ra (ahogy várnánk). A többi feladat megoldását (pl. home-ra visszanyomásra mi történjen) az olvasóra bízom 
MainActivity.kt-ba
interface MyListener {
fun clicked()
fun declicked()
}
class MainActivity : AppCompatActivity(), MyListener {
...
override fun clicked() {
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.nav_host_fragment, NotificationsFragment())
transaction.commit()
}
override fun declicked() {
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.nav_host_fragment, DashboardFragment())
transaction.commit()
}
}HomeFragment-be:
override fun onCreateView(...): View? {
...
textView.setOnClickListener {
(activity as MyListener).clicked()
}
...
}DashboardFragment-be:
override fun onCreateView(...): View? {
...
textView.setOnClickListener {
(activity as MyListener).declicked()
}
...
}És hogy lásd a változást, res/layout/fragment_notification-be:
<androidx.constraintlayout.widget.ConstraintLayout
...
android:background="#CA1414"
tools:context=".ui.notifications.NotificationsFragment">Illetve a res/layout/fragment_dashboard-ba:
<androidx.constraintlayout.widget.ConstraintLayout
...
android:background="#066EFF"
tools:context=".ui.dashboard.DashboardFragment"> -
bandi0000
nagyúr
válasz
thiclyoon
#4945
üzenetére
Akkor jó, nem teljesen hülyültem meg

Amit pedig szeretnék csinálni az az, hogy van egy beállítások menüpontom, ebből akarok nyitni egy fragmentet, ahol a felhasználó a saját adatait szerkesztheti, de értelemszerűen ez a szerkesztési lehetőség nem tartozik a rendes menü listához, csak úgy " lóg a levegőben"
Régen ezt úgy csináltam meg, hogy a a menüre kattintás eseményre mindig lecseréltem a container layout-ba a tartalmat az éppen kiválasztott fragmentre, és ahol kellett ott simán a fragmentmanager segítségével nyitottam meg a fragmentből a fragmentet
De ez ugye itt nem akaródzik működni, null pointer kapok, mert nem található a container, ami ugye nincs is a base projektben
Dialoggal meg lehetne oldani egyszerűbben, de ehhez sztem jobban illik egy teljes fragment
-
thiclyoon
aktív tag
válasz
bandi0000
#4944
üzenetére
Pont nemrég kellett használnom Bottom Navigation-t, és én is másképp emlékeztem rá

Szerintem megéri ezt az új megközelítést használni. Nekem különösen a navigation res mappa tartalma tetszik, hasonlít az iOS-hez
Ha jól értem, az a kérdés, hogy hogyan adjunk hozzá még egy fragment-et a bottom navbar-hoz:
0. Activity létrehozása
1. res/menu/bottom_nav_menu-ben az elemek módosítása (adjunk hozzá egy navigation_blank id-jű item-et)
2. res/navigation/mobile_navigation-ben a felső sorban "new destination" (create new, BlankFragment)
3. MainActivity-ben az AppBarConfiguration-hoz adjuk hozzá 4. elemnek az R.id.navigation_blank-et
4. res/navigation/mobile_navigation-ben a létrehozott destination id-ja legyen navigation_blank
5. futtatás után ott az elvárt kimenet
-
bandi0000
nagyúr
válasz
thiclyoon
#4943
üzenetére
köszi
Még1 kérdés, nem tudom mennyire ismered/ismeritek a legújabb verziót(nem tudom régebbiben is így volt e), ahol ha a projektet eleve bottom navigation-nel hozom létre, akkor az activity-ben már meg van csinálva az alsó 3 menü definiálása, nyilván itt nem a fragmentManagert használja, hanem valami mást, tök szimpatikus a megoldás, viszont nem tudtam így simán megnyitni egy fragmentet ami ugye nincs a menüben, legalábbis egy container-t hiányol
Ezt az egész hóbelebancot lecseréltem a régi jólmegszokott menü navigálásra, amikor van egy container layout, és a fragmentManager segítségével dobálom bele a fragmenteket, és így már megtudok nyitni egy újabb fragmentet ha akarok, ilyen célra ez lehet a megoldás, vagy a gyárit is lehetne használni valahogy?
-
thiclyoon
aktív tag
válasz
bandi0000
#4942
üzenetére
Activity-ben ?. operátor nélkül is működik, fragment-ben szükséges a ?. operátor. Alapesetben nem lehet null, de ha pl. átmegyünk valamilyen Settings, vagy Helper osztályba, akkor egy rossz architektúra / tervezés után simán jöhetnek a null pointer hibák ilyen esetben.
Jó megoldás? Nem igazán van, illetve én nem tudok róla
Nemrég láttam egy meme-t, ahol az volt a poén fő eleme, hogy mégis mi a fenének kell akár egy Toast-hoz context. Teljesen felesleges, ez az Android dizájn hibája, egyszerűen csak azt akarjuk, hogy jelenjen meg az aktuális képernyőn. Ha mégis szükséges egy context, vagy hasonló komponens (resource, activity, vagy akár teljesen más is, asynctask, stb.), akkor ezt javaslom, ez működni fog: [link] (kiegészíthető get/set-tel, egyéb dolgokkal, stb). Widget-nél tud ez is probléma lenni, de akkor kell a jó tervezés - vagy egy kis szenvedés a widget-nél 
-
bandi0000
nagyúr
Eléggé új vagyok a kotlányban, eddig java-ban írtam az appkat, ott is emlékszek, hgoy figyelmeztetett mindig, mikor hívtam egy getContext-et, hogy nézzem meg null e, de itt a kotlinba már hibát is dob rá
Mi erre a jó megoldás? Pl van egy osztályom aminek kell a context, és vagy telerakom null vizsgálatos operátorral "?" az osztályt, vagy simán ahol hívom megnézem, hogy null e, de egyáltalán előfodulhat olyan, hogy nem elsz context?
-
thiclyoon
aktív tag
válasz
Ablakos
#4940
üzenetére
Most frissítettem 3.6.2-re:
Support for Jetpack View Binding, a compile-time safe replacement for 'findViewById()'
Illetve a frissítés utáni What's new?-ban is reklámozzák. Amúgy van létjogosultsága? ButterKnife eddig is nagyon szépen tudott ilyeneket, de Kotlin óta még arra sincs szükség.Canary-ból pedig én 4.1-re tudnék frissíteni, tehát a stable és a canary nem ugyanott tart szerintem.
-
Ablakos
addikt
View binding is available in Android Studio 3.6 Canary 11+.
Nem nagyon értem ezeket a verziókat.
Most a 3.6.2 stabilban is benne van ez a feature? A stabil most utolérte a Canary-t ? Ugyanaz a verziójuk. -
domel
tag
Helló!
Csináltam egy androidos mappa törlő programot windows alá, ezeket törli:
\app\build
\.gradle
\.idea
\build
archiváláshoz jól jön, ahhoz felesleges 50-60 megákat tárolni, mikor elég a tizede is.
Ha valakinek pont erre van szüksége az töltse, ez egy exe amit a project könyvtárakhoz (nem bele, hanem mellé) másold.
www.domel.hu/Androidbetorlo.zip
Üdv: Domel -
thiclyoon
aktív tag
válasz
Ablakos
#4935
üzenetére
Illik az elején, de ennél a függvénynél elméletileg még az sem okoz problémát, ha egyáltalán nem hívod meg. A default implementáció csak a view-k többségének adatát menti el.
(#4936) dunc: az adb az sdk része, ami felmegy a nagyobb rendszerekre. Így én ennyiből sajnos nem igazán értem, mit szeretnél (és hogy miért, mi lenne a cél).
-
dunc
nagyúr
Sziasztok nekem van egy nem rootolt Lenovo tabletem , egy parancssort kéne hozzá adnom abd be, magán a tableten meg tudom ezt oldani illetve milyen abd kell hozzà?
-
Ablakos
addikt
Köszönöm, én is a batyus eltesz-elővesz megoldást találtam, csak túl kombináltam. A timer referenciát akartam megmenteni a forgatás miatt, nem amit előállít (textView értéket). De nagyon jó, hogy felhívtátok a figyelmet a onRestoreInstanceState -re is.
Még egy kérdésem van: onSaveInstanceState -ben van jelentősége, hogy előszőr vagy a legvégén hívom meg az ősosztályt?
-
domel
tag
válasz
Ablakos
#4932
üzenetére
Nem tudom ennek gányolás nélkül mi a hivatalos módja
public class MainActivity extends AppCompatActivity {
Handler handler= new Handler();
int mCount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler.post(ru);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mCount = savedInstanceState.getInt("count");
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt("count", mCount);
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onDestroy() {
handler.removeCallbacks(ru);
super.onDestroy();
}
Runnable ru= new Runnable() {
@Override
public void run() {
Log.i("TTAG","--:"+mCount);
mCount++;
handler.postDelayed(this,1000);
}
};
} -
thiclyoon
aktív tag
válasz
Ablakos
#4932
üzenetére
Az implementáció ismerete nélkül én az
onSaveInstanceState()és azonRestoreInstanceState()függvényeket definiálnám felül. Vannak részletek, amire érdemes figyelni, pl. hogy az előbbi függvény nem biztos, hogy minden esetben lefut, pl. back gombra nem fog futni, hiszen az user explicit vissza akart lépni. Ekkor vagy azonPause()vagy azonBackPressed()függvénnyel érdemes foglalkozni. Alap funkcionalitásért viszont elég az első kettő függvényben megcsinálni a dolgokat
-
Ablakos
addikt
Fut az activity-n egy timer, amely TimerTask osztályt hívogat. (az osztály egy view-ba ír) OnCreate methodusban vannak. Ha elforgatom az eszközt szeretném, hogy tovább számoljon.
Mi ennek a logikai megoldása? -
domel
tag
Helló!
Kaptam egy levelet a Play Console-tól, hogy egy régóta fent lévő programom megsértette az adatvédelmi irányelveket, egészen pontosan "a gyermekeket vonzó elemeket tartalmazó alkalmazásoknak meg kell felelniük a családokra vonatkozó összes követelménynek".
??? Huhh... Még a kérdést felfogni is nehéz, mert a program azt tudja, hogy gps-ről megnézi hogy melyik buszmegállóban állok, és írja, hogy oda mikor jön busz.
1. kérdés: tudtok valami sablon szöveget erre, vagy egyáltalán minek kell megfelelnem? Ígérgetni, hogy nincs káromkodás, nincs felnőtteknek való rajzok, nem ölök meg senkit a programban, stb??
2. csak magyar nyelv van beállítva, akkor írhatom ezt a "családpolitikai irányelvet" magyarul is? Ki olvassa el? Magyar?
Igazából fontos lenne a 14 év felettiek elérése, mert leginkább ők buszoznak..
Jöhetne pár tipp, nagyon megköszönném!
Üdv: Domel -
thiclyoon
aktív tag
válasz
bandi0000
#4928
üzenetére
A kártya beállítása után kért egy budget-et tőlem, és ha annak elérem az 50-90-100%-át, akkor minden project owner-nek küld email-t (ezt még nem sikerült kipróbálni, nem vagyok még 50%-nál sem). Ezek alapján ha gáz van, akkor egy gyors leállítás - megjavítás jó lehet ilyen helyzetben, főleg a fejlesztés során nyilván.
Firestore-ban collection-ök vannak (bár igaz, ezek ~ táblák). Az adatbázis - backend rész annyira nem az én műfajom, de igen, természetesen ez is megoldható benne (és ez a jó megoldás szerintem is). A "kapcsolótábla" tartalma (helyessége) viszont tőled függ, ha te rossz id-t írsz bele az userid "oszlopba" az egyik rendelésnél, akkor nem fog szólni neked senki... legalábbis én nem tudok róla, hogy itt lehetne ilyen kényszereket létrehozni.
Alapvetően szerintem nyugodtan gondolhatsz a firestore-ra úgy, mint egy sql adatbázis, max az ilyen dolgokat, mint a kényszerek, neked kell implementálnod (-> firebase functions részben ezt elég jól el tudod intézni). Ez sem egy vészes dolog, sima nodejs-ben megy az egész.
-
bandi0000
nagyúr
válasz
thiclyoon
#4927
üzenetére
Igazàból egyenlőre nem akarok bővíteni, az se biztos, hogy használni fogjàk, csak azt nem akarom, hogyha mégis nagy lesz a kereslet, akkor a tudtomon kívül kiállítanak egy vaskos számlàt :D
Más:
Tudom, hogy NoSql a firestorm is, de mi a legelegánsabb módja annak, hogyha pl lennének felhasználók, és azok pl vàlaszthatnak termékekből, nyilvàn hagyományos tàblàkban gondolkozva több a többhöz kapcsolat lenne köztük nyilván ez 3 táblát jelentene, ezt meg lehetne oldani benne?
-
thiclyoon
aktív tag
válasz
bandi0000
#4926
üzenetére
(Nem biztos, hogy segít, de hátha..)
Én nem olyan régen kezdtem el használni a free tier-en túl az egyik projektben, egész pontosan március az első hónap, ami végig blaze plan-ben fut (február közepén váltottunk fizetősre, februárban még nem értük el a fizetős határt, így március elején nem kellett semmit fizetni). Szerintem amint úgy gondolod, hogy kellene egy fizetős funkció, akkor érdemes upgrade-elni blaze plan-re, ugyanis bár már ekkor meg kell adni egy kártyaszámot, de nem von le semmit. Mi jelenleg a beállított budget alatt vagyunk, de eddig nem jött semmilyen levonás / számla. Ennél többet április elején tudok mondani, de ha belegondolsz, mivel a funkciók úgy vannak megadva, hogy "x $ / second", így nekem ebből az jön le, hogy minden hónap elején jön majd valami, hogy ennyit és ennyit fogyasztottál, ezért ennyit és ennyit levonunk. De ha valakinek több tapasztalata van, ossza meg hogy okosodjunk
-
bandi0000
nagyúr
Valakinek van tapasztalata a Firebase-el, hogy hogyan megy a fizetés? Azt tudom, hogy X gb adatig, és adatforgalomig ingyenes, de ha túllépne akkor rögtön küldik a számlát, vagy tiltják az adott hónapra, vagy mi a menete?
-
Ablakos
addikt
Igen, a fejlesztő környezetre gondoltam. Studió elég szépen alakult az évek alatt.
Feltettem egy git-et a windowsra és így valóban lehozza a repot. (welcome screen git alatt)
-
thiclyoon
aktív tag
válasz
Ablakos
#4922
üzenetére
Nálam a legfrissebb stable verzió van fent (3.6.1, bár emlékeim szerint így működött régebben is), a kezdőképernyőn "Check out project from Version Control" alatt van "git" menüpont, ott ha megadok egy url-t, már csinálja is a dolgát. Amúgy igen, az android studio a default. Ha nem erre gondoltál, akkor nem igazán értem, részletezd kicsit kérlek.

-
Ablakos
addikt
Mit kell beállítani, hogy a welcome képernyőn kiválasztható legyen github VC (publikus repo)?
-
togvau
senior tag
akartam tenni még egy próbát, most az exés studiot választottam. Ez telepítés után android SDK-t kér, amire ugyan azt az oldalt linkeli, ahonnan a studiot letöltöttem, és ahol nincs sdk. ráguglizva ugyan arra visz... baj lesz ebből, ha az indiaiak egyre nagyobb teret nyernek.
-
vlevi
nagyúr
Nnna, valahogy kiszenvedtem, hogy ne legyen szükség HAXM-re.
Sajnos nem írtam fel a lépéseket, de olyasmi, hogy az Android SDK managerben telepítve kell lennie az AMD Hypervisor drivernek. Ez gondolom megvan.
Ezután kézzel telepíteni kell, függetlenül attól, hogy installed-nek mutatja.
Ez úgy történik, hogy a C:\Android\sdk\extras\google\Android_Emulator_Hypervisor_Driver könyvtárban elindítod a silent_install-bat-ot. Én kétszer indítottam el, akkor sikerült.
Azóta nem kötözködik a HAXM miatt. -
togvau
senior tag
válasz
Rickeffe
#4916
üzenetére
ja, van csak ahhoz SSSSSSSSE3 kell, a sima SSE3 nem elég. Mellesleg a hypervisor bekapcsolásától a sleep működése megszűnik a gépemen (sleepelés után felébresztve fekete kép, se hang, reset van csak), anélkül megy.
Ezek az indiaiak mindig új f...ságot mutatnak nekem... elengedtem az android fejlesztéssel ismerkedést. Ezért nem veszek intelt, főleg nem manapság a ryzen helyett... -
togvau
senior tag
Az android studio emulátorához ezt a haxm nevű kötelező izét hogy lehet telepíteni, hogy ne errorozzon telepítésnél?
Amúgy is amd processzorom van, nem tudom minek ide az intel hulladéka. -
Tityahome
aktív tag
Sziasztok!
Remélem jó helyre írok a problémámmal, de ha nem majd jelezzétek.Lenne egy olyan kérdésem, hogy használ e valaki közületek android os-t, pc-n?
Ha igen és az illető ért is a programozáshoz, akkor meg tudná nekem mondani, hogy sikeres prime os telepítés után a bootnál miért lesz sötét a képernyő?
A következő a jelenség:
-telepítés sikeres
-boot elindul
-képernyő sötét, de a képernyővilágítás működik és ráadásul a háttérben a prime os is, mert látszik, hogy a power gombra elhalványul a háttérvilágítás, majd space és vissza kapcsol.Az az igazság, hogy tele van a net hasonló problémákkal viszont én nem nagyon értek hozzá így nem is nagyon találom a megoldást.
Az biztos, hogy ha "nomodeset" parancsal bootolok akkor szépen be tölt képpel együtt az OS.Remélem valaki találkozott már hasonló problémával és meg is tudta oldani!
-
thiclyoon
aktív tag
válasz
hodav1993
#4908
üzenetére
Crossplatformban annyira nem vagyok otthon*, annyit tudok, hogy pl Xamarinban lehet csinálni ilyet (C# nyelv, Visual Studio környezet) - ezt én réges régen elkezdtem, de nagyon nem jött be. Azóta jött pár új dolog, a React az JavaScript-tel tudja ugyanezt, számomra a legújabb versenyző pedig a Flutter - ez Dart-tal megy, mindössze ennyit tudok róla.
Játékokhoz ajánlottnak mondanám a Unity-t és az Unreal-t, mindkettő crossplatform. Előbbit kicsit egyszerűbbnek mondják.
Talán ez átment, de egyelőre nem vagyok a crossplatform híve - inkább a natív appfejlesztés jött be eddig. Ha natívban gondolkozol, akkor azt tudnod kell, hogy iOS appok fejlesztéséhez kell egy mac (bármilyen), esetleg hackintosh. Crossplatform appokkal (amiket feljebb írtam), ez kikerülhető, ez a legnagyobb előnyük (számomra). Ezzel együtt tervezek "crossplatformul" megtanulni, Xamarin + Unity mindenképp

Ha van kérdésed jöhet ide is vagy privátba, ahogy könnyebb
* (Androidra Windows / Mac + Android Studio + Java-t, iOS-re Mac + XCode + Swift-et használok legszívesebben)
-
hodav1993
csendes tag
válasz
thiclyoon
#4907
üzenetére
Szia!
Köszönöm válaszod! Én is elkezdtem az általad javasolt Udemy kurzust, nagyon jól lehet vele haladni és érthető is. Egyelőre erősen barátkozom a témával, minden nap 1-2 órát foglalkozom vele aktívan, igyekszem bővíteni napi 2-3 órára legalább a tanulási időszakot.
JAVA-t is elkezdtem vele együtt (meg persze a kurzus fele java) megtanulni. Későbbiekben gondolkodom a crossplatformra való fejlesztésen is, de egyelőre attól még messze vagyok. Esetleg ha tudnál további irányt mutatni, hogy pár év alatt hogyan juthatok el oda, hogy Androidra és iOs-ra is tudjak fejleszteni, azért nagyon hálás lennék!

Lehetséges, hogy privát üzenetben kereslék még a kérdéseimmel! Szóval előre is nagyon szépen köszönöm a segítséged, nagyon hasznos!
Dávid
-
thiclyoon
aktív tag
válasz
hodav1993
#4906
üzenetére
Szia!
(Amit írok az natív fejlesztésre vonatkozik: android studio, java/kotlin. Ha crossplatform-egyéb megoldásban gondolkodsz (xamarin, react, c#, ...), akkor érdemesebb lehet más tapasztalatát elolvasni.)
Én személy szerint csak oop + "event driven programming", vagyis Java tapasztalat után tudtam megtanulni az androidot, bár régebben nem használtam az udemy-t, lehet, hogy ezzel már menne tapasztalat nelkül is. Tehát udemy-n tanultam meg végül, ezt a kurzust választva. Nem bántam meg, szerintem nagyon jól elmagyarázzák, de hátha mástól is jön 1-2 tipp. Ahogy írtam, nekem volt a kurzus előtt is tapasztalatom több nyelvben is, de a leírás alapján erre nincs szükség. (Mindenesetre ha a "Java Deep Dive" fejezet után se érzed magadat magabiztosnak a java körül, akkor érdemes lehet egy programozós videosorozatot / egyebet keresni.)
Jelenleg egyre inkább nyomatják a Kotlin nyelvet is a Java mellett/helyett - én azonban most is Java-val kezdenék, és utána ismerkednék meg a Kotlinnal (egymást ki tudják egészíteni, nem idegen nyelvek). Eléggé kihalt topiknak tűnik, de ha kérdésed van, igyekszem segíteni
-
hodav1993
csendes tag
[KEZDŐ] [START]
Sziasztok!
A segítségetekre lenne szükségem. Felületesen már barátkozom egy ideje az Androidos alkalmazásfejlesztés világával. Végső elhatározásra jutottam, hogy szeretném elsajátítani a nyelvet és elindulnék a fejlődés rögös útján, viszont nem tudom hol induljak el.
Milyen alapokra van szükségem?
Hol álljak neki a tanulásnak? Weboldal, könyv, udemy tanfolyam, videósorozat, egyéb.
Tudnátok jó oktató anyagokat ajánlani?Segítségeteket előre is köszönöm!
Dávid
-
HI-FI
tag
Üdv! Van itt esetleg olyan aki egyszerű androidos projekt fejlesztését elvállalja?
-
Zsolt_974
tag
Sziasztok!
Nem kimondottan alkalmazással kapcsolatos a kérdés. Adott egy androidos eszköz(TV box) ezt távirányítóval lehet kezelni. Szeretnék illeszteni rá egy külső kapacitív touch screen monitort. Sajnos nem teljesen működik megfelelően. A jelenség távirányítóval a megfelelő ikonra navigálok akkor a touch screennel megtudom nyitni, viszont nem tudok vele pozíciót változtatni.
Remélem jó irányban gondolkozom, hogy a touch screen nincs megfelelően konfigurálva gondolok itt arra, hogy mutató eszköz(gombok, kapcsolók) van beállítva és nem multitouch. Esetleg merre keressem a megoldást, ha van egyáltalán. Nézegettem a "build.prop"fáljt, de nem jutottam sokkal előrébb.
Válaszotokat és segítségeteket előre is köszönöm.
-
Sziasztok!
Multiplayer labdajáték fejlesztését tervezgetem, ami eléggé kényes arra, hogy minden szinkronban történjen.
A jelenlegi legfontosabb kérdés, hogy milyen módszerek vannak a késleltetés leküzdésére, és mi az, ami megvalósítható jelenleg.
Erről van valakinek tapasztalata esetleg tudtok megbízható cikkeket?Kössz!
-
bandi0000
nagyúr
válasz
szebenyid
#4900
üzenetére
Ez rajtad áll, a példában, ahol létrehozza az emlékeztetőt, azt kidobot egy függvénybe, és onnantól kezdve annyit mentessz el belőle ahányat akarsz
Maga a beállítás ennyi:
A requestCode-nak egy egydi azonosítónak kell lennie, én pl Id-t adtam át, azért adtam hozzá még 1000-et, hogy biztos ne legyen azonos, bár már nem emlékszek pontosan rá
Mindenesetre ha törölni vagy módosítani akarod a már elmentettet, akkor kell az az azonosítóEz csak a beállításé, nyilván kell még létrehozni egy osztályt ami örököl a BroadcastReceiver-től, itt lehet "megmondani" hogy milyen értesítés legyen, feldobjon e egy felületet stb stb
Tehát át kell nézned a linkelt tutorialt, az alapján ha létre tudsz hozni egyet, akkor gyakorlatilag már többet is
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("requestCode", requestCode); // kulcs-érték pár, így tudsz átadni neki értéket
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,safeLongToInt(requestCode)+1000,intent,0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),pendingIntent);
Új hozzászólás Aktív témák
- Windows 10
- PlayStation 5
- Anglia - élmények, tapasztalatok
- Melyik tápegységet vegyem?
- LEGO klub
- Kecskemét és környéke adok-veszek-beszélgetek
- Hogwarts Legacy teszt
- Xbox Series X|S
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- További aktív témák...
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- Samsung Galaxy S23+ / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- Bomba ár! Lenovo ThinkPad X13 G1- i5-10310U I 16GB I 256SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Xiaomi Redmi Note 14 Pro+ 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Én talán ilyesmivel indulnék neki:
én szeretem uptodate tartani azt is, meg a függőségeket is. Igaz, hogy egy-egy főverzió el tudja rontani a már kész alkalmazást (ilyenkor maradok a régebbi, jól működő verziónál), de általában vannak javítások, fejlesztések, amik miatt megéri. Azt nem tudom, hogy a gradle vagy az android studio miatt, de a build egy ideje egyre gyorsabb - már csak emiatt is megérheti újabbat használni / kipróbálni.
) Van amikor ilyen régit kell használni?


)


