- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Telekom mobilszolgáltatások
- Szinte csak formaság: bemutatkozott a Pixel 6 és Pixel 6 Pro
- iPhone topik
- Nothing Phone 2a - semmi nem drága
- Samsung Galaxy A54 - türelemjáték
- Motorola Edge 40 - jó bőr
- Android alkalmazások - szoftver kibeszélő topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
Hirdetés
-
Free Play Days 2024 - 17. hét: Railway Empire, Prison Architect
gp Extraként a TramSim: Console Edition című játékot is kipróbálhatják az érdeklődők.
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
Új hozzászólás Aktív témák
-
nagyúr
Sziasztok! Valamit nagyon rosszul csinálhatok mert sem a Picassoval sem az Universal Image Loaderrel nem jutok dűlőre.
Eclipset használok, bemásoltam az Universal Image Loader jar-t a libs folderbe, majd hozzáadtam a build path-hoz. Importok rendben, manifest elvileg rendben, legegyszerűbb műveletre (képbetöltés sima imageviewba) is lefagy.
MainActivity class
package com.picturetest;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;public class MainActivity extends Activity {
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);img = (ImageView) findViewById(R.id.imageView1);
// Create default options which will be used for every
// displayImage(...) call if no options will be passed to this method
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions).build();
ImageLoader.getInstance().init(config); // Do it on Application startString imageUri = "file://mnt/sdcard/default.png";
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(imageUri, img);
}
}activity_main.xml
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="0dp"
android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
tools:context="com.picturetest.MainActivity"><ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_launcher" /></RelativeLayout>
Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.picturetest"
android:versionCode="1"
android:versionName="1.0" ><uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Include following permission if you load images from Internet -->
<uses-permission android:name="android.permission.INTERNET" /><application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.picturetest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>Az eclipse projektem feltöltöttem ide.
A fordítás hiba nélkül lefut, de ha elindítom az appot azonnal fagy. A default.png is a helyén van. Nexus 5
Mit csinálok rosszul?[ Szerkesztve ]
-
Karma
félisten
Mindjárt megnézem a projektet is, de elöljáróban két nagyon fontos dolgora szeretném felhívni a figyelmed:
1) Miután beraktál valamit a libsbe, azt ne vedd fel a build path-ra, mert automatikusan felkerül. Sőt, továbbmennék, soha ne nyúlj a build path-hoz!
2) Az, hogy "lefagy" ebben a formában nem hordoz információt. Lehet ANR (application not responding), vagy force close; ez utóbbi esetben nézd meg mindig, hogy mit logol az alkalmazásod, mert 99%, hogy ott lesz a kiváltó ok érthető angolsággal.[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
El kellett mennem itthonról, úgyhogy csak most volt lehetőségem megnézni. Nincs fenn Eclipse a gépemen, csak Xamarin Studio (és az általa felrakott Android SDK), de parancssorban le tudtam fordítani az anyagot.
Nekem nem fagy le, nem crashel, meg semmi csúnyát nem csinál. Annyit változtattam csak, hogy a libs mappából töröltem a Picassot (UIL mellett felesleges) és a v4 support libet (az appcompat v7-ben is benne van), majd rátettem a Nexus 7-emre és megy.
Egyébként nagyon rossz forma, sőt mondhatni szigorúan tilos bekódolni azt, hogy "/mnt/sdcard". Csak rosszul sülhet el egy olyan telefonon, aminek nincs belső tárhelye és SD kártyája. Javaslom az Environment osztályt tanulmányozásra.
Zedz: Az AsyncTask osztály, amit az esetek döntő többségében ajánlott használni az ilyen háttérben végzett feladatokhoz, alaphelyzetben egy négy háttérszálból álló poolt használ, amit a framework menedzsel. Szóval igen, a droid intézi
Nagyon ritka az, hogy valami külső/belső okból ez a felállás nem jó, és az AsyncTask helyett más megoldást kell keresni. Az viszont például biztos, hogy Thread vagy Timer/TimerTask osztályokat használni mobilon súlyos hiba, mert van erőforrásbarátabb megoldás.
[ Szerkesztve ]
“All nothings are not equal.”
-
WonderCSabo
félisten
Megnéztem a projektet, és nekem nem fagy le, megy rendesen. Valszeg ez azért van, mert amikor beraktam az appcompat-ot, fixálta a build patht.
Javítsd meg a projektedet úgy, hogy megnyitod a build path-t, és a lézengő jar-okat (amik nincsenek konténerben) távolítsd el. Aztán szedd ki a libs mappából, majd rakd vissza. Ekkor az Eclipse automatikusan generálja a helyes build path-t.
-
thon73
tag
Viszont működik
Ez nem a 4-8 bites konverzió. Ez a "függvény" azt a 16 (4 biten) 32 (5 biten) vagy 64 (6 biten) alapszínt választja ki, ami a setPixel()-nak átadva, majd a getPixel-től visszakérve önmaga marad. Ez uis. csak ezekre a színekre igaz, az összes többi szín ezek valamelyikére fog alakulni (lévén több színt ekkora helyen nem lehet ábrázolni.)
Ha valahogy meg tudnám szerezni rgb_565 formátumban a színadatokat, akkor erre semmi szükség nem lenne. -
nagyúr
koszonom, ha hazaerek megprobalom amit irtatok. Egyebkent en is az Enviroment getvalami fuggvenyet szoktam hasznalni, csak ennek a librarynak a dokumentaciojaban ez volt a pelda.
[ Szerkesztve ]
-
Zedz
addikt
Van egy shapem, ami annyit csinál, hogy lekerekíti az adott elem sarkait. Jelenleg megvan adva a kerekítés mértéke és egy háttérszín amivel kitölti a felületet, mondjuk egy EditTextet vagy egy gombot. Azt szeretném megoldani, hogy például a beviteli mező háttere fehér legyen a gombé pedig kék, de egy XML-ben csak egy féle hátteret adhatok meg. A kérdésem az lenne, lehet-e olyat csinálni, hogy az XML fájlon belül megadok egy másik shapet is, aminek más lenne a háttérszíne? Vagy egy fájlban csak 1 shape lehet?
-
Zedz
addikt
válasz WonderCSabo #2608 üzenetére
Csináltam most egy ilyet. Hogyan tudom megmondani azt egy elemnek, hogy te ezt az itemet, te azt az itemet használd?
Mert ugye backgroundnak mindig a fájl nevét állítom be.
-
meone
tag
válasz WonderCSabo #2589 üzenetére
Javában soha nem programoztam.
Delphi-ben programoztam ezelőtt 6 évvel az egyetemen.
Inkább PHP-ban készítettem eddig kisebb nagyobb oldalakat, és programokat.Nagyából most már van fogalmam a szálról is, de még sokat kell tanulnom a hibáimból.
Íme egy újabb próbálkozás:
Próbáltam megint össze eszkábálni egy URL-es cuccot amivel leszedem az adatokat.
Most már legalább értem miért van ott a try, catch blokk
Tutoiriál alapján eszkábáltam a kódot megint amit te is ide tettél.
MainActivity.class tartalma most ez:package com.example.webv;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import com.google.gson.Gson;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public class ReadTextFromURL {
public void main(String[] args) {
try {
URL url = new URL("http://bkaroly.hu/log.php");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
}
catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e.getMessage());
}
catch (IOException e) {
System.out.println("I/O Error: " + e.getMessage());
}
}
}
public static void main(String[] args) {
Gson gson = new Gson();
String json = "{\"elements\":[{\"sensor\":\"2\"}]}";
LogHolder fromJson = gson.fromJson(json, LogHolder.class);
System.out.println(fromJson);
}
}Szerintem most is elszúrtam valamit.
Valami kis megerősítés, hogy jó felé túrom a nettet és nem megint egy bazi nagy ökörséget pakoltam össze?
Mit kell még át néztem, hogy most már meg is tudja jeleníteni a dolgokat?
Bele kéne még a dologba hozni az AsyncTask-ot is?[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Karma
félisten
Sajnos rossz irányba lépkedsz a megoldás útján Azzal hogy main függvényeket írtál, nem jutottál sehova. Desktopon se jelentene semmit ebben a formában, itt meg végképp nem.
Mindenekelőtt el kéne olvasnod valami Android oktatóanyagot - a developer.android.com-on például van training, de nem biztos hogy jó a tematikája neked.
Esetleg ha vondolod, holnap megírom a feladatod és a kész kódból levonhatod a következtetéseket.
“All nothings are not equal.”
-
Zedz
addikt
válasz WonderCSabo #2612 üzenetére
Értem, valahogy pont ezt akartam elkerülni. Akkor megoldom így, köszönöm!
-
Zedz
addikt
Szerintetek az úgy jó, ha 1-1 layoutnak a values mappában csinálok külön-külön valami_style.xml-t? Vagy írjam inkább egy fájlba az egész stílust?
-
bucsupeti
senior tag
Egy olyan kérdésem lenne hogy ha valamilyen AS-ben futó EJB-vel szeretnék Android programból kommunikálni azt hogyan tehetem meg? Magyarul egy JavaEE alkalmazást szeretnék android klienssel. Adjatok ötletet, hogyan induljak neki?
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
hati
addikt
Egy kis segítséget kérnék. Hogy lehet internet kapcsolatot kreálni az Android Emulatorba?
-
hati
addikt
Kezdő androidos programozó vagyok, így a kérdésem is egyszerű lesz. Adva van egy táblázatos nézet, melyben egyszerű szövegmezők vannak, melyek futásidőben kerülnek kitöltésre. Ez működik is. Ha viszont futás közben elforgatom a képernyőt(telefont), akkor a mezők visszakapják a program induláskori értékeit. Hogyan tudom ezt megakadályozni vagy ha ilyet nem lehet, akkor érzékelni az elforgatást és újra kitölteni a mezőket?
-
nagyúr
Szia! Én úgy oldottam meg, hogy a Manifest fájlban az adott activityhez felvettem a következő attribútumot:
android:configChanges="orientation|screenSize"
Valahogy így kell kinézzen:
<activity
android:name="com.example.Start"
android:label="@string/app_name"
android:configChanges="orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> -
hati
addikt
válasz WonderCSabo #2625 üzenetére
Köszi, megoldódott.
-
bucsupeti
senior tag
Tudtok ajánlani valamilyen android fejlesztői tanfolyamot ami valóban gyakorlatias, és használható tudást ad? (Az árral egyelőre nem foglalkozom.)
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
Sianis
addikt
Esetleg ez? [link]
Anno én is tartottam itt vendégelőadóként egy kis sessiont és szerintem ami előtte ment infó az eléggé gyakorlatias volt.
-
Zedz
addikt
Használ itt valaki Android Studiot? Rákötöttem a gépre egy nexus tabletet, de amikor futtatni akarom az appot akkor folyton azt kéri, csináljak neki egy virtuális droidot. Eclipse felismeri, ott nincs gond.
-
ice9
tag
Sziasztok,
Android programozásban jártas magántanárt keresek Budapesten kb. decemberig. Heti 2-3 alkalommal.
Ha magadra ismertél írj PÜ-t!.Köszönöm
-
nagyúr
Sziasztok!
Mi a szakszerű megoldás arra, hogy külön layoutot használjak álló illetve fekvő nézetre? Avagy ezt hogy kell megvalósítani
-
Karma
félisten
A portrait módhoz tartozó XML-t a /res/layout/ mappába rakod, a landscape-et pedig a /res/layout_land/ mappába. Lehetőleg ugyanazokat az ID-ket használd az azonos funkciójú elemekhez, és ami sokkal fontosabb: kezeld az adatok kimentését az onSaveInstanceState és onRestoreInstanceState metódusokkal.
“All nothings are not equal.”
-
Karma
félisten
Igen. Mindenre, amire szükséged van.
Alternatívaként használhatsz Fragmentet, aminek a setRetainInstance metódusával meg tudod tartani az adattagokat egy ilyen konfigurációváltás alatt. A layout XML-es történet pontosan ugyanígy működik akkor is, tehát lesz onCreateView hívás, és ott feltöltheted a tagváltozóidból.
[ Szerkesztve ]
“All nothings are not equal.”
-
Tesztelo.hu
senior tag
Van olyan app, ami ki tudja írni, mi módosítja a hangerőt, hangprofilt? Barátnőm mobilján állandóan elállítja valami, és nem találok, mi lehet az.
-
nagyúr
válasz Tesztelo.hu #2637 üzenetére
Ez a topik kell neked, ott nagyobb eséllyel kapsz választ
-
TheProb
veterán
Sziasztok!
Segítséget kérnék, adott az alábbi kérdés, tudja valaki rá a biztos választ?
Melyik metódus zár le egy Activity-t?
a) finish()
b) close()
c) exit()
d) activity.finish()"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d
-
-
-
dani993
senior tag
Sziasztok! Most ismerkedem az android programozással, de az öreg laptopomon tetű lassan működik az Android Studio, AVD, minden...
Elhatároztam hogy veszek egy asztali gépet.
Szerintetek ha főleg erre szeretném használni, akkor hat-nyolcmagos AMD-t válasszak(kihasználja a program a több szálat?) vagy egy korábbi generációs i5ös processzort? Ugye az i5 sokkal jobb egy szálon, de több szálon az AMD.
Köszi
-
sutszi
veterán
Az a 4GB szerintem rövid távon hamar szűk keresztmetszetté fog válni...amúgy kezdetnek jó ennyi.
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
hati
addikt
Milyen esemény fut le, amikor a "háttérbe rakott" alvó alkalmazást előtérbe rakunk?
Új hozzászólás Aktív témák
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Politika
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Milyen nyomtatót vegyek?
- Telekom mobilszolgáltatások
- Tippmix
- Szinte csak formaság: bemutatkozott a Pixel 6 és Pixel 6 Pro
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- iPhone topik
- EA Sports WRC '23
- További aktív témák...