Dans un an…

"Face au monde qui change, il vaut mieux penser le changement que changer le pansement." Pierre Dac
  • Home
  • A Propos
  • Applications
  • Tutoriels
8 Aug 2010

Twitter Weekly Updates for 2010-08-08

  • RT @mrboo: Sur Hellotipi, pour un visiteur web mobile sur Android il y en a 20 sur iPhone… …. >>> french paradoxe #
  • app iPhone 4 jours pour passer de Waiting for Review à In Review…. #lent #
  • RT @ptitcoin: les vacances sont propices à la collecte des P'tits Coins ! Merci à ces contributeurs ;o) #
  • oh c'est mimi : http://bit.ly/9gsd7K ;o) #
  • @zefranck : le New Dehli à St Jean, pas loin de la ficelle : excellent indien http://bit.ly/aMrrAp in reply to zefranck #
  • erreur : tester appli sur iPhone en utilisant le wifi (wouha ça va vite) puis sur ce même iPhone qui n'a pas la 3G sur le réseau mobile ;o( #
  • desespérant le cinéma l'été ………… ;o( #
  • les droits des enfants vus par un jugedes enfants : http://bit.ly/c27BqP #
  • RT @donkey20: Torchefelon est très calme pendant ces vacances, ca ne change pas du reste de l'année. : on s'ennuie ? ;o) #
  • RT @Alkanz: c'est une fille ? @flopi Notre nouveau bébé : http://twitpic.com/2ay8kv 50kg, rien que ça :-) : un garçon prénommé Onduleur…. #
  • Notre nouveau bébé : http://twitpic.com/2ay8kv 50kg, rien que ça :-) #
  • un peu de nouveauté pour commencer la semaine : http://bit.ly/aL4d4o #
  • "… confiait Jérémy, 35 ans. Les jeunes ont réussi à la photographier de loin" : ouf, on est encore jeune à 35 ans ! http://bit.ly/dpeQVe #
  • RT @ptitcoin: un p'tit coin dans le bronx à New York, bientôt au pied de la statue de la liberté ? #

Powered by Twitter Tools

8 August, 2010 at 20:00 by flo

Posted in Récréation | No Comments »

3 Aug 2010

Insérer une bannière pub dans un TableViewController

Le but est d’insérer une bannière publicitaire AdWhirl fixe en bas d’un TabViewController : la vue tabViewController reste “scrolable” sous la bannière publicitaire.

Il y a donc un Application Delegate MyAppDelegate pour initialiser l’appli et positionner le Navigation Controller.

Pour le TableViewController, le meilleur moyen d’insérer une bannière pub est d’implémenter un UIViewController MyViewController qui gère la vue dans laquelle il y a la bannière et le table view.

Il faut également créer les fichiers xib associés : MainWindow.xib et MyViewController.xib

Préalable : avoir ajouté le code nécessaire pour AdWhirl dans votre application, pour cela suivez les instructions AdWhirl.

Le code du delegate de l’application :

MyAppDelegate.h :

@interface MyAppDelegate : NSObject <UIApplicationDelegate> {

        UIWindow *window;
	UINavigationController *navController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;

@end

MyAppDelegate.m :


#import "MatafAppDelegate.h"
#import "AnalysesController.h"
#import "PushAndConnection.h"
#import "XMLToObjectParser.h"
#import "Parites.h"

@implementation MatafAppDelegate

@synthesize window;
@synthesize navController;
@synthesize registered;
@synthesize token;
@synthesize parityPushOn;

#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)opts {
		// Override point for customization after app launch
	[window addSubview:navController.view];
	[window makeKeyAndVisible];

	return YES;
}

#pragma mark -
#pragma mark Memory management
- (void)dealloc {
	[window release];
	[navController release];
	[super dealloc];
}

Le code du controller qui va gérer la “TableView” et la bannière pub :

MyViewController.h :

#import <UIKit/UIKit.h>
#import "AdWhirlDelegateProtocol.h"

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, AdWhirlDelegate> {
	NSArray *controllers;
	UITableView *mytableView;
	UIView *mycontentView;

	/* pour adWhirl PUB */
	AdWhirlView *adView;
}

@property (nonatomic, retain)NSArray *controllers;
@property (nonatomic, retain) IBOutlet UITableView *mytableView;
@property (nonatomic, retain) IBOutlet UIView *mycontentView;

@property (nonatomic, retain) AdWhirlView *adView;

//pour voir si une connexion internet est dispo
-(BOOL)isDataSourceAvailable;

@end

MyViewController.m :


#import <SystemConfiguration/SystemConfiguration.h>
#import "MatafAppDelegate.h"
#import "FirstLevelViewController.h"
#import "SecondLevelViewController.h"
#import "AnalysesController.h"
#import "NewsController.h"
#import "GraphsController.h"
#import "ToolsController.h"

#import "AdWhirlView.h"
#import "adWhirlConstants.h"

@implementation FirstLevelViewController
@synthesize controllers, mytableView, mycontentView;
@synthesize adView;

#pragma mark Gestion banière pub

- (void)createAdBannerView {
	/*pour adWhirl PUB */
	self.adView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
	self.adView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
	NSString *curDevice = [[UIDevice currentDevice] name];
	NSLog(@"current device is %@",curDevice);
	NSRange range = [curDevice rangeOfString:@"iPad"];
	if(range.location != NSNotFound) {
		NSLog(@"iPad");
		self.adView.frame = CGRectMake(220, 950, 320, 50);
	} else {
		self.adView.frame = CGRectMake(0, 367, 320, 50);
	}

	[self.view addSubview:self.adView];
}

#pragma mark Initialization
- (void)viewDidLoad {

	self.title = @"MyApp";
		//tableau pour ranger tous les controllers
	/* initialisation parites */
	NSArray *array = [[NSArray alloc] initWithObjects:@"riri",@"fifi",@"loulou",nil];
	self.controllers = array;
	[array release];

	[self createAdBannerView];
	[super viewDidLoad];
}

- (void)viewDidUnload {
	self.controllers = nil;
	self.mytableView = nil;
	self.mycontentView = nil;
	[super viewDidUnload];
}

- (void)dealloc {
	[controllers release];
	[mytableView release];
	[mycontentView release];
	[super dealloc];
}

#pragma mark -
#pragma mark Table data Source Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

/* nom de la methode : tableView:numberOfRowsInSection
 * return : NSInteger
 * arg1 = (UITableView*)tableView
 * arg2 = (NSInteger) section
 */
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {
	return [self.controllers count];
}

/* nom de la methode : tableView:cellForRowAtIndexPath (cellForRowAtIndexPath est une étiquette)
 * return : (UITableViewCell *)
 * arg1 = (UITableView*)tableView
 * arg2 = (NSIndexPath *)indexPath
 */
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
	static NSString	*FirstLevelCell = @"FirstLevelCell";

	UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:FirstLevelCell];
	if(cell == nil) {
		cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:FirstLevelCell] autorelease];
	}

		//configure the cell
	NSUInteger row = [indexPath row];
	cell.textLabel.text = [controllers objectAtIndex:row];
	NSLog(@"controller.title=%@",controller.title);
	cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

	return cell;
}

#pragma mark -
#pragma mark Table View Delegate Methods
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
	/* do whatever you want when user clic on a line of the TableView */
}

#pragma mark AdWhirlDelegate methods
- (NSString *)adWhirlApplicationKey {
	return ADWHIRLAPPKEY;
}

- (UIViewController *)viewControllerForPresentingModalView {
	return [((MatafAppDelegate *)[[UIApplication sharedApplication] delegate]) navController];
}

Pour les fichiers xib:

  • MainWindow.xib : ajouter un Navigation Controller et “control drag” de MyAppDelegate vers ce navigation controller pour lui associer l’Outlet navController défini dans le delegate.
    Dans ce NavigationContrller, la classe de la View doit être positionnée à MyViewController
  • MyViewController.xib : ajouter un objet View. Dans cet objet View, ajouter un objet View puis dans ce 2ème objet View, ajouter un objet TableView. Connecter les outlet : myContentView avec la 2ème View, mytableView avec le TableView et la 1ère View avec la View du file’s owner. N’oublier pas de connecter DataSource et Delegate du TableView au File’s Owner

Je n’aurai pas pu écrire ce tutoriel sans avoir lu celui-ci qui explique comment ajouter une bannière iAd dans un TableViewController. Merci à l’auteur !

3 August, 2010 at 14:32 by flo

Tags: AdWhirl, bannière pub, iAd, UITableViewController
Posted in iPhone, tutoriels | No Comments »

2 Aug 2010

iPhone : Remplacer le titre d’un TableViewController par une image

Dans l’implémentation d’un UITableViewController, il est possible de remplacer le titre par une image :

- (void)viewDidLoad {
	self.title = @"Mon Titre";
		// ajout d'une image dans la barre du controller
	UIImage *logoApp = [UIImage imageNamed:@"image_133_50.png"];
	UIImageView *logoView = [[UIImageView alloc] initWithImage:logoApp];
	self.navigationItem.titleView=logoView;
}

Il est important de bien positionner le titre malgré tout car c’est lui qui apparait dans le bouton “back” du ViewController suivant.

2 August, 2010 at 17:40 by flo

Tags: iPhone, tutoriels, UITableViewController
Posted in iPhone, tutoriels | No Comments »

2 Aug 2010

iPhone : afficher une AlertView

Pour afficher un message d’alerte pour l’utilisateur, il existe la classe UIAlertView.

Il est possible de définir le titre et le message. Un delegate doit être défini pour gérer les actions associées au(x) boutons présents dans la vue.
Le delegate doit être conforme au protocole UIAlertViewDelegate.

Un petit exemple de code :


if ([dataAndUrl count] != 0) {
/*action si il y a des données */
} else {
UIAlertView *servicesDisabledAlert = [[UIAlertView alloc] initWithTitle:@"No Data"
message:@"There is no data to display"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[servicesDisabledAlert show];
[servicesDisabledAlert release];
}

Et le code pour le AlertView delegate :

#pragma mark Alert View delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"alertView delegate");
switch(buttonIndex) {
case 0:
NSLog(@"case 0");
/* ce qu'il faut faire si clique sur OK = cancelButton*/
break;

case 1:
NSLog(@"case 1");
/* si otherButton existe, définir ici l'action si on clique dessus */
break;

default:
NSLog(@"default");
break;
}
}
2 August, 2010 at 11:54 by flo

Tags: iPhone, tutoriel, UIAlertView
Posted in iPhone, tutoriels | No Comments »

2 Aug 2010

Quelques nouveautés…

Pour avoir une meilleur lisibilité de l’évolution des applications mobiles que nous publions, j’ai ajouté sur ce blog une nouvelle page “Applications” qui permet de voir les applications publiées par “la division mobile de dauran” ;o)

On y retrouve les applications classées par plateforme : android ou iPhone.

J’ai aussi ajouté une page “Tutoriels” pour rassembler les tuto que je publie.

Je vais essayer de faire plus de billets de ce genre ; l’idée étant de publier un tuto à chaque fois que je dois chercher un peu dans la doc ou sur le web pour faire avancer mes développements, un peu comme un mémo donc.

2 August, 2010 at 10:20 by flo

Tags: android, application mobile, iPhone, tutoriels
Posted in Business, android, iPhone | No Comments »

1 Aug 2010

Twitter Weekly Updates for 2010-08-01

  • chat en boîte : http://images.autourduncafe.fr/2010/07/chat-ninja1.jpg #
  • original : http://autourduncafe.fr/2010/07/30/sculpture-de-crayons/ #
  • Entre la chimpanzée qui se pavane et la bourgeoise qui court les soldes, il n'y a pas de différence intrinsèque…. http://fb.me/EYMisMWQ #
  • RT @altolabs: Arcep : La 4G arrive dans un 1 an en France http://bit.ly/doKjgJ (via @twandroid) #
  • RT @dauran: Si j’étais un toro, je choisirais l’arène http://bit.ly/cD0Wz9 #
  • RT @altolabs: La France en tete des telechargements d'applications pour smartphones en Europe http://bit.ly/b1uIp2 #
  • RT @marilor: :) ) RT @bm4rs: Un Chef de Projet est un homme qui pense que 9 femmes peuvent en 1 mois, mettre au monde un enfant! via @Alkanz #
  • RT @technofeliz: On ne dit pas… Putain ça marche pas cette URL ! mais on dit… http://bit.ly/bc09GU #ondp via @pressecitron #
  • RT @ozap: Téléphone : Bertignac confirme la préparation d'une tournée http://bit.ly/a10hKw : je veux y être ! #
  • RT @antoinepic: Mobile Apps That Don't Exist We Wish We Had (New York Times) http://j.mp/c01lif #v #
  • RT @pressecitron: Confort visuel : connaissez-vous la règle des 20-20-20 ? http://bit.ly/bw3bnx #

Powered by Twitter Tools

1 August, 2010 at 20:00 by flo

Posted in Récréation | No Comments »

29 Jul 2010

Si j’étais un toro….

Si j’étais un toro, je choisirais l’arène, je me perdrais dans les plis de la cape, je ploierais l’échine sous les coups du picador, je chasserais les banderilles de ma nuque et je chargerais, encore et encore, l’armure dressée vers le ciel, cet ennemi de soie et de lumière jouant de son intelligence pour honorer ma force, m’offrant par amour la liberté ultime de combattre.

source : “D’une barbarie à l’autre“

29 July, 2010 at 11:13 by flo

Posted in Uncategorized | No Comments »

25 Jul 2010

