Naar content
Trending apps
  • Inbox by Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger

  • Facebook

Trending games
  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

  • The Elder Scrolls: Blades

  • Ghostbusters World

Trending smartphones
  • Microsoft Surface Duo

  • OnePlus 7T Pro

  • Nokia 7.2

  • Xiaomi Mi 9T Pro

  • Samsung Galaxy Note 10 Plus

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

woutervegter

woutervegter

  • Lid sinds 30 november 2010
  • Berichten 76
  • Reputatie 0
  • #1
  • 19 oktober 2011
  • 17:40

Hier kunnen we elkaar helpen met de DevTutorial op deze pagina:

http://www.androidworld.nl/99611/devtutorial-8-ormlite-for-android-sqlite-the-easy-way

Als je ergens niet uit komt en je hebt het eerst zelf even geprobeerd, vraag dan hier om advies.
Het is belangrijk dat je de volgende dingen vermeldt:
-Welke laatste stappen heb je uitgevoerd
-Wat gaat er precies fout

We merken wel hoe het loopt. Ik lees deze thread in ieder geval één keer per dag.

Succes!

Bewerkt (19 oktober 2011 17:40)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #2
  • 20 oktober 2011
  • 10:50

Hoi Wouter,

Ik heb nog nooit van ormlite gehoort, mooi toevoeging! Toch heb ik 2 (kleine) vraagjes.

Als je de .jars hebt toegevoegd bij je properties, kun je de de lib map verwijderen? waarom wel / niet?

Bij Dao (ORMLite Core 4.27 API) staat ook create.
Kun je dan als je meedere EditText's in je layout hebt gewoon

creat(Int id, String naam, String achternaam) {
id++;
naam = mNaam.getText();
achternaam = mAchternaam.getText();
}
(code is niet helemaal helemaal optimaal maar hopelijk begrijp je wat ik bedoel).

doen en dat er een nieuwe record in je db komt?

Bewerkt (20 oktober 2011 10:50)
woutervegter

woutervegter

  • Lid sinds 30 november 2010
  • Berichten 76
  • Reputatie 0
  • #3
  • 21 oktober 2011
  • 09:11

Hi! ; )

Als je de jars hebt toegevoegd mag je ze niet verwijderen: ze worden door eclipse gebruikt elk moment dat je een nieuwe .apk genereert: dan gebruikt hij namelijk pas daadwerkelijk die extra packages, bij het schrijven van code worden de packages alleen meer als controle gebruikt zodat je fouten aangegeven kunnen worden.

Het toevoegen aan je build path via de properties, dat is enkel het linken van het project aan de packages, daarna kijkt eclipse constant naar de .jar bestanden die je hebt opgegeven, ze worden dan nog niet ergens gekopieerd, dat gebeurt alleen bij het genereren van je .apk.

Nee, je moet aan de create method het object meegeven wat je wil opslaan, die wordt vervolgens door de Dao dan uitgelezen. Je kan niet afzonderlijke Strings of andere variabelen meegeven en dan hopen dat de Dao hem netjes verwerkt tot een nieuw object in je database.

Maar dit kan wel (stel dat je een object Customer hebt) :

Customer customer = new Customer("Wouter", "Vegter", "Amsterdam");
usersDao.create(customer).

Of dit:
Customer customer = new Customer();
customer.setName("Wouter");
customer.setName("Wouter");
customer.setCity("Amsterdam");
usersDao.create(customer).


Je kan OrmLite trouwens ook zelf een id laten generen, dan hoef je dat ook niet meer zelf te doen. Het enige wat je moet doen is in de annotatie een iets andere parameter meegeven:
@DatabaseField(generatedId = true)
long mId;
Maar in deze DevTutorial deed ik dat niet omdat Twitter zelf al met een id komt aanzetten voor elke Twitter-gebruiker. Maar als je zelf nieuwe objecten maakt die nog geen id hebben, dan kan je beter generatedId = true gebruiken i.p.v. id = true.

Zie ook 2.8.2 in de handleiding van OrmLite:
ORMLite Package: 2. How to Use

Bewerkt (21 oktober 2011 09:11)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #4
  • 21 oktober 2011
  • 09:25

dank je voor de uitleg
ik zal eens in de ORMLite duiken, en kijken of ik mijn beetje SQL kennis kan gebruiken

Bewerkt (21 oktober 2011 09:25)
jgmver

