I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?
Cisco Certified Network Associate Exam,640-802 CCNA All Answers ~100/100. Daily update
You can use method in your app delegate:
ReplyDelete- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
to check how many times it was launched. Then you can simply use standard user defaults to read/write the value:
NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"numOfLCalls"];
[[NSUserDefaults standardUserDefaults] setInteger:i+1 forKey:@"numOfLCalls"];
After that check if "i" is greater then 5 and send a message to view controller so it will put alert message after its view loads or simply call the user defaults again where you want to display the alert and check value.
use NSUserDefaults in applicationDidBecomeActive:.
ReplyDeleteNSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
NSInteger appLaunchAmounts = [userDefaults integerForKey:@"LaunchAmounts"];
if (appLaunchAmounts == 5)
{
//Use AlertView
}
[userDefaults setInteger:appLaunchAmounts+1 forKey:@"LaunchAmounts"];
You could count the number of launches using NSUserDefaults.
ReplyDeleteSome more info: Saving an int to nsuserdefaults
You would implement your functionality in application delegate. Most probably in - (void)applicationDidBecomeActive:(UIApplication *)application method.
First you check if your launchesSoFar value is store. If not (if you get nil) you initialize it to 1 and don't forget to synchronize. If it exists already you increment it and again - sznchronize. If it's >=5 then do what you wan't to do.