- Biztonsági aggályok miatt késik a Microsoft hatalmas AI-újítása
- Kíváncsi az EU, milyen online védelmet adnak a pornóplatformok a kiskorúaknak
- Panaszt tettek a Google ellen, mert követi a felhasználókat a böngészője
- Rengeteg áram kell az adatközpontoknak, erre válasz a geotermikus energia
- Az AI megmondja, hogy van-e fájdalma a macskának
Új hozzászólás Aktív témák
-
domel
tag
válasz [KgP].Robot #4273 üzenetére
én nem chat programot írok de van recyclerview a programban, és kiváncsiságból beraktam egy edittext-et a reciclerview alá, és nálam nem veszti el a fókuszt, olyannyira nem, hogy még görgethetem is a cardview-et, sőt a cardview-en a button gombot is lenyomhatom, akkor is villog tovább a kurzor, ha gépelek akkor természetesen meg is jelennek a betűk.
-
domel
tag
válasz [KgP].Robot #4282 üzenetére
Robot miféle chat-et csinálsz? Mármint mi a chat motorja? Google Cloud Message, vagy Pusher, Azure, vagy saját magad bütykölöd a szerver oldali részt is (PHP)?
-
domel
tag
válasz [KgP].Robot #4284 üzenetére
Abban bíztam, hogy van működőképes Google Cloud Message vagy Pusher chat-ed, mert nekem ezek a mai napig nam jöttek össze, A Pusher az ilyen websocket szolgáltatás, de valami thermo hibával elszáll, pedig az lenne az igazi, egy olyan chat mint pl a facebook chat, hogy nem kéne másodpercenként lekérdezgetni a szervert, hanem csak akkor jön adat, ha valaki üzent
-
domel
tag
Sziasztok! Van valakinek Nougat-os telefonja??? Szeretném ha kipróbálná valaki:
[https://play.google.com/store/apps/details?id=hun.domel.zaxxon]
Egy kocka fog forogni felül, alul a felhasználó piros lesz, és azt írja ki, hogy felhasználó elutasítva (akit érdekel hogy Sopronban mikor jön a busz online azt beregisztrálom, de sok értelme nincs, mert a buszmegállóban kell állni amit a GPS figyel)
Egy ismerősöm van Nougat-os, ő azt állítja, hogy a kocka forog, és alul nem ír ki semmit (vagyis ami eredetileg volt a TextView android:text= -ben)
Nekem emulátoron működik, a hiba akkor jön elő, ha az elején a GPS kérelmet nem engedélyezem, de az ismerős állítja hogy ő engedélyezte.
Nálatok mi a helyzet?Előre is hálás köszönet a segítőnek!!
Üdv: Domel
-
domel
tag
Helló mindenki!
Van egy applikációm, befordítva 4,1 mega (APK), a forráskód 91 mega és 4037 fájlból áll.
Android Studió elindítása először és a fenti program betöltése: 145 másodperc
Android Studió elindítása másodszor(tól) és a fenti program betöltése: 95 másodperc
Program befordítása első alkalommal: 31 másodperc
Program befordítása második alkalomtól: 13-15 másodperc
Nougat emulátor elindítása: 60 másodperc
Program befordítása ha emulátorra megy: 9 másodpercAzt szeretném kérdezni, hogy SSD-vel mennyivel lenne gyorsabb?
Üdv: Domel
-
domel
tag
Helló. Azt tudja valaki, hogy hogyan lehet SD kártyára menteni mondjuk egy képet? Bármilyen módszerrel próbálom, mindig csak emulated sd kártyára ír a belső tárhelyen,
mFile = new File(getActivity().getExternalFilesDir(null), "ez.jpg"); //vagy
mFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString(),"az.jpg");
vicc az egészben, hogy még permission-t is kér külső tárhelyre, és ha a manifestben az android:installLocation -t külső tárhelyre állítom, még akkor is emulált belső tárhelyre ment(Lollipop)
Köcce!
-Domel -
domel
tag
Helló! Google Maps API-ról lesz szó:
Van egy program, ami végig navigál egy előzőleg bejárt útvonalon, mindezt egy google map térképen teszi. A probléma ott kezdődött, hogy menet közben nem frissültek a térkép csempéi, mintha nem lett volna internet:Mivel a probléma csak vezetés közben jött elő, ezért napokba tellett mire rájöttem, hogy az animateCamera okozza a gubancot, mert mint kiderült, amíg animálva ráállt az adott koordinátára, addig nem frissült a térkép, és mivel a GPS jelek meg jönnek másodpercenként és az animálás is kb ennyi ideig tartott, ezért egy pillanatra sem töltöttek a térkép-csempék, és elmosódott térképen haladtam.
A megoldás, hogy lehet figyelni, hogy mikor fejeződött be az animáció, és ameddig ez tart, addig nem szabad újra az animateCamera-t futtatni. Valahogy így:if (kameramozog==0) {
kameramozog=1;
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(camPos), new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
kameramozog= 0; //akkor fut le ha véget ért az animáció
}
@Override
public void onCancel() {
kameramozog=0; //akkor fut le, ha az animációba belenyúltak, vagy új animateCamera indul
}
});
}ezt csak azért írtam, hogy ha valaki belefut ebbe a problémába, akkor talán eszébe jut hogy valaki már megszenvedte ugyanezt, és kész a megoldás.
Üdv: Domel
-
domel
tag
Hi! Egy kényelmi funkciót fedeztem fel, remélem lesz akinek ez még új:
úúú -enter, és az editor egy korábban megírt kódot szúr be a helyére
-
domel
tag
Ezt valaki ki tudná próbálni? A kód elvileg kiírja, hogy hány miliamperrel tölt a telefon... akinél működik, az írja meg lécci, hogy mi a telefon márkája. Köcce!
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
this.registerReceiver(this.batteryinfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
private BroadcastReceiver batteryinfoReceiver = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent){
long currentInstantMicroAmperes = 0;
long currentAvgMicroAmperes = 0;
BatteryManager batteryManager = (BatteryManager) context.getSystemService(context.BATTERY_SERVICE);
currentInstantMicroAmperes = getSpecialValue(batteryManager, BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
currentAvgMicroAmperes = getSpecialValue(batteryManager, BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);
textView.setText("ZZ2: = "+ currentInstantMicroAmperes + " mAh"+"\n"+
"ZZ1: = " + currentAvgMicroAmperes + " mAh");
}
};
private int getSpecialValue(BatteryManager batteryManager, int key) {
int value = batteryManager.getIntProperty(key);
return value;
}
} -
domel
tag
Helló!
Próbálok beszúrni egy képet egy Charger Tester nevü programról
(program a Play áruházban), és ennek a programnak van egy olyan tudománya, hogy képes megnyitni egy kis ablakot ami bármilyen megnyitott program fölött van, egy úgynevezett úszó ablakot (floating window). Én próbálok rájönni hogy ez mi, az összes példa OREO-ra készült, mert állítólag ott került bevezetésre, viszont nekem Marshmallow-om van. Widget elvileg nem lehet, mert az a menüben lévő változtatható indító-ikont jelent, és bármilyen megnyíló app eltakarja.Van valakinek ötlete?
Üdv: Domel
-
domel
tag
Helló! Továbbra is próbálkozok ezzel a mindenek feletti ablakkal, de van egy olyan érzésem, hogy megint a huawei szivat. Valaki lécci próbálja ki a lenti kódot nekem, a program azt vizsgálja, hogy a SYSTEM_ALERT_WINDOW engedélyt megkapom-e
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, 5469);
}
}
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{
"android.permission.SYSTEM_ALERT_WINDOW"
},
1);
}
}
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 1:
boolean engedelyek = true;
int rekLength = grantResults.length;
if (rekLength > 0) {
for (int rekI = 0; rekI < rekLength; rekI++)
if (grantResults[rekI] != PackageManager.PERMISSION_GRANTED) {
Log.i("TTAG", "permission:" + permissions[rekI] + " Elutasítva!");
engedelyek = false;
}
if (engedelyek==true)Toast.makeText(getApplicationContext(),"engedély megadva",Toast.LENGTH_SHORT).show();
if (engedelyek==false)Toast.makeText(getApplicationContext(),"engedély elutasítva",Toast.LENGTH_SHORT).show();
}
break;
}
}
}manifest-be
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
A program indításakor a beállításokba ugrik: Settings->Alkalmazások->Speciális->Megjelenítés más alkalmazás felett->programod neve->[bekapcsológomb]
ott bekapcsolod az igen kapcsolót, majd kilépve onnan felugrik egy TOAST, hogy engedélyezve, vagy elutasítva. Erre az üzenetre lennék kiváncsi, na meg arra, hogy mi a telefonotok oprendszere (min.Marshmallow, lehetőleg kisebb mint Oreo, de az sem baj, ha valaki megnézi, hogy Oreo alatt megkapom-e az engedélyt)Hálás köszönet: Domel
-
domel
tag
Na végre összejött az ablak, ami bármilyen applikáció felett fut.
deklarációban:private WindowManager wm;
onCreate:
wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
addImageView(8);és
private void addImageView(Integer i) {
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.START;
params.x=i;
params.y=i;
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = inflater.inflate(R.layout.rere, null); //RelativeLayout
wm.addView(popupView, params);
TextView titi= popupView.findViewById(R.id.zizi);
titi.setText("szöveg átír");
}rere.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="left"
android:id="@+id/o2element1"
android:padding="0dp"
android:background="#4F77A0"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="próba 1"
android:id="@+id/zizi"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="próba 2"
android:id="@+id/zizi2"
/>
</LinearLayout>Ahhoz hogy működjön, két dolog kell (másfél dolog)
1. engedélyezni kell az app-nak, hogy más appok felett lehessen: settings>alkalmazások>speciális>megjelenés más alkalmazások felett>programunk>kapcsoló bekapcsol
Akár programból is odarepíthetjük a felhasználót a beállítások menübe, mert az engedélyt neki kell megadni, de olvastam valamit, hogy a play-ről telepítve valamilyen feltételnek megfelelve ez akár ki is kerülhető
2. ha Oreo vagy magasabb az oprendszer, akkor külön engedély kell neki:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>Most hogy már ezt is tudom, fogalmam nincs mire fogom használni
-
domel
tag
válasz Arcanus #4758 üzenetére
Kipróbáltam azt a WorkManagert (ha a Schedule-ra gondoltál) és nem értem mitől jobb mint az AlarmManager. Ugyanolyan pontatlan mint az AlarmManager, íme a Log (egy perces intervallumot állítottam be):
12-15 22:15:12.185 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:17:34.091 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:18:36.993 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:18:42.146 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:20:39.121 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:21:40.175 22365-22365/com.example.user.cince I/TTAG: onstartjob
12-15 22:22:14.741 22365-22365/com.example.user.cince I/TTAG: onstartjobMint látjátok van ahol kimarad két perc, utána meg hat másodperc múlva újra meghívódik, aztán kimarad újabb 2 perc.
-
domel
tag
válasz speedbump #4765 üzenetére
A Service túl tudja túlélni egy program kilövését (még akkor is, ha a taskmenüből lövöd ki), ehhez előtérbe kell helyezni a Service-t illetve az időzítésnek is egy előtér-flag-et kell adni, hogy leválaszd az őt létrehozó osztályt. A fenti módszerhez én AlarmManager-t használok időzítésnek, és nagy kérdés hogy működik-e a dolog JobSchedule-al. Szerintem rajtad kívül itt senki nem foglalkozik JobSchedule-al, mert bár biztos az a jövő, amíg bele nem kényszerítenek addig jó nekünk az AlarmManager is.
Ha gondolod, összedobok valami gagyi activity-service demonstráló kódot ami túléli a kilövést is, de abból lehet hogy csak holnap lesz valami
-domel
-
domel
tag
válasz speedbump #4770 üzenetére
Innen letöltheted [link]
Kicsomagolod a zip-et, majd betöltöd. Valószínűleg kell az android stúdióban a
Build->Clean Project
vagy
Build->Rebuild Project
hogy beforduljon, mert az nélkül olyan mappákban fog keresgélni, ami csak az én gépemen létezik. A program másodpercenként növel egy számot, de az a valóságban 5 másodperc lesz, mert a Marshmalow óta korlátozták az AlarmManager túl sűrű használatát. Ez a program akkor is működni fog, ha kilövöd a programot, kivéve ha Huawei a telefonod, mert annak van egy "Védett alkalmazások" menüje, ott kell bejelölni az app-ot, ha azt szeretnénk hogy a task menüből is kilőve tovább működjön a Service -
domel
tag
válasz speedbump #4772 üzenetére
Ok, tedd fel zip-ben valahova, kiváncsi vagyok én is rá. A xiaomi-nál nincs valami védett alkalmazások mappa a beállítások menüben? Androidban az a rossz, hogy egy verzióváltás után hetekig hibákat keresek. Eddig a legdurvább a Lollipop-Marshmallow átállás volt...
-domel
-
domel
tag
válasz speedbump #4775 üzenetére
Néztem a programodat, ha kilövöm a task menüből, akkor nem működik tovább. Ha újra indítom a telefont, akkor nem indul újra sem. Szerintem rossz irányba mész el ezzel a BroadcastReceiver Manifest-be regisztrált különosztállyal, inkább azt keresd meg, hogy amit én küldtem kódot, az miért áll le a program kilövésekor
Nézd meg ezt:
[xiaomi beállítások]Én még olyan programot nem láttam a háttérben működni ami nem Service, és a task menüben sem látszik. Ha a Facebook Messenger-t kilövöd, az sem működik tovább?
-
domel
tag
Helló!
Van valakinek új Nokia (androidos) telefonja? Igaz, hogy egy idő után kilövöldözi a Service alkalmazásokat, függetlenül attól, hogy valami "white-list" akármiben be van jelölve az applikáció, hogy a háttérben is futhat? Nokiát szeretnék venni, de nem szeretném ha megszívnám vele, mert én pont ilyen alkalmazásokat fejlesztek és használok (ébresztőóra, sport-tracker, stb)Üdv: Domel
-
domel
tag
Ez itt egy programozói oldal. Úgy gondoltuk, hogy ha akarsz valamit, mi segítünk, és TE létrehozod. Amúgy szerintem olyant nem lehet jelenleg csinálni Androidban mint a Windows tálca, hogy lecsíp egy darabot a képernyőből, és ami alá megy, az olyan mintha kívül esne a képernyőn ( a Windows-ban viszont lehet, emlékszik még valaki az ICQ-ra? Az egy chat volt a képernyő jobb oldalán, és átméretezte a képernyőt, a teljes méretű ablakok sem takarták el). Néztem a "tálca" nevű appot itt androidon, az is hogy jól nézzen ki és használható is legyen, a "tálca" alá nem szabad indítóikont rakni. Amúgy neked miért nem felel meg az a program (ha már nem akarod megírni magad a programot)???
-
domel
tag
Helló. Átálltam Oreo-ra, féltem tőle mint a tűztől, nem alaptalanul..., de szerintem a Lollipop-Marshmallow átállás durvább volt. Az én specialitásom a háttéralkalmazások, az akkor is működő programok, ha látszólag mindenből kilép a júzer. Márpedig az Oreóban pont itt történtek a legnagyobb változások, usert és programozót agresszíven próbálják terelni az energiatakarékos alkalmazások irányába. Van ez a doze mode, ami eddig is volt, de most sokkal durvábban, a telefon kikapcsolás után négy perccel bealszik, és megáll minden élet. Napokba tellett kiderítenem, hogy mikor bealszik a telefon és megállt az internetrádió, hogy azt miért tette annak ellenére, hogy a processzort nem hagytam aludni (wifit és mobilnetet is lekapcsolja, meg gps-t és gyakorlatilag minden hardwert) és hogy ezt hogyan lehet megkerülni. Itt a megoldás az előtér-szolgáltatás volt (foregroundService), ha tudja valaki hogy egy sima activity esetében hogy lehet az alvó telefonon a wifi-mobilnetet bekapcsolva hagyni, az ne tartsa magában. A másik érdekesség a Notifikációs sáv használata
Intent notificationIntent = new Intent(this,MainActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this,1,notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT);
Notification notification= new NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("XixiRádió")
//.setContentText("vattafaki")
.setSmallIcon(R.drawable.ic_radio)
.setContentIntent(pendingIntent)
.build();
startForeground(1,notification);
a fenti kód nem jelenít meg ikont az értesítési sávban, hanem helyette egy system ikon jelenik meg, ami azt jelzi, hogy többek között van egy program(unk) ami energiát fogyaszt a háttérben. Itt a megoldás az, hogy Oreo alatt applikációs szinten (Manifest <application -is be kell regisztrálni egy osztályt, amiben létrehozunk egy NotificationChannelt, majd annak az ID-jére hivatkozunk az Activity vagy Service-ben létrehozott Notifikációs ikon, vagy indítóikonok esetében. Amúgy az oreo valóban keveset fogyaszt mikor ki van kapcsolva a telefon, este feltöltöm, reggel mikor ébreszt, még mindig 100%-on van a telefon. Egyenlőre ennyi volt az észrevételem öt nap alatt az Oreo-val kapcsolatban-domel
-
domel
tag
Helló! Írtam egy intrót, felrakom ide a forráskódot, akinek pont egy ilyen kell "a program készítője" oldalra, az használja fel nyugodtan. [download zip]
Ahhoz képest hogy régen egy demoscene csapat tagja voltam, másfél napig tartott megírni, abból egy napig hibát kerestem. Aki letölti az fordítás előtt nyomjon egy Rebuild Project-etDomel
-
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 -
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);
}
};
} -
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 -
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 -
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 -
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 -
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? -
domel
tag
Helló! Hogyan lehet megállapítani egy View-ről, hogy az Button vagy TextView?
String buttonID = "gomb1";
int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
View v= findViewById(resID);
if (v instanceof Button)Log.i("TTAG","button");
if (v instanceof TextView)Log.i("TTAG","textview");
Ha a String-be beírom hogy "gomb1" ami Button, akkor azt Button-nak és TextView-nek is látja, de ha a String "osszeg1" ami TextView akkor azt csak TextView-nek látja.
Köcce! -Domel -
domel
tag
válasz lanszelot #5047 üzenetére
Lanszelot te most ki is vagy? Totál kezdő? Ismersz még bármilyen programnyelvet? C64 az mikor volt? Mert onnan ismerős egy lanszelot.. Az android tanulás az egy csomó zsákutca, kezdve a youtube videókkal, ahol lesheted 40 percen keresztül valakinek a szerencsétlenkedését (mellégépelés, indiai akcentusú angol, mellégépel egy teljes sort, amit te észreveszel, ő nem, majd kepeszt (gépel egy ujjal) és visszatörli), github az megint egy zsákutca, onnan letölthetsz kész projektet, csak a valóságban soha nem tudod betölteni az android stúdióba (pilóta vizsga kell hozzá), és persze vannak a forráskódok amik már rég elavultak..
Amit én tudok neked javasolni, hogy szerezz kész programot amit betölthetsz az android stúdióba, és belezd szét, mert abból lehet tanulni a leghatékonyabban. Mikor létrehozol egy új projektet, soha ne a legújabb api szintet állítsd be, mert arra még kevés példát találsz, és kevés a készülék is, amin fut. Ha android 10-ed van, akkor android 8 legyen az alja, max android 6, mert onnantól változott meg lényegesen a programnyelv, (Lollipop (android 5) azt már felejtsd el). A stack overflow az a legprofibb oldal programozóknak, ott zsenik vannak, ott mindig mindenre tudják a választ, viszont mindig nézd meg a bejegyzések/válaszok dátumát, mert egy 2016-os hozzászólással már lehet hogy semmire sem mész. Ha budapesti vagy, akkor tied a világ, beiratkozol egy iskolába, és mindent megmutatnak. Régen az internet előtt még voltak ilyen programozói party-k, egy kultúrházban vagy kibérelt iskolában összejött párszáz ember, de mára ilyen nincs, az ember magára maradt. Az SDK letöltögetésével én nem szoktam foglalkozni, ha valami hiányzik neki, úgyis feldob egy ablakot, hogy letöltse-e. Ha kell valami egyszerűbb program, szólj, adok és belezd. Én mondjuk nagyon elmentem a navigáció és térképészet irányába, de ha gondolod adok egy gagyi internetrádiós ébresztőórát, de ha téged adatbázisok érdekelnek, biztos olyant is tud adni valaki -
domel
tag
válasz z123456z #5052 üzenetére
A kérdésed elég tárt fogalom, de így látatlanban:
<?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">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.13543092" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.66909975" />
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button"
android:layout_marginEnd="20dp"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> -
domel
tag
válasz z123456z #5058 üzenetére
Ezt nem is én csináltam, hanem legenerálta a fordító. Én a Layout editorban raktam le két GuideLine-t, egy vízszinteset, egy függőlegeset, plusz EditText plusz Button, és hozzá igazítottam a GuideLine-hoz, kb fél perc alatt. Ha te a fenti kódot bemásolod a saját Layout xml részbe, akkor nálad is működik.
-
domel
tag
válasz bandi0000 #5057 üzenetére
Ránéztem arra a videóra.. Totál kezdőknek szánt videóban myFunction-nek nevez el a fószer egy függvényt, aztán csodálkozunk ha a célközönség azon agyal, hogy "mit csinál az a myFunction". Lanszelot gyerek nekiállt kotlinban programozni tanulni ami nagyon dicséretes, csak ember nem lesz aki segítsen neki.
-
domel
tag
válasz lanszelot #5095 üzenetére
Nem fogadod meg senkinek a tanácsát. Az én tanácsom az volt, hogy tölts le kész működőképes programokat, és belezd szét. Totál kezdőként ne osztályokat meg eljárásokat hozz létre, hanem írd át egy működő program forráskódját úgy, hogy másképp működjön. Ebből fogsz tanulni. Én négy éve azt se tudtam, hogy egy android program hol indul el, két év múlva olyan sport trackert írtam futáshoz, hogy a Runtastic pontosságával vetekedett. És igen, itt lassan megy minden. Három hónapba telt mire rájöttem, hogyan lehet olyan háttérben futó alkalmazást csinálni, aminek még az sem számít, ha kilövöm az applikációt a task menüből. Szerintem jó programozó csak abból lesz, akinek a hobbija is a programozás. Az androidnak is annyi területe van, hogy nagy valószínűséggel senki nem fog neked segíteni, hiába van itt 10-15 profi, ők másban profik
-
domel
tag
válasz lanszelot #5104 üzenetére
Egy hónapja tetted fel az első kérdésed és nem értesz semmit. Mi évekkel ezelőtt kezdtük, és értünk hozzá "valamennyire". Tehát arányaiban ott tartasz mint mi, ha lebontjuk időarányosan. Napi hat óra programozgatással két év múlva már fogsz írni egy normálisabb programot. Ez rengeteg idő. Hiányzik ez neked?
-
domel
tag
Helló! Ti be-ki tudjátok kapcsolni a Bluetooth-t programból anélkül, hogy megerősítő dialog ablakot dobna fel az Android?
Az a gyanúm, hogy ez csak a Huawei hülyesége, mert már volt hasonlóra példa. Feltettem a fenti program forráskódját ide, légyszi akinek van rá ideje nézze meg egy NEM Huawei telefonnal, elsősorban Android Pie vagy magasabb oprendszer viselkedése érdekel. Minden segítséget köszönök!
-domel -
domel
tag
válasz Oldman2 #5107 üzenetére
Én személy szerint örülök is neki, hogy kiiktatták a Huawei-t, mert van még pár hülyesége neki: például az SD kártya, abból csinál egy virtuálisat belső tárhelyre, és akármit csinálok, csak azt érem el, a valódi SD kártyát meg ő a saját kamera szoftverével. Előző telefonomon nem engedte az akkumulátor fogyasztást lekérdezni (hogy mennyi milliwattal merül), de a háttérben futó Service-t (ami activity nélkül fut) is kilövi egy idő után, kivéve ha a felhasználó a beállításokban külön megengedi ezt a programnak, de vannak a "baráti" appok, amiknek meg simán megengedi (messenger, runtastic,stb.) Csak a Huawei telefonoknál nem lehet kikapcsolni a telefon feloldását, ha van olyan ember mint én, hogy idegesíti az egész, és a bekapcsoló gombbal egyszerre a főmenüben akar lenni, mert nincs semmi ellopni való a telefonon, akkor azt nem tehetem meg, mert ha mindent kikapcsolok (ujjlenyomat, pin) akkor is ott a zárképernyő amin végig kell húzni az ujjamat.És minden még eszembe sem jutott..
-
domel
tag
válasz bandi0000 #5109 üzenetére
Csak pirossal aláhúzza, vagy hibával meg is áll a fordítás?
Én pont tegnap szívtam egy olyannal, hogy ezt: implementation 'com.android.support:appcompat-v7:28.0.0' nem fogadta el, mindenféle hamis hibákat írt, aztán mikor ezt: implementation 'com.android.support:support-v4:28.0.0' alá tettem, akkor meg hirtelen minden jó lett. A diffutilt nem ismerem, nem merek így okoskodni.
Tegnap frissítettem valamimet a play áruházban, és ott láttam, hogy augusztustól az új appok 29-es api szinten kell hogy működjenek, novembertől meg a frissítéseknek is 29-es api szintre kell hozniuk az applikációkat. Eléggé meglepett, hogy ennyire belepofáznak. Emulátoron kell fordítanom, mert ennyire új telefonom nincs is -
domel
tag
Én kettőt tudnák megemlíteni. Az egyik az aláíró kulcs, én 2016-ban az első app felrakásakor frankón el is vesztettem az aláíró kulcsot (*.jks), azóta a program elavult és semmit nem tudok vele csinálni. Úgy tudom 2018 óta valahogyan lehet új aláíró kulcsot igényelni, de az enyém korábbi, elvileg angolul valahol meg kell indokolni hogy miért szedjék le, és akkor leszedik.
A másik dolog az adatvédelmi irányelvek. Amilyen egyszerűnek tűnik, hogy írsz valamit, a valóságban formai hibával visszadobják, meg egy linket hogy legyen mit olvasgatni a témában, és a harmadik ilyen után befordulsz. Én negyedik nekifutásra egy ismert applikáció adatvédelmi irányelvét írtam át a sajátomra, na azt úgy elfogadták.
Fél évente frissítek, arra mindig valamit máshová tesznek a play console -n, így minden frissités egy kepesztés -
domel
tag
Frissítettem egy programot a Play Áruházban, és ahogy az lenni szokott, egy órás kepesztés után jött csak össze. November óta csak 29-es API szinten lehet feltölteni/frissíteni, és így generáltak nekem (mint mezei programozónak) egy jó kis feladványt. Kezdődött azzal, hogy [alkalmazásom]>Éles verzió, és ott az Új kiadás létrehozása gomb szürke maradt. Az üzenetek között észrevettem, hogy nyilatkozni kell, hogy a program nem hírcsatorna, ezt megtettem, de továbbra is szürke maradt. Stack Overflow olvasgatás, majd Éles verzió>Kiadások>Kiadás részleteinek megtekintése>Kiadás részleteinek szerkesztése, na és ide van eldugva a feltöltős oldal. Feltöltöttem az app-ot, de nem volt jó, mert mint fent említettem, minimum 29-es API kell neki! Átállítottam a Gradle-ben a 28-at 29-re, aztán vörösbe borult minden:
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
próbáltam 29-es verziót keresni, de nincs, mert ez a formátum így megszünt! Megint Stack Overflow olvasgatás, majd jobb klikk, Refactor>Migrate to androidX, és lett ez:
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
na ezt már elfogadta, nyomtam egy éles verzió gombot, és várom hogy elbírálják. Ha most belépek a Console-ba, már minden a régi, vagyis az Új verzió létrehozása gomb újra aktív. Még egy érdekesség, hogy a compileSdkVersion/targetSdkVersion 29 lett, de a telefonom Android Pie (28), mégis gond nélkül felment a telefonra is az új verzió, régebben ezt szerintem nem engedte meg. Remélem volt akinek tudtam segíteni.
Üdv: -domel
Új hozzászólás Aktív témák
- Router gondok
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Skoda, VW, Audi, Seat topik
- Gaming notebook topik
- Betelik a pohár: nagy igény lenne a gyorshajtás-ellenes technológiára
- Elektromos autók - motorok
- Computex 2024: analóg árkád kontroller a Varmilo gondozásában
- Computex 2024: jóvágású Gigabyte alaplap Threadripperek alá
- Veszprém és környéke adok-veszek-beszélgetek
- Honor Magic6 Pro - kör közepén számok
- További aktív témák...
- BenQ PD3200U - 32" 4K 16:9 100% sRGB 60Hz Designer Monitor
- ASUS TUF Gaming A15 FA507XU- LP4050W Gray ELADÓ!!!!!! (GARANCIÁLIS 36-HÓNAP)
- Újszerű Spigen Liquid Air Folio Tok, iPad Pro 12.9, Fekete
- Huion Kamvas Digitalizáló Tábla / Rajztábla / Külső Monitor okos tollal /// ÚJ // Számla + Garancia
- ESR 360 Mágneses Tok és Billentyűzet Ipad Pro /// Air // Bontatlan // Számla + Garancia