Twitter Weekly Updates for 2010-07-25

  • need un bureau comme ça pour bosser, avec un vrai arbre et une bibliothèque derrière :) http://ow.ly/2fHaK (via @TheInspirationB) #
  • comment afficher du contenu web dans une appli iPhone : http://bit.ly/ap6SSu #
  • rien n'est écrit : http://www.pocarles.com/2010/07/rien-nest-ecrit/ #
  • RT @usinenouvelle: Dess: il fabrique le dernier parasol français http://bit.ly/9zwDql #
  • RT @kReEsTaL: Oui, Barbie suce : http://twitpic.com/27m0qz (désolée) #
  • RT @dauran: RT @aljoannes: Facebook ment aux annonceurs sur le nombre de ses abonnés http://j.mp/cueLvy #
  • RT @GillesKLEIN: Photo l'Orque jaillit sur voilier qui démâte Afrique du Sud (nombreux quotidiens internationaux) http://twitpic.com/27hqar #
  • RT @codeur: Voilà pourquoi les développeurs détestent IE6 http://bit.ly/ankdZP #
  • un avis sur le film : Public Enemies avec Jonnhy Depp ??? #
  • histoire des beatles : http://autourduncafe.fr/2010/07/20/histoire-des-beatles #
  • je suis contre les gens en vacances qui jouent mal du violon sous ma fenêtre pendant que MOI, je bosse ;o) #
  • RT @Monolecte: Aujourd'hui, j'entame la 3ème semaine de rhume et j'embraye sur une petite surchauffe digestive./ erreur de saison non ? ;o) #
  • RT @zeyesnidzeno: "Le job de Nicolas Sarkozy" par Mazarine Pingeot http://bit.ly/bTegAZ #
  • 90 Degrees Can Change Everything : http://bit.ly/bNSUlO #

Powered by Twitter Tools

25 July, 2010 at 20:00 by flo

Posted in Récréation | No Comments »

23 Jul 2010

Comment afficher du contenu web dans une appli iPhone

J’ai cherché un moment en me demandant comment parser de l’html proprement ou bien “traduire” le contenu de ma page web pour parser du xml (ce qui est un peu plus simple) mais alors comment gérer la mise en page, les problèmes d’encodage des caractères….. Je me suis dit pfouh la prise de tête…..

ET BIEN NON ! il existe un objet tout prêt qui charge le contenu de la page web et l’affiche comme dans le navigateur !

En lisant le paragraphe “Displaying Web Content” du tutoriel d’Apple et en se basant sur l’exemple de code UICatalog , hop, en 10 minutes c’est fait !!

Après libre à chacun de créer sur son serveur des pages web simplifiées pour l’affichage dans une app.

23 July, 2010 at 11:21 by flo

Tags: afficher une page web, application iphone, iPhone
Posted in iPhone | No Comments »

18 Jul 2010

Twitter Weekly Updates for 2010-07-18

  • a force d'écrire les choses importantes ou à faire en rouge dans mon agenda, tout est écrit en rouge ;o) #fail #
  • vie de femmes qui travaillent, enfin qui essayent ….. http://viedemeuf.blogspot.com/ #
  • RT @pressecitron: Tuto Mobile, des didacticiels pour développer des applications mobiles http://goo.gl/fb/XxJUF #
  • RT @Anseaume: Alors lui il lui a pas demandé sa main après le match, il l'a carrément emballée ! http://twi.mn/jJ #
  • RT @GillesKLEIN: Microsoft 92 736 employés, Apple 36 800 employés, Google 19 835 employés (Financial Times) :o n parle rentabilité là ;o) #
  • grumeau foulahonte : http://grumeautique.blogspot.com/2010/07/grumeau-foulahonte-episode-2.html #
  • question de mon fiston de 6 ans au réveil : c'est qui qui a gagné la coupe du monde ? #grainedesupporter #

Powered by Twitter Tools

18 July, 2010 at 20:00 by flo

Posted in Récréation | No Comments »

« Older Entries
  • Appli Android et iPhone

    • Applications
      • Android
        • M-Converter
        • P’tit Coin (Loo or Pee?)
      • iPhone
        • M-Converter
    • Tutoriels
  • Enregistrement Développeur iPhone

    Processus d'enregistrement comme développeur d'applis iPhone

  •  

    September 2010
    M T W T F S S
    « Aug    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • Recent Posts

    • Twitter Weekly Updates for 2010-08-08
    • Insérer une bannière pub dans un TableViewController
    • iPhone : Remplacer le titre d’un TableViewController par une image
    • iPhone : afficher une AlertView
    • Quelques nouveautés…
  • Categories

    • android
    • Audience
    • Business
    • e-commerce
    • eco-reflexion
    • écolo ? non intelligent !
    • education
    • iPhone
    • livre
    • media
    • Récréation
    • société
    • spectacle enfant
    • Stratégie
    • tutoriels
    • Uncategorized
  • Blogroll

    • Dauran
    • Forex
    • L’art en couleurs
    • P'tit Coin
Dans un an… is proudly powered by WordPress
Design & code by Jonk
Entries (RSS) and Comments (RSS).