- iPhone topik
- Megjelent a Poco F7, eurós ára is van már
- Okosóra és okoskiegészítő topik
- Google Pixel topik
- Milyen mobilnetet vegyek?
- Nem fogy a Galaxy S25 Edge?
- A Samsung bemutatta az Exynos 2500-at
- Huawei Watch GT 4 - kerek karék
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Xiaomi 14 - párátlanul jó lehetne
Ú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
őstag
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
Hirdetés
- Easun iSolar SMW 11kW Twin Hibrid inverter // Dupla MPPT // BMS // WiFi
- GAMER PC : RYZEN 7 5700G/// 32 GB DDR4 /// RX 6700 XT 12 GB /// 512 GB NVME
- GAMER MSI LAPTOP : 15,6" 144 HZ /// i5 12450H /// 16GB DDR4/// RTX 4050 6GB/// 1TB NVME
- Manfrotto 055 magnézium fotó-videófej Q5 gyorskioldóval
- Sony ECM-W2BT
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5800X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Új Apple iPhone 16e 128GB, Kártyafüggetlen, 3 Év Garanciával
- Apple iPhone 13 . 128GB , Kártyafüggetlen , 100% akku
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
- AKCIÓ! ASUS MAXIMUS VIII HERO Z170 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest