2014-08-28 17 views
7

Nella mia classe corrente, ad esempio A, ho una colonna che è un puntatore a un'altra classe, ad esempio B. Qualcuno può, per favore, farmi sapere come posso impostare un valore per questa colonna in Android?Analisi: come impostare un puntatore in Android?

Ho provato il recupero della riga richiesta dalla classe B come ParseObject, e facendo un:

classAObject.put("column_name",classBParseObject); 

Ma, questo è solo la creazione di una riga vuota nella mia classe A, senza i puntatori. Qualsiasi aiuto in questo senso è molto apprezzato.

+0

Ciao, ecco. A che cosa serve il puntatore alla classe B? :) –

+0

È come una chiave esterna. Questa colonna punta a una particolare riga di classe B, basata sulla chiave primaria. –

+0

Ok, bene. Quindi nel tuo codice Android (dimentica Parse per ora), come memorizzi questa chiave per B? –

risposta

14

Se si dispone dell'ID oggetto dell'ID del corso per Computer Science, è necessario salvare utilizzando il metodo createWithoutData. Ricapitoliamo: hai una tabella Student con una colonna chiamata CourseId, ovvero un puntatore alla tabella Course, non la colonna CourseId della tabella Course. Non puoi puntare a una colonna, puoi puntare a un tavolo.

Così quando si crea un nuovo oggetto Studente, è necessario salvare un puntatore nella colonna CourseId per Computer Science. Supponiamo che objectID dell'oggetto Computer Science nella tabella Course sia "xyz123". Si potrebbe fare le seguenti:

ParseObject student = new ParseObject("Student"); 
student.put("CourseId", ParseObject.createWithoutData("Course", "xyz123")); 
//...set other values for the student object 
student.saveInBackground(); 

La documentazione Parse ha quello che ti serve e molto altro ancora - controlla la sezione sui dati relazionali: https://parse.com/docs/android_guide#objects-pointers

+0

Ho qualcosa da aggiungere sullo stesso argomento, come può qualcuno impostare il puntatore al suo valore predefinito (indefinito) o null? – Matt

+0

Grazie mille, è stato googling per ore. – Anirudh

+0

@ user2163298 come posso fare se sto salvando gli utenti nella tabella User di object come devo salvare ppointer della tabella User nella tabella di installazione usando parse.com in android – Erum

5

Se si tratta di una classe personalizzata quindi utilizzare il seguente codice (Eg : "AnotherClass" è una classe personalizzata)

classAObject.put("column_name", ParseObject.createWithoutData("AnotherClass", "abc123")); 

o se si tratta di analisi di classe, come d'uso, impianti, ecc, utilizzare in questo modo,

classAObject.put("column_name", ParseObject.createWithoutData(ParseUser.class, "abc123")); 
+0

Grazie per questa risposta. Mi stavo strappando i capelli cercando di scoprire come ottenere un puntatore al mio tavolo di installazione. La seconda opzione era la chiave! –

+0

Sei incredibile, grazie mille –

+0

Puoi anche fare Parse.User.createWithoutData (userObject.objectId) –

Problemi correlati