jgmver

  • Lid sinds 04 september 2011
  • Berichten 3
  • Reputatie 0
  • #5
  • 29 oktober 2011
  • 13:44

Hallo,

Voor DevTutorial 8 moet er een map lib worden aangemaakt, de 2 .JAR-files daarin worden geplaatst en daarna deze JAR's aan de Libraries worden toegevoegd. Maar ik “zie” de map lib niet in het project (zie schermafdruk).
Heeft iemand enig idee hoe dit opgelost kan worden?

3239

Bewerkt (29 oktober 2011 13:44)
Zatta

Zatta

  • Lid sinds 28 februari 2011
  • Berichten 777
  • Reputatie 0
  • #6
  • 29 oktober 2011
  • 18:24

jgmver;232723
Hallo,

Voor DevTutorial 8 moet er een map lib worden aangemaakt, de 2 .JAR-files daarin worden geplaatst en daarna deze JAR's aan de Libraries worden toegevoegd. Maar ik “zie” de map lib niet in het project (zie schermafdruk).
Heeft iemand enig idee hoe dit opgelost kan worden?

3239

Rechter muisknop op je project in de package explorer, dan refresh.

Bewerkt (29 oktober 2011 18:24)
jgmver

jgmver

  • Lid sinds 04 september 2011
  • Berichten 3
  • Reputatie 0
  • #7
  • 29 oktober 2011
  • 19:31

Bedankt Zatta, dat werkt!

Bewerkt (29 oktober 2011 19:31)
BozeVogel

BozeVogel

  • Lid sinds 20 oktober 2011
  • Berichten 152
  • Reputatie 0
  • #8
  • 1 mei 2012
  • 20:29

Iets voor iedereen die problemen krijgt.
Je moet de map waar je de jar's van OrmLite in plaatst niet “lib” maar “libs” noemen sinds de update van ADT naar r17.
Anders krijg je een error.

Bewerkt (24 april 2013 14:45)
lrijswijk

lrijswijk

  • Lid sinds 29 oktober 2011
  • Berichten 14
  • Reputatie 0
  • #9
  • 2 augustus 2012
  • 07:35

Heren,

Ik heb de tutorial weer succesvol kunnen afronden en het meeste begrijp ik ook. Niet dat ik het nu allemaal zelf zou kunnen maar dat komt wel met voldoende herhaling (hoop ik). Toch heb ik twee (standaard) vragen waar ik mee zit.

1)Hoe bepaald Android welke method hij moet starten zonder dat er een method aangeroepen wordt? Bij Java start hij altijd in de ‘main’ method en bij C moet je de functie altijd aanroepen. En ik begrijp dat Android eerst kijkt naar de method onCreate en dergelijke om het programma op te starten en daarna kijkt naar welke button wordt gebruikt. Maar bijvoorbeeld wordt in deze tutorial de class TwitterUser aangeroepen. Hoe weet Android welke method hij dan moet pakken of begint Android altijd met de constructor van die class?

1,5) Deze bedenk ik me nu ik vraag 1 type. De button ‘download’ roept on click de method ‘downloadUserInfo’ aan. Waarom moet je in die method dan alsnog eens kijken of de button wordt ingedrukt?

2) Kan de emulator dit programma goed uitvoeren? Als ik namelijk mijn gebruikersnaam voor de eerste keer gebruik dan krijg je het progressdialog te zien zoals het hoort. Als ik daarna het programma afsluit, opnieuw opstart en weer mijn gebruikersnaam invoer krijg ik weer het progressdialog te zien. In mijn ogen zou deze niet moeten verschijnen omdat hij de gegevens uit de Database moet halen. Ligt dit aan de emulator of aan mijn code?

Bedankt

Bewerkt (24 april 2013 15:21)
BozeVogel

BozeVogel

  • Lid sinds 20 oktober 2011
  • Berichten 152
  • Reputatie 0
  • #10
  • 3 augustus 2012
  • 12:40

1) Android begint altijd met onCreate. TwitterUser is een object en je roept idd de constructor aan met

new TwitterUser(resultString);
Alle andere methods in TwitterUser worden alleen aangeroepen als je in je Activity bijvoorbeeld dit typt:
mTwitterUser.getUsername();

1,5) Je hoeft het niet te controleren, maar als een andere button ook die method aanroept, is het wel handig.

2) Geen idee of de emulator SQLite ondersteunt…

Bewerkt (24 april 2013 15:21)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren