Я хотел бы, добавляет этот пример Apple [AccelerometerGraph] способность хранить данные в файле, пока приложение не закрывается. Не блокируя проблемы и другие дрянные проблемы набора данных реального времени.
Какая-либо идея, образец или что-то, с чем может играть полу новичок?
вы можете записывать данные акселерометра в NSMutableArray по мере их попадания, а затем, когда приложение закрывается, записывайте этот массив в файл с помощью:
[array writeToFile:DataPath atomically:YES];
просто хотите убедиться, что вы не сохраняете каждый однократная запись, или она может очень быстро разрастись. Сделайте некоторую проверку метки времени в объекте ускорения в
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
, чтобы он регистрировался каждые пару секунд в зависимости от того, как долго вы собираетесь его запускать. (этот метод, вероятно, нецелесообразно использовать в течение длительного времени без его регулирования или выполнения каких-либо других манипуляций с массивом, чтобы весь массив не удерживался в памяти в течение всего времени жизни приложения)
быстрый способ чтения файл, который вы написали.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *DataPath = [documentsDirectory stringByAppendingPathComponent:@"SOMEFILENAME"];
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:DataPath];
if([array count]<1){
//do something with data
}
Если вы просто хотите просмотреть данные по мере их поступления, вы можете сделать простой способ, просто записав их в консоль.
В MainViewController.m в методе - (void) accelerometer: просто добавьте
[filtered addX:filter.x y:filter.y z:filter.z]; // this line is already there
NSLog(@"%f, %f, %f", acceleration.x, acceleration.y, acceleration.z);
Затем, когда вы запустите его на устройстве, откройте консоль отладчика, и он будет передавать данные за вас. Вот что у меня получилось:
2010-07-13 22:15:45.187 AccelerometerGraph[11241:307] 0.072449, -0.018112, -1.068619
2010-07-13 22:15:45.203 AccelerometerGraph[11241:307] 0.072449, -0.018112, -1.068619
2010-07-13 22:15:45.219 AccelerometerGraph[11241:307] 0.072449, 0.000000, -1.050507
2010-07-13 22:15:45.236 AccelerometerGraph[11241:307] 0.054337, -0.018112, -1.032394
2010-07-13 22:15:45.254 AccelerometerGraph[11241:307] 0.054337, -0.018112, -1.014282
2010-07-13 22:15:45.272 AccelerometerGraph[11241:307] 0.072449, -0.018112, -1.050507
2010-07-13 22:15:45.287 AccelerometerGraph[11241:307] 0.072449, -0.018112, -1.068619