PDA

View Full Version : [android] realizzare applicazione con notifiche push


titanum
17-05-2012, 10:34
Ciao ragazzi,

sono un programmatore java e da poco mi sono avvicinato alla programmazione android. Ho fatto varie prove ed ora sto cercando di realizzare un'applicazione nativa con le notifiche push, ho trovato questo tutorial per creare un'applicazione di prova

http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html

ho copiato le classi come ha consigliato il tutorial (ovviamente ho usato il mio package) e ho creato i file xml, ma ho alcuni errori, ad esempio nella classe MessageReceivedActivity in questa riga
...
setContentView(R.layout.activity_result);
...
ho questo errore:

activity_result cannot be resolved or is not a field

Nel tutorial ad un certo punto fa creare un file activity_result.xml, quella riga è un riferimento a questo file? Se si dove va messo affinché venga visto?

Poi per quanto riguarda il server non capisco bene come funziona, ci sono due classi main ma quale bisogna lanciare in esecuzione per farlo partire?

Oppure potreste darmi dei consigli o altre risorse per realizzare quest'applicazione? Grazie

pabloski
17-05-2012, 11:28
Si, per quanto possa sembrare assurdo, R.layout.activity_result si riferisce proprio a quel file xml.

Dai un'occhiata a questo tutorial http://blog.serverdensity.com/2010/10/07/android-push-notifications-tutorial/

E soprattutto scaricati il libro gratuito Android Programming da punto-informatico.it. Il punto è che Android presenta varie stranezze rispetto a come, un pò tutti, siamo abituati a programmare.

titanum
18-05-2012, 09:57
Ciao grazie per la risposta e del consiglio, ho scaricato il manuale di punto-informatico. Nel frattempo sapresti dirmi dove mettere il file activity_result.xml affinché venga visto dal programma?
Grazie ancora

pabloski
18-05-2012, 10:11
E' un file layout, quindi va messo sotto /res/layout. Leggendo il libro, la prima cosa che spiega è proprio questa "strana" organizzazione dei software android.

Strana perchè non ci siamo abituati, ma risulta molto comoda per gestire progetti complessi.

titanum
21-05-2012, 10:57
Ciao, sto leggendo il libro di io programmo, ora ho un problema con questa classe, presa dal tutorial che ho citato nel primo post:


public class MessageReceivedActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_result);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String message = extras.getString("payload");
if (message != null && message.length() > 0) {
TextView view = (TextView) findViewById(R.id.result);
view.setText(message);
}
}

super.onCreate(savedInstanceState);
}
}


il problema nasce in questa riga:
setContentView(R.layout.activity_result);

ho definito, sempre seguendo il tutorial, un file activity_result.xml e l'ho messo in res/layout, ma da quest'errore:
activity_result cannot be resolved or is not a field

A cosa può essere dovuto?

pabloski
21-05-2012, 11:04
Potrebbe essere dovuto alla mancanza di questo elemento nel file xml

android:id="@+id/mio_id"

E' proprio quel mio_id che poi permette di riferirsi ad un elemento via codice tramite R.layout.mio_id

titanum
21-05-2012, 11:49
Ho trovato, era dovuto al fatto che avevo importato la libreria android.R, togliendo l'import i file vengono visti. Grazie pabloski per l'assistenza :)
Ora mi resta da capire come funziona il server, sempre nel tutorial di vogella ci sono due classi main ma non capisco quale lanciare. Avete qualche idea?
Grazie