Új hozzászólás Aktív témák
-
Chipi333
csendes tag
válasz SektorFlop #100 üzenetére
Cursor c= db.rawQuery(viewFizetes,null);
Itt a viewFizetes-ben mi van? Mert ha pl "SELECT FizetesHonap, FizetesOsszeg, FizetesEgyenleg FROM FizetesTable" akkor kb működnie kéne a cursornak.
-
rum-cajsz
őstag
válasz SektorFlop #100 üzenetére
Nem értek az SQLite-hoz, de nem így lenne helyes?
db.execSQL("CREATE VIEW viewFizetes AS SELECT FizetesHonap, FizetesOsszeg,FizetesEgyenleg FROM FizetesTable");
Esetleg segítene a hibaüzenet is.
=Kilroy was here============================ooO=*(_)*=Ooo=======
-
SektorFlop
aktív tag
-
Chipi333
csendes tag
válasz SektorFlop #104 üzenetére
Hát ebben a példaprojectben valszeg megtalálod amit szeretnél.
Ps.: A view-nak meg semmi köze nincs a megjelenítéshez. Az egy amolyan virtuális tábla lesz az adatbázison belül, ami egy select alapján van összerakva. Általában olyankor szokás csinálni ha több táblából összeszedett adatok kellenek és gyakran, de még akkor is ritkán elvileg, mert eléggé költséges a fenntartása.
[ Szerkesztve ]
-
ArchElf
addikt
válasz SektorFlop #100 üzenetére
Muszáj view-t csinálnod? Miért nem jó a sima select?
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
SektorFlop
aktív tag
Már letettem a Viewről, bár később 3 táblát kellesz összekapcsolni azért gondoltam rá... de am selectel se jó... nem talál olyan rekordot hogy "_id", azóta nem is foglalkoztam vele igazából nem tudom mi lehet a baja.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
ArchElf
addikt
válasz SektorFlop #107 üzenetére
Hogy néz ki (pontosan) a tábla, és mi a konkrét select?
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
SektorFlop
aktív tag
inkább bemásolok mindent ami fontos lehet, de az igazság hogy totál összegányoltam az egészet a múltkor és most már alig látom át Hétvégén lesz kicsi időm kicsit összekaparom a dolgokat. Bocsi hogy a topicot is szétgányolom, de hátha hétvégéig valaki tud valami jót mondani Ha van benne valami extra nagy hülyeség (amit nem kétlek), ne szóljatok le nagyon, vegyétek figyelembe hogy még csak most tanulom dolgot, és szép szóból is tanulok
DatabaseHelper
//adatbázis
static final String dbNAME = "fizetes.db";
static final int dbVersion = 1;
//fizetés tábla
static final String FizetesTable = "Fizetes";
static final String FizetesID = "FizID";
static final String FizetesOsszeg = "FizOszzeg";
static final String FizetesEgyenleg = "FizEgyenleg";
static final String FizetesHonap = "FizHonap";
public static final String CREATE_FIZETES = "CREATE TABLE "+ FizetesTable +"("+
FizetesID +" INTEGER PRIMARY KEY AUTOINCREMENT,"+
FizetesOsszeg +" INTEGER,"+
FizetesEgyenleg +" INTEGER,"+
FizetesHonap +" TEXT);";
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(CREATE_FIZETES);
}
public Cursor getAllFizetes(){
SQLiteDatabase db=this.getWritableDatabase();
//Cursor c= db.rawQuery("Select "+FizetesHonap+", "+FizetesOsszeg+", "+FizetesEgyenleg+" from "+FizetesTable, new String [] {});
Cursor c= db.rawQuery("SELECT * FROM "+ FizetesTable, new String [] {});
return c;
}ViewFizetes
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewfizetes);
grid = (GridView) findViewById(R.id.grid);
txtTest = (TextView) findViewById(R.id.txtTest);
spinViewHonap = (Spinner) findViewById(R.id.spinViewHonap);
final String[] honap = new String[] {"Január", "Február", "Március", "Április", "Május",
"Június", "Július","Augusztus", "Szeptember", "Október", "November", "December"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, honap);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinViewHonap.setAdapter(adapter);
try{
spinViewHonap.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {
LoadGrid();
}
public void onNothingSelected(AdapterView<?> arg0) {
///////////
}
});
}catch(Exception ex){
txtTest.setText(ex.toString());
}
try{
grid.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View v, int position, long id){
try{
SQLiteCursor cr = (SQLiteCursor)parent.getItemAtPosition(position);
String honap = cr.getString(cr.getColumnIndex(DatabaseHelper.FizetesHonap));
int fizetes = cr.getInt(cr.getColumnIndex(DatabaseHelper.FizetesOsszeg));
int egyenleg = cr.getInt(cr.getColumnIndex(DatabaseHelper.FizetesEgyenleg));
Fizetes fiz = new Fizetes(fizetes, egyenleg, honap);
AlertDialog diag= Alert.ShowEditDialog(ViewFizetes.this,fiz);
diag.setOnDismissListener(new OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
txtTest.setText("dismissed");
//((SimpleCursorAdapter)grid.getAdapter()).notifyDataSetChanged();
LoadGrid();}
});
diag.show();
}catch(Exception ex){
Alert.CatchError(ViewFizetes.this, ex.toString());
}
}});
}catch(Exception ex){
Alert.CatchError(ViewFizetes.this, ex.toString());
}
}
public void LoadGrid(){
dbHelper = new DatabaseHelper(this);
try
{
Cursor c = dbHelper.getAllFizetes();
startManagingCursor(c);
String[] from = new String[] {DatabaseHelper.FizetesHonap};
int[] to = new int[] {R.id.textHonapNev};
SimpleCursorAdapter sca = new SimpleCursorAdapter(this,R.layout.rowfizetes,c,from,to);
grid.setAdapter(sca);
}
catch(Exception ex){
AlertDialog.Builder b=new AlertDialog.Builder(this);
b.setMessage(ex.toString());
b.show();
}"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
SektorFlop
aktív tag
válasz SektorFlop #109 üzenetére
ma volt egy kis időm, gondolom senkinek nem volt kedve vagy ideje átnézni azt a sok mindent amit írtam. Én kénytelen voltam, összerakni az egészet, most már megoldódott a problémám, a lekérdezés működik a tábla tartalma is megjelenik.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
geckowize
őstag
Hello!
Igényes UI-t mivel érdemes csinálni? Így néz ki az appom mainactivity-je.
Arra gondoltam, hogy egy full screen backgroundot valahogy összeeffektezek alacsony kontraszttal (hogy látsszon is valami a textviewokból), aztán a logó is azon lesz és úgy azért igényesebb lenne mint ez...
Mit ajánlotok ilyen drawable szerkesztésére? Nincs valami nagy gyakorlatom photoshopban...
-
SektorFlop
aktív tag
válasz geckowize #111 üzenetére
én is épp ott járok hogy fel kellene dobni az alkalmazásom hangulatát valami ütős dizájnal... tabokat használok az appomba, és ahoz a képeket ps-be hozom össze... am neten keres rám épp mit is akarsz, nagyon sok jó ötlet van, amit felhasználhatsz vagy akár átalakíthatod...
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
SaNyEe
aktív tag
Hi,
1 kérdésem volna, Droidspecifikusnak tűnik
JAVA fejlesztői ismeretem van némi, gondoltam írok egy egyszerű android appot (tudom máshogy is meglehetne oldani egyszerűbben).
Lényege:
- Egy edittext tartalmát módosítja a JAVA kód
- start gomb
- stop gombStart gomb hatására egy szál tulajdonságokkal rendelkező osztályt indítok ami 10ms-ként módosítaná az edittext tartalmát, létrehozva egy kvázi stoppert.
A szál működik.
Amikor az edittext tartalmát annak setText() metódusával módosítaná a szál (minden 10.ms-ban) fatális tévedéssel elhal a program.Ha a szál csak számlálgat magában és egy onclick eseményre frissítem be az edittext szövegét akkor az frissíti az edittext tartalmát hiba nélkül.
5let?
-- end of transmission --
-
Sianis
addikt
Ez szerintem az a hiba lesz, hogy a felület egy elemét csak a fő threadből lehet piszkálni. Tehát egy háttérszállal nem lehet hívni a setText-et.
Egyik jó megoldás, ha így hívod a setText-et:
mEditText.post(new Runnable() {
@Override
public void run() {
mEditText.setText("Valami");
}
});Ekkor nem a szálból fogod hívni a setText()-et, hanem a fő szálban.
Bővebb infó: [link]
Sianis
-
Sianis
addikt
Üdv!
Van amúgy ilyen jellegű irományokra igény?
Nem titok, hogy immár 2 hónapja 8 órában Andorid fejlesztőként ügyködök és találkoztam pár érdekességgel, ami talán többeknek is hasznos lehet. Azt meg gondolom nem bánjátok, ha nem angolul kell olvasni, bár tudom, hogy nem nem okoz különösebb gondot.
Sianis
-
fatal`
titán
Van bizony.
-
fatal`
titán
Lehet, hogy sokan ismeritek már, de fejlesztéshez szerintem nagyon hasznos, nem kell keresgélni a kábelt:
ROOT kell neki.
Használat:
Elindítod, megnyomod a bogarat majd utána pc-n adb connect ipcím és lehet wifin debuggolni / fordítani.
-
Muton
addikt
Hello!
felraktam a javat, eclipset, ask-t, adt-t és a create>>new>projects>>other>>android-ban nincs android project csak android application project. ez a kettő ugyanaz vagy teljesen más?
Muton#2316 - $z@r a drop >_<
-
Muton
addikt
Hello!
megcsináltam az első alkalmazásomat, ezt, és az a baj, hogy virtuális telefonon simán lefut, egy galaxy minin meg nem. Mindig az írja ki, hogy "Put Stuff in Me", azaz a script (a linken lévő index.html-ben) mintha nem futna le vagy nem érne véget.
lenne valakinek ötlete, hogy hogy tudnám a valós telón is eredményesen futtatni?Muton#2316 - $z@r a drop >_<
-
fatal`
titán
Megjelent az eclipse juno
-
fatal`
titán
válasz SektorFlop #128 üzenetére
Új verzió, az indigo utódja
-
SektorFlop
aktív tag
lenne egy-két apró kérdésem.
1) van egy olyan problémám hogy a visszalépéshez finish()-t használok, de ha vagy megnyomom a mégse gombot, vagy a vissza gombot bejön ismét ugyan az a kép és utána megint kell nyomni egy visszagombot.
2) úgy nevezett rowview-et használok az adatbázisról való kilistázásnál, hogy tudok hozzáfűzni az adatokhoz még szöveget?
3) ugyan ez a rowview-es téma, adatbázisról lekérek egy táblát, esettől függően az egyik sornak pirosnak másiknak zöldnek kellene lennie. sajnos elképzelésem sincs hogy fussak neki ennek a dolognak. adatbázisba ezt már tárolom azzal nincs gond, csak a sor szinezését nem tudom hogy oldjam meg hogy azt a sort színezze
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Sianis
addikt
válasz SektorFlop #130 üzenetére
1) Nem lehet, hogy az Activity-t kétszer indítod el és ezért kétszer lesz benne a back stackben?
2) Ennek a view-nak van valami layout (tehát XML) alapja? Mert akkor abba kell felvenni vagy még további TextView-kat vagy a meglévőket kell lekérni id alapján a findViewById metódussal és akkor tudsz még hozzáfűzni adatot.
3) Gondolom ListView-be kerül ez a dolog. Sor alatt most a lista egy-egy sorát értjük? Mert ilyenkor az adater getview metódusában meg tudod adni, hogy a view háttere milyen színű legyen. Kód nélkül nehéz így a megfejtést megmondani neked.
Illetve ha a kérdésekre válaszolsz akkor tudok még pontosítani.
Sianis
-
SektorFlop
aktív tag
1) egy példa az új activity megnyitására:
Intent addIntent = new Intent(this, AddFizetes.class);
startActivity(addIntent);2-3) az activityhez tartozó xml-ben van egy GridView, és az adapter pedig egy másik xml fájlba állítja be a sorokat.
Cursor c = dbHelper.getKoltseg();
startManagingCursor(c);
String [] from=new String []{DatabaseHelper.TerhelesNev,DatabaseHelper.TerhelesOsszeg,DatabaseHelper.TerhelesDatum};
int [] to = new int [] {R.id.tvLeiras,R.id.tvKoltseg,R.id.tvDatum};
SimpleCursorAdapter sca = new SimpleCursorAdapter(this,R.layout.rowkoltseg,c,from,to);
grid.setAdapter(sca);nem tudom hogy itt hol kellene hozzá fűznöm a dolgokat, vagy lehet nem így kellene akkor csinálnom?
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Sianis
addikt
válasz SektorFlop #134 üzenetére
Szia!
1) Ez teljesen jó. Meg kellene nézni, hogy valahogyan nem hívod-e, hívódik-e meg kétszer.
2-3) Ez is jó, csak nincs benne a logika amivel beállítanád a háttér színét. Én a SimpleCursorAdapter-t örököltetném és a getView metódusát még megfejelném egy kicsit, valahogy így:
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
public MySimpleCursorAdapter(Context context, int layout, Cursor c, String[] from,
int[] to, int flags) {
super(context, layout, c, from, to, flags);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (position % 2 == 0) {
view.setBackgroundColor(Color.RED);
} else {
view.setBackgroundColor(Color.GREEN);
}
return view;
}
}Ezután pedig adapternek ezt adnám meg. Nem próbáltam ki, de szerintem így jó. Szólj ha nem!
Sianis
-
SektorFlop
aktív tag
Köszi most már előrébb vagyok, felváltva piros és zöld tökéletes amit írtál, csak ezt a getView-et nem igazán értem még mindig, hogy a feltételbe nem azt szeretném megadni hogy minden második legyen piros, hanem adatbázison van "1" olyan oszlopom hogy állapot, és ha az állapot egy akkor legyen piros, ha az állapot "0" akkor legyen zöld. De nem tudom úgy összehozni hogy a position helyet az állapotott ellenőrizzem.
[ Szerkesztve ]
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Sianis
addikt
válasz SektorFlop #136 üzenetére
Az állapotot meg valahogyan az adapternek megadott elemekből kellene kinyerned? Az adapternek van egy ilyen metódusa: getItem, amivel egy adott pozícióban lévő objektumot kapsz meg.
Ha jól látom a kódodból, akkor ez valahol a háttérben egy List-et rak össze amiben Map elemek vannak. a getItem elvileg egy ilyen Map-et fog neked visszaadni, de nem 100%, viszont ezt Java Debuggerrel könnyen kiderítheted vagy akár az Androidos loggerrel is.
Ebben az elemben ha minden elemed benne lesz ami a db adott rekordjában benne van, ebből már tudni fogod a státuszt és tudod állítani a háttér színét.
Jó így?
Sianis
-
vz12
tag
válasz SektorFlop #136 üzenetére
Én már csináltam ilyet. A position paraméter alapján behozod az aktuális adatot, amivel a getView éppen foglalkozik, majd ezután ezt az adatot építed be a feltételbe, nem magát a position-t.
Ha pl. egy kétdimenziós tömb 1. oszlopát jeleníted meg, akkor valahogy így kell ennek kinézni:mydata=tomb.get(position).get(0);
if (mydata==1) ...A relációs adatbázis mutat némi hasonlóságot a 2 dimenziós tömbbel, ezért hoztam ezt a példát, de a dolgot konkretizálni majd Neked kell. Ha szűrés van az adatbázison, akkor a helyzet persze bonyolultabb.
-
SektorFlop
aktív tag
Mind2 variációt nézem, de nem áll össze a kép.
egyenlőre így állok:
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
public MySimpleCursorAdapter(Context context, int layout, Cursor c, String[] from,
int[] to) {
super(context, layout, c, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
allapot = ????????????????;
if (allapot == 1) {
view.setBackgroundColor(Color.RED);
} else {
view.setBackgroundColor(Color.GREEN);
}
return view;
}
}Az adapter bemenő paraméterek egyike se tartalmazza a vizsgálni kívánt elemet, ha csak a Cursor-ban nincs benne, mert az egy szimpla select-et add vissza (ha nem mondok hülyeséget). Abból nem tudom valahogy kinyerni az állapot státuszát?
Vagy az adapter egyik bemenő paraméterébe pl. a "from"-ba rakjam be az állapotot is? Most jönnek elő a hiányosságaim Itt most teljesen elakadtam...
[ Szerkesztve ]
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Sianis
addikt
válasz SektorFlop #139 üzenetére
A SimpleAdapter a következő módon működik.
Adott egy List, ebben vannak a ListView sorai gyakorlatilag. A List Map-eket tartalmaz, ami általában String kulccsal, String értékeket tárol. Amikor te megadod a String tömböt az adapternek:
String [] from=new String []{DatabaseHelper.TerhelesNev,DatabaseHelper.TerhelesOsszeg,DatabaseHelper.TerhelesDatum};akkor azt mondod, hogy az ilyen String kulcsokkal elérhető elemeket vegye ki a List adott elemének Map-jéből, majd ezeket az érkeket a másik tömbben magadott id-val megtalálható TextViewkba állítsa be:
int [] to = new int [] {R.id.tvLeiras,R.id.tvKoltseg,R.id.tvDatum};
Ezt mit ad visza a LogCat-ben?
Log.d("Item class:", sca.getItem(position).getClass().getName())Sianis
-
vz12
tag
válasz SektorFlop #139 üzenetére
Nos, én a fő-fő osztályomban definiált, és gyakorlatilag az egész (nem túl nagy) programomban globálisan (belülről) elérhető tömbökben tároltam az adatokat, így a getView-ban is elérhető volt, nem paraméterből jött be neki. Én egy gridView alá "toltam be" ezt a tömböt, amelyet bizonyos metódusok írtak, bizonyos metódusok olvastak, a grid frissítése meg volt oldva, illetve hát ugye a getView pontosan ezt végezte a módosítások után. Tehát a getView futásakor az adatok már aktuálisak voltak, és mivel "globálisak", ezért lekérdezhetők, felhasználhatók feltételek megfogalmazásához. Szerintem egy kurzort is lehet így használni, de ezt csak gondolom, nem tudom. Lehet hogy kifogásolható a módszerem, de nekem bevált és tetszik, nem látom a hátrányát.
Az említett másik módszer is biztosan járható, én magamnak ezt találtam ki erre a problémára.
-
SektorFlop
aktív tag
LogCat-be nem írt semmit, de valószínű már én csináltam valamit rosszul, totál összekutyultam az egészet a végére. De nem hagyom annyiba a dolgot.
Mindenesetre köszönöm a segítséget! Sajnos most már nem lesz időm csak a hétvégén, akkor újult erővel nekivágok ismét!
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Muton
addikt
milyen adatbázis kezelőt ajánlotok androidra?
Muton#2316 - $z@r a drop >_<
-
SektorFlop
aktív tag
hát én nem használok semmit, csak felraktam SQLite Browser-t az eclipse-hez.
"Amikor már azt hittem kint vagyok, ezek mindig visszarántottak..."
-
Muton
addikt
köszönöm a válaszokat, megnézem majd őket!
Muton#2316 - $z@r a drop >_<
-
Sianis
addikt
Ezt ajánlom mindenkinek megtekintésre, van angol felirat is. Olyan dolgokat mondanak benne ami egyrészt újdonság, másrészt óriási királyság, ráadásul nagy részét támogatja a support lib is tehát nem csak ICS-től használható.
Sianis
-
Khelben
nagyúr
Sziasztok, tudnátok ajánlani könyvet/könyveket, amikből meg lehet tanulni az android fejlesztést az alapoktól? Annyiféle van, hogy nem tudok választani...
Új hozzászólás Aktív témák
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Hobby elektronika
- Hálózati / IP kamera
- Spórolós topik
- YouTube
- Hetedik generációs Gorilla Glass készült a középkategóriának
- Politika
- Honda topik
- Luck Dragon: Asszociációs játék. :)
- Anglia - élmények, tapasztalatok
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen