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.
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.
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.
Én igazából nem értem, hogy mire kell neki ez a view...
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
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 ]
Muszáj view-t csinálnod? Miért nem jó a sima select?
AE
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.
Hogy néz ki (pontosan) a tábla, és mi a konkrét select?
AE
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();
}
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.
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...
é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...
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?
Meg kéne nézni, milyen exceptionnel hal meg. Vagy semmit se dob? :S
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
Ü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