07-IOSCore - CoreData补充、音频视频

xmlplist取代了  数据库被coredata取代了

一、Core Data 高级补充

    1. Core Data 本质是什么?操作数据库的数据

        ORM

        Object Relationship Mapping

 

        对象关系映射解决的问题是->对象 和 数据库之间的关系

       

        数据库:  Database

        专门用于存储、查询、增删改数据的地方

        从类型上分:

            关系型(最广泛)

            字典型         

 

        关系型数据库:

        用表去表达一个类型的数据,一个表里有很多条数据,每条数据的格式是一样的      

 

        CREATE TABLE Message {

            boolean fromMe

            INT type

            VARCHAR(30) content

            DATETIME time

        }

       

SQL

        结构化查询语言

        用于查询

        SELECT * from Message

                where fromMe = true

                ordered by time

               

        SQL(字符串)

        -----------> Database

        字符串<-----------

 

        数据库本身应该是和操作它的编程语言不相关

 

        MySQL            很简单很方便 - java / php

        SQLite             专门针对移动设备

        SQL server      微软出的 C C++ C# VB

        ORACLE           大型数据库

        Sliverlight -> Flash

        WPF -> Flex

         -> MXML

        Window

        NavigationWindow

        Line    

 

    2. 版本

        当你修改coredata的数据模型xcodedatam

        出现新版本的数据结构

        TRMessage

        type fromMe content

           

        type fromMe content createdTime readTime      

        Core Data Migration

        帮助你比较两个数据模型的区别

        手机已经安装并且运行的数据模型 和

        新版本程序带过来的新的数据模型

   

    3. 删除

        单实体 删除很简单

        多实体 删除很变态

 

relationshipdeleteRule属性解析:

        Nullify     置空  删除群的时候 会删除掉 从群指向人的指针 那么 人指向群的引用置空

      Cascade 如果删除掉文件夹那么文件夹里的所有东西也就不再了。也相当于 级联删除 在删除板块 会删除掉版块->帖子 帖子也删了

        Deny     删除父版块时 如果发现有子版块 则删除不成功

 

    4. 深化Context

        Managed Object Context           跟查询相关的 栅栏

        Persistent Store Coordinator

        Persistent Object Store           跟存储相关的 圈

 

 

二、 音频

    导入AVFoundation框架

    Audio & Video Foundation

    创建AVAudioPlayer 音频播放器

常用属性:

play      播放

pause    暂停

valume   音量

currentTime 当前时间

duration    歌曲总时间

 

TMusic

1. 点击播放能播放

    滑动进度条能更改歌曲播放进度

    滑动音量条能修改歌曲音量  

 

2. 支持封面

获取封面代码:

//元数据 Metadata

   

    NSURL * fileURL = [NSURL fileURLWithPath:path];

    AVURLAsset * mp3Asset = [AVURLAssetURLAssetWithURL:fileURL

                                                options:nil];

    for (NSString * format in [mp3Asset availableMetadataFormats]){

        for (AVMetadataItem * item in

             [mp3Asset metadataForFormat:format]){

            NSString * key = item.commonKey;

           

            id map = item.value;

            if ([key isEqualToString:@"artwork"]) {

                NSData * data = [map objectForKey:@"data"];

                self.imageView.image = [UIImage imageWithData:data];

            } else {

                NSLog(@"\n%@:%@", key, item.stringValue);

            }

        }

    }

    点击上下切 能换歌 使用currentTime

    歌曲音乐的路径是从TMusic对象中的path/filename

    属性中拼凑字符串获取的

 

    播放当前歌曲结束后,能够自动跳转到下一首歌播放,这里使用到代理中的一个方法:

遵守协议 AVAudioPlayerDelegate

self.player.delegate = self;

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{

   

    NSLog(@"播放完成");

   

}

    如果自动跳转的时候,当前页面是播放列表页面/当前的组页面

    你的小绿条(正在播放的提示)需要变换位置  

 

    3. 视频播放

导入MediaPlayer.framework框架

- (IBAction)tap:(id)sender {

    NSURL *url = [[NSBundlemainBundle] URLForResource:@"product-design-animation-cn-20130712_848x480"withExtension:@"mp4"];

    self.player = [[MPMoviePlayerControlleralloc] initWithContentURL:url];

    self.player.view.frame = self.view.bounds;

    [self.viewaddSubview:self.player.view];

    [self.playerplay];

    self.player.fullscreen = YES;// 全屏

   

    // MPMoviePlayerWillExitFullscreenNotification : 退出全屏前

    [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(close:) name:MPMoviePlayerWillExitFullscreenNotificationobject:self.player];

}

-(void)close:(id)sender{

    [self.player.viewremoveFromSuperview];

    [[NSNotificationCenterdefaultCenter] removeObserver:selfname:MPMoviePlayerWillExitFullscreenNotificationobject:self.player];

}

单词、 

 

    Migration   迁移         Mai3 Ge. Rui1 Shen.

 

posted @ 2014-03-05 18:35  回读(IOS)  阅读(443)  评论(0编辑  收藏  举报