Android programozás, Android alkalmazások készítése - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Chipi333
(csendes tag)

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)
Blog

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.


Chipi333
(csendes tag)

Én igazából nem értem, hogy mire kell neki ez a view...


SektorFlop
(aktív tag)

igazából csak szenvedek ezzel az sqlite résszel, ha esetleg valakinek van egy király ötlete arra hogy kinyerjem az adatokat és még ki is tudjam íratni segítsen.... sehogy se tudom összehozni :W


Chipi333
(csendes tag)

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)
Blog

Muszáj view-t csinálnod? Miért nem jó a sima select?

AE


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.


ArchElf
(addikt)
Blog

Hogy néz ki (pontosan) a tábla, és mi a konkrét select?

AE


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 :W 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();
}


SektorFlop
(aktív tag)

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.


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)

é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...


SaNyEe
(aktív tag)
Blog

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 gomb

Start 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?


WonderCSabo
(félisten)
Blog

Meg kéne nézni, milyen exceptionnel hal meg. Vagy semmit se dob? :S


Sianis
(addikt)
Blog

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)
Blog

Ü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. :) :R


Yany
(addikt)
Blog

Van, van. :K
Ne fogd vissza magad. :R


ArchElf
(addikt)
Blog

Jöhet :DD

AE


SektorFlop
(aktív tag)

Köszönjük szépen. Én is jegyzetelek néha miközbe tanulom... majd én is dobok egy két iromanyt.

üzenetek