Új hozzászólás Aktív témák
-
plüssgrizzly
csendes tag
válasz
Ablakos
#5197
üzenetére
Az újabb .apk fájlnak magasabb verziószámúnak kell lennie, és azonos kulccsal kell, hogy aláírd. A két alkalmazás sharedUserId-jának is egyeznie kell, illetve ha van másik alkalmazás telepítve ezzel a sharedUserId-val, de másik kulccsal aláírva, akkor sem fog települni a program.
-
-
lanszelot
addikt
válasz
Ablakos
#5071
üzenetére
Hello,
Szerintem jól haladok a tanulással, és a régi programomat, amit ti segítettetek elkészíteni 4 éve, már 90% -ban magam is el tudom készíteni.A régi programot újra szeretném írni, kicsit felfrissíteni pár dolgot benne. /majd/
Ebben az irányba szeretnék menni a tanulással, hogy legyen pozitív élményem.Az lenne a kérdésem, hogy a régi program /bekér adatokat, és ennyi, ki nem olvassa/
adatait hogyan tudom átvinni az újba.
Pl ha nem teljesen új programot írok, hanem azt frissítem /nem tudom mi történik az adatokkal, illetve hogy frissítem/ Csak a pc-en létezik AS formátumban és apk formátumban, nincs sehol megosztva /kutyának se kellene
/Tudom, hogy ez már adat kezelés, de ez a szó amit tudok róla.
Illetve szeretném, ha ki is tudnám majd olvasni azokat az adatokat, nem csak elmenteni.
Mert most egy root-olt telefonon van, hogy egy másik alkalmazással ki tudjam olvasni a bevitt adatokat.Jó lenne, ha majd sima telefonon is tudnám futtatni, és az adatokat saját maga vissza tudná olvasni, pláne, ha valahogy a régi adatokat is át tudnám rakni, nem újra bepötyögéssel.
Tehát mi után nézzek /pontosan, mert azt tudom, hogy adatkezelés, de ehhez kotlin kell, vagy másik nyelv...vagy/ hogy keressek rá eme jellegű dolgokra.
/program frissítés, adatkezelés/ -
thiclyoon
aktív tag
válasz
Ablakos
#5039
üzenetére
[java vs kotlin] már csak emiatt is a kotlint pártolom, akár kezdő, akár haladó (szerintem többet ér megtanulni egy új, modern, fejlődő nyelvet, mint a kényelmesség miatt a java-nál maradni). Nekem elég lett volna csak a null-safety, szerintem már ez is hatalmas előny. A google már bő egy éve is azt kommunikálta amúgy, hogy ha új projektet kezd valaki, kotlinban kellene tegye.
Mivel a kotlin és a java egymással is tud kommunikálni, így ahol a java fut, ott kotlin is tud ([ref]), így én nem látom, miért lenne használható a java több helyen, de meggyőzhető vagyok, ha van erre valamilyen megalapozott állítás

-
thiclyoon
aktív tag
válasz
Ablakos
#5017
üzenetére
Főként a Sketch-t javaslom kipróbálni (fizetős, trial van, csak Mac, de nagyon jó), esetleg Adobe XD-t (ingyenes, Win / Mac-re tuti van, ez nem annyira profi). Vannak, akik a JustInMind-ot használják, én ezt valahogy nagyon nem szerettem meg. A Balsamiq-t nem használtam még, nem tűnik rossznak így elsőre.
-
thiclyoon
aktív tag
válasz
Ablakos
#5010
üzenetére
Igazából a JetPack az csak egy official gyűjtemény, hogy milyen komponenseket érdemes használni. Szóval nem csak kotlinnal megy, de pl. az android ktx-nek szerintem nem sok értelme van java-ban. Amúgy a java és kotlin oda-vissza hívható, tehát hogy egy külső könyvtár (pl. a room, amit a jetpack perzisztenciára ajánl) miben van írva, nem számít.
-
thiclyoon
aktív tag
válasz
Ablakos
#5006
üzenetére
.xml-ben számít, hogy mit mi után hozol létre, és ha így hagyod, ahogy írtad, akkor a WebView előrébb lesz, mint a ProgressBar.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tvText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WebView!"
android:textSize="30sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvText">
</WebView>
<ProgressBar
android:id="@+id/prgBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvText" />
</androidx.constraintlayout.widget.ConstraintLayout> -
bandi0000
nagyúr
-
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
-
-
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) -
thiclyoon
aktív tag
-
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

