Applicasa ….Gestire un database online per le nostre app in modo semplice e veloce!!

Oggi vedremo come sfruttare un potente e utile servizio offerto da applicasa, che ci permetterà di creare e gestire  in meno di 10 minuti un database online per le nostre applicazioni il servizio è disponibile sia per  iOS, che per Android .

Questo servizio non offre solo la gestione di database ma ci permette di inviare delle notifiche push alle nostre applicazioni ma di questo ne parleremo in un ‘altro articolo per ora concentriamoci sulla gestione di un database.

Quindi il primo passo da effettuare è quello di registrarci al seguente sito : http://applicasa.com/

Una volta effettuata la registrazione ed esserci loggati avremo davanti a noi una schermata tipo questa:

Ora Dobbiamo creare una nuova applicazione quindi facciamo click su my apps /add app

Come nome inseriamo Film,ora spostiamoci nella tab  database per poi selezionare usergroups  e cliccare su add object

in questo modo creeremo una nuova Tabella e settiamo i due campi table name e title con Film

Selezioniamo il bottone add field

Scegliamo come tipo di file text

Settiamo il tutto come nella figura in basso

ripetiamo la stessa operazione ma questa volta a posto di titolo inseriamo genere

ora premiamo il pulsante build database  aspettimo pochi minuti

e poi  facciamo un click su iOS

A questo punto  ci verrà richiesto di scaricare sdk  e il framework una volta scaricati e unzippati spostiamoli sulla nostra scrivania

Senza chiudere il browser passiamo alla creazione di un nuovo progetto in xcode di tipo single view application questa volta utilizzeremo lo storyboard e diamogli come nome videoteca per prima cosa aggiungiamo questi framework corelocation e system configuration ora sempre nella tabella dei framework  clicchiamo su add other

e selezioniamo la cartella applicasa.framework

il prossimo passo da compiere e quello di inserire l’intera cartella applicasa_sdk all’interno del nostro progetto.

Ora spostiamoci nel tab  build settings e cerchiamo other linker flags e all’interno del suo campo aggiungiamo questa stringa :-ObjC -all_load

Ora andiamo a creare l’interfaccia grafica che dovrà essere come la seguente:

Iniziamo a dichiarare gli oggetti inseriti nella nostra applicazione quindi nel file viewcontroller.h scriviamo:


#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITextFieldDelegate>

@property (retain, nonatomic) IBOutlet UITextField *TitoloLibro;

@property (retain, nonatomic) IBOutlet UITextField *GenereLibro;

@property(nonatomic,retain)IBOutlet UITextField *IdentificatoreScelto;

@property(nonatomic,retain)IBOutlet UITextField *TitoloRisposta,*GenereRisposta;

- (IBAction)AggiungiLibro:(id)sender;

-(IBAction)mostra:(id)sender;

@end

Per poi sintetizzarli nel file view controller  .m cosa molto importante è importare anche questo file :

#import “Film.h”

Ora dobbiamo tornare sul sito applicasa e copiare i metodi che ci sono stati generati (questi metodi sono univoci e creati prettamente per la nostra applicazione )quindi rechiamoci nel tab ws e come tipo di metodo scegliamo add e copiamo il codice generato da inserire nel file viewcontroller. m

Il vostro codice generato dovrebbe essere presso a poco così:


-(void)addFilmItem{

Film *film=[[Film alloc]init];

[film set_filmTitolo:TitoloFilm.text];

[film set_filmGenere:GenereFilm.text];

NSError *error=nil;

[film set_filmID:[Film addFilm:film Error:&error]];

if (error){

UIAlertView *alert=[[UIAlertView alloc]initWithTitle:[NSString stringWithFormat:@"Error code:%d",[error code]] message:[error localizedDescription] delegate:self cancelButtonTitle:@"oops" otherButtonTitles: nil];

[alert show];

[alert release];

}else{

NSLog(@"id:%d",[film _filmID]);

}

[film release];

}

l’unica parte del codice da modificare è la seguente

[film set_filmTitolo:<#(NSString *)#>];
[film set_filmGenere:<#(NSString *)#>];

e la modificheremo in questo modo:

[film set_filmTitolo:TitoloFilm.text];

[film set_filmGenere:GenereFilm.text];

Ora nel metodo creato da noi aggiungi film non facciamo altro che richiamare il metodo  copiato da applicasa in questo modo:

-(IBAction)AggiungiFilm:(id)sender{

[self addFilmItem];

}

Ora ritorniamo sul sito di applicasa e questa volta nella tab dei metodi scegliamo get e ripetiamo lo stesso procedimento  di prima cioè copiamo il metodo e incolliamolo nel file viewcontroller.m  anche questo codice dovrebbe essere simile a questo:


-(void)getFilmItem{

NSError *error=nil;

Film *film=[Film getFilmByID:IdentificatoreScelto.text.intValue Error:&error];

if (error){

UIAlertView *alert=[[UIAlertView alloc]initWithTitle:[NSString stringWithFormat:@"Error code:%d",[error code]] message:[error localizedDescription] delegate:self cancelButtonTitle:@"oops" otherButtonTitles: nil];

[alert show];

[alert release];

}else{

NSLog(@"object:%@",film);

TitoloRisposta.text=film._filmTitolo;

GenereRisposta.text=film._filmGenere;

}}

&nbsp;

La cosa fondamenta è cambiare la stringa

Film *film=[Film getFilmByID:<#(int)#> Error:&error];

in questo modo:

Film *film=[Film getFilmByID:IdentificatoreScelto.text.intValue Error:&error];

Niente paura ragazzi abbiamo quasi finito ora rimanendo sempre all’interno di questo metodo dopo al

NSLog(@”object:%@”,film);

aggiungiamo quest 2 righe di codice

TitoloRisposta.text=film._filmTitolo;

GenereRisposta.text=film._filmGenere;

in modo da mostrarci la risposta del nostro db

Per rendere l’applicazione più più maneggevole inseriamo anche il metodo per la chiusura della tastiera:


- (BOOL)textFieldShouldReturn:(UITextField *)textField {

[textField resignFirstResponder];

return YES;

}

L’ultima parte di codice da scrivere è la seguente :


-(IBAction)mostra:(id)sender{

[self getFilmItem];

}

dopo aver fatto tutti gli opportuni collegamenti proviamo a lanciare l’applicazione e inseriamo qualche titolo con il rispettivo genere del film

una volta aggiunti i vari film  i dati saranno leggibili anche dal sito applicasa nella sezione cms

ora che abbiamo caricato i film  all’interno del db proviamo a fare una richiesta al nostro db tramite l’iphone insere ad esempio nella casella id 1

Questo è il risultato finale:

Per questo tutorial  è tutto per domande e dubbi scrivete sotto al post oppure utilizzate il nostro forum un saluto dallo staff di iProg