Wij werken momenteel aan een nieuw forum voor Androidworld. Het is daarom momenteel niet mogelijk om te reageren of nieuwe topics aan te maken.
private Cursor getContacts() { … } is een functie. Private = deze functie kan alleen worden benaderd binnen dezelfde klasse, Cursor = wat de functie ‘teruggeeft’ en de functie heet getContacts. De functie wil geen parameters krijgen, dus (). Anders zou er bijvoorbeeld staan: getContacts(Person person). Tussen de {} wordt de functie beschreven.
Sommige variabelen zijn zo standaard dat ze overal kunnen worden gebruikt: int, double, float, boolean, String (met een hoofdletter), char etc. etc.
Als je getContacts aanroept, krijg je dus een Cursor-object terug. Dus met Cursor cursor = getContacts(); krijg je een Cursor. Wat dat verder voor object is, weet ik ook niet. Als je bijvoorbeeld eclipse gebruikt, kun je na deze regel intikken: cursor. (met punt) zodat een lijstje verschijnt met de functies die je op Cursor kunt aanroepen.
Misschien is het handig om een Java-cursusje op te zoeken op internet. De meeste zijn wel gratis.
Ik lees me de afgelopen maanden een slag in het rond waar het cursusjes Java betreft.
Daar leer ik veel maar sommige dingen die de beeldvorming op gang moeten brengen haal ik er soms niet uit.
Jouw uitleg is een goed begin maar:
Dat er een object terug gegeven wordt begrijp ik.
Maar waarom staat er Cursor cursor = … en niet cursor = …?
In mijn beleving krijgt cursor de return terug (een object dus) en geeft Cursor eeeh, dat weet ik dus niet.
Ahaa, ok. Er staat Cursor cursor = …, maar er had ook kunnen staan: Cursor myWonderfulCursor = … of Cursor hopsakee = …
Net als ‘int myAge = 30’ eigenlijk: je ‘maakt’ iets van de klasse “Cursor” en die noem je “cursor”. Vervolgens kun je “cursor” gebruiken om die ene Cursor aan te wijzen. Je kunt ook 2 Cursors aanmaken. Of 100.
Cursor cursor = new Cursor(); // of getContacts();
Cursor cursor2 = new Cursor();
System.out.println(cursor.toString()); // print naar console wat cursor ook maar moge zeggen over zichzelf
System.out.println(cursor2.toString());
Succes!
Ok de rook begint op te trekken. thx.
Even zoals ik het nu zie en corrigeer me als ik het fout heb.
import android.database.Cursor; // hiermee haal ik de class Cursor binnen
Cursor cursor = getContacts(); hiermee roep ik mijn zelfgemaakt functie getContacts aan.
Doordat de class Cursor binnengehaald is (bestaat) kan ik hem gebruiken.
Dat ik er een instantie “cursor” van wil maken geef ik aan met “Cursor”.
Zo gezegd is het heel eenvoudig maar als je het beeld niet hebt niet
Ja precies. Die import moet wel bovenaan staan. Meestal begint een file zo:
package nl.androidworld.cursordemo;
import Android.database.Cursor;
public class CursorDemo {
··public CursorDemo() {
····// enzovoort
Ja jammer denk ik het een beetje te volgen krijg ik deze zin te zien:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(…)
Net hadden we besproken dat “adapter” in dit geval een nieuw object op basis van SimpleCursorAdapter zou worden.
Vanuit die redenatie begrijp ik dus niet waarom hier dan achter = new SimpleAdapter staat.
Dat lijkt mij dan dubbel maar dat is het waarschijnlijk niet dus snap ik het weer niet
public int aantal
Dit begrijp ik. Een variabele genaamd van het type integer is algemeen aanwezig.
Cursor cursor = getContacts();
Deze wordt al een stuk moeilijker voor me.
Ik denk dat “Cursor” gelijk is aan het type dat door de methode getContacts wordt terug gegeven. Is dat juist?
private Cursor getContacts() {}
Deze begrijp ik al helemaal niet meer.
Wat doet “Cursor” hier?