-
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. -
thiclyoon
aktív tag
válasz
Ablakos
#4953
üzenetére
A setStyle()-lal próbáltad átállítani
STYLE_NORMAL-ra? -
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.
-
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).
-
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
-
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
válasz
Ablakos
#4584
üzenetére
Hátha másnak is előfordul...
A végtelen gradle-s szerencsére nem a studio hibája lehet. A processExplorerben látszik, hogy a fordítás/gradle miatt elindul egy java szál. Amikor véget nemérő lesz ez a folyamat a java szál suspended állapotba kerül. Innen csak a kézi resume tudja visszabillenteni. Ilyenkor folytatódik, települ, fut stb. az apk.(Lehet, hogy a windows 10 insiderben matatnak valamit.)
-
rgeorge
addikt
válasz
Ablakos
#1710
üzenetére
A getText() CharSequence-vel tér vissza, ennek leszármazottja a String. Ha pl. éppen String-et ad vissza, mert pl. a setText-et String paraméterrel hívták meg, akkor a második megoldás is helyes, cast-olható String-gé a getText(). Más CharSequence (Spanned stb.) már nem cast-olható String-gé.
Az első megoldás mindig helyes, a toString() mindig String-et ad vissza.
Mondjuk van putCharSequence is, az talán még jobb lenne:
outState.putCharSequence("TEXT",simpleText.getText()); -
thon73
tag
...emellett mindkettőben érdemes egy pillantást vetni a Projet/Clean... és Project/Build Autamitcally pontokra. Nekem volt olyan (sztem. bug), hogy az erőforrások megváltoztatása után nem fordított újra automatically, és az R. file elemei még korábbi értékekre mutattak. A biztos, ha törlöd pl. a gen mappát, és utána újrafordíttatod (pl. clean). Ilyenkor ugyanis legyártja újból, és az biztos jó lesz.
-
Sianis
addikt
Használok. 11 előtt is vannak, a Support Library használata miatt. Nem lehet dobni a 11 előtti verziók támogatását csak amiatt, mert nincs Fragment.

Sianis
-
Sianis
addikt
Én amíg nem szükséges valami oknál fogva a 4.0 feletti API tesztelése, mindig 2.2 vagy 2.3-as emulátorokkal tesztelek. Jellemzően 480x320-as felbontással. Első indulása ennek sem gyors, viszont utána ezek a leggyorsabban működő emulátorok. Tapasztalataim szerint, ha 4.0 kell, akkor érdemes inkább telefont venni, megtérül az egész ott, hogy pillanatok alatt települ, indul az eszközön az alkalmazás. Oké, ez utóbbi inkább vállalati környezetben elképzelhető.
Sianis
-
-
fatal`
titán
Nálam működik. Vagy mit értesz tagen belül alatt? Paraméter helyén nem működik azt hiszem.
De ilyesmi nálam pl. gond nélkül működik:
<resources>
<!-- Version 1.0 -->
<string name="app_name">xy</string>
<!-- Version 1.1 -->
<string name="masik_tag">valami</string>
</resources>
Új hozzászólás Aktív témák
- Prémium High-End Házimozi Szett Sony QS, Wharfedale Evo és Tannoy összeállítás
- ADATA Legend 860 2TB Gen4 X4 2280 M2 NVMe SSD / Beszámítás OK!
- Dell Pro 14 Premium PA14250 14" 3K OLED érintő Ultra 7 268V 32GB 512GB ujjolv gar
- 4 db Be Quiet Dark Power Pro 11 1000W 80 Plus Platium tápegység eladó!
- Sigma 60-600mm f/4.5-6.3 DG OS HSM Sports objektív ( Canon ) - Újszerű -
- HIBÁTLAN iPhone 11 64GB White-1 ÉV GARANCIA - Kártyafüggetlen, MS4389, 100% Akksi
- MacBook, Apple M1 / M2 kompatibilis dokkolók, DisplayLink 4K, USB-C, Type-C
- 154 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Wacom Bamboo One CTF-430 rajztábla
- Gamer PC-Számítógép! Csere-Beszámítás! I3 14100F / RTX 3070 8GB / 16GB DDR4 / 512 Nvme SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Kasztolva is.

/

é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.
)
vagy én rontottam el valamit
