<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[丶Qin的博客]]></title><description><![CDATA[写完代码就去做饭--！]]></description><link>https://blog.youkuaiyun.com/qin8752</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qin8752]]></copyright><item><title><![CDATA[基于AIML2.0写一个机器人]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/79386121</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/79386121</guid><author>qin8752</author><pubDate>Tue, 27 Feb 2018 15:33:51 +0800</pubDate><description><![CDATA[因为本猿自入行以来都有在开发和维护语音识别这类的产品。只不过是基于像科大讯飞，云知声这类语音引擎，所以对语言识别这块比较好奇，因为好奇，所以也很无奈……之前有尝试过正则式匹配，结果你懂的。去年年底偶尔看到了AIML（全名为Artificial Intelligence Markup Language（人工智能标记语言）），然后翻了两篇入门博客，感觉这是个好东西。然后，下载了别人的例子来运行，这回让...]]></description><category></category></item><item><title><![CDATA[FFMpeg--AVInputFormat]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/68059224</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/68059224</guid><author>qin8752</author><pubDate>Wed, 29 Mar 2017 09:02:32 +0800</pubDate><description><![CDATA[typedef struct AVInputFormat {
/**
 * 简短的名称描述
 * A comma separated list of short names for the format. New names
 * may be appended with a minor bump.
 */
const char *name;/**
 * 一个较长的名称信息描述，更人性化
 * De]]></description><category></category></item><item><title><![CDATA[FFMpeg--AVOutputFormat]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/67637528</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/67637528</guid><author>qin8752</author><pubDate>Tue, 28 Mar 2017 15:32:11 +0800</pubDate><description><![CDATA[typedef struct AVOutputFormat { 
    const char *name; 
    /** 
     * 格式人性化描述名称 
     * Descriptive name for the format, meant to be more human-readable 
     * than name. You should use the NULL_IF_]]></description><category></category></item><item><title><![CDATA[分享一个简单新闻客户端源码]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/53897748</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/53897748</guid><author>qin8752</author><pubDate>Tue, 27 Dec 2016 18:01:21 +0800</pubDate><description><![CDATA[使用android material design 风格、使用Fragment、TabLayout、ViewPager搭建UI主框架。 
涉及知识点： 
Volley的基本使用 
Gson的使用 
Fragment、Toolbar、TabLayout、ViewPager、NestedScrollView、ContentLoadingProgressBar、RecyclerView等组件的使用。因为网]]></description><category></category></item><item><title><![CDATA[swfit——使用AVPlayer自定义VideoView]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/53665198</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/53665198</guid><author>qin8752</author><pubDate>Thu, 15 Dec 2016 09:14:10 +0800</pubDate><description><![CDATA[先看看效果： 
播放本地视频：

        guard let file = Bundle.main.path(forResource: "radio", ofType: ".mp4") else {
            NSLog("No found File")
            return
        }
        videoView?.setVideoData(]]></description><category></category></item><item><title><![CDATA[Swift IOS原生SQLite库的使用]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/53542832</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/53542832</guid><author>qin8752</author><pubDate>Fri, 09 Dec 2016 18:20:46 +0800</pubDate><description><![CDATA[使用原生SQLite3库，首先给工程添加对应的库 
至于libsqlite3与libsqlite3.0的选择，可以任意选一个，有相关文章说这两个其实就是一个东西，libsqlite3.dylib本身是个链接，在这里它指向libsqlite3.0.dylib。因为libsqlite3.0是C实现的，所以需要一个桥接文件，使得我们能在swift中调用C的接口。创建一个头文件（命名自己决定，这里我使用SQ]]></description><category></category></item><item><title><![CDATA[Swift-反射机制学习（简单实现Json格式与对象映射）]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/53462338</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/53462338</guid><author>qin8752</author><pubDate>Mon, 05 Dec 2016 09:48:34 +0800</pubDate><description><![CDATA[因为工作原因，学习ios开发断断续续已经有两个多月了。前阵子在学习网络编程的遗留的一个问题——有关swift反射的内容。Android开发时经常会遇到JSON格式与对象之间的转换，当然现阶段开源框架大把；也有人说“要学会偷懒”；这些也先不论了，不过说实话写框架比单纯的调UI有成就感。 
闲话不多了，进入正题。这边文章涉及的知识有协议、扩展、泛型、反射，如这些你不太熟悉，那你自己看。JSON格式：]]></description><category></category></item><item><title><![CDATA[分享一个基于Swift3.0的ios入门学习Demo]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/53323115</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/53323115</guid><author>qin8752</author><pubDate>Thu, 24 Nov 2016 17:56:34 +0800</pubDate><description><![CDATA[分享一个基于Swift3.0的ios入门学习Demo 
看Swift基础有一段时间了，但是很少实践，最近准备抽时间把ios的基础过一遍，就给自己设计了这样一套作业（还有很多没完成，后续更新）。根据以前android的自学经验，入门涉及UI组件基础、自定义组件、数据存储、线程、网络、多媒体，当然你还有可能接触游戏开发。 
 
目前工程已经涉及到Autolayout、网络、json和一些基本UI组件的使]]></description><category></category></item><item><title><![CDATA[自己整理的一个Android数据库工具框架]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/52891025</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/52891025</guid><author>qin8752</author><pubDate>Sat, 22 Oct 2016 11:17:28 +0800</pubDate><description><![CDATA[JTools for android 一个数据库工具框架和一些常用的方法整理

DbUtils: 数据列类型
public enum ColumnType {
    COLUMN,//普通数据列
    PRIMARY,//主键值
    UNIQUE, //数据列唯一限制
    FOREIGN,//外健限制
    EQUALS   //对象相等默认的比较数据
}


对于数据列定]]></description><category></category></item><item><title><![CDATA[（swift） iOS线程二 ——Operation和OperationQueue简单用法]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/52890872</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/52890872</guid><author>qin8752</author><pubDate>Sat, 22 Oct 2016 10:59:32 +0800</pubDate><description><![CDATA[swift学习 
二、Operation和OperationQueue简单用法首先还是先查看一下这两个class的开发说明： 
（开发说明中NSOperation的一些链接已经取消了，已经被替换为Operation，以下就引用“Operation”或者“操作”来说明）这里说，Operation是一个抽象类，可以用来封装一个任务，其中包含代码逻辑和数据。因为Operation是抽象类，所以编写代码时不]]></description><category></category></item><item><title><![CDATA[（swift） iOS线程一 ——Thread接口简单用法]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/52885526</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/52885526</guid><author>qin8752</author><pubDate>Fri, 21 Oct 2016 17:24:25 +0800</pubDate><description><![CDATA[swift学习： 
一、线程（Thread）接口简单用法首先笔者一直在做安卓开发，只是一位ios的初学者，以下内容如有不正确之处，还望各位大牛们指出。 
 
在网上很多帖子里面，我有看到大家常使用的NSThread，可能因为我的XCode已经更新到了8.0，demo 默认的SDK版本为10.0，不幸的NSThread已经被Thread替代。开发说明中可以看到，Thread提供了三个初始化方法： 
第]]></description><category></category></item><item><title><![CDATA[Android 6.0应用权限请求]]></title><link>https://blog.youkuaiyun.com/qin8752/article/details/52807596</link><guid>https://blog.youkuaiyun.com/qin8752/article/details/52807596</guid><author>qin8752</author><pubDate>Thu, 13 Oct 2016 15:58:25 +0800</pubDate><description><![CDATA[从API 23版本开始，Google修改了应用权限管理的模型。官方也说了这种方式简化了应用的安装过程，不需要在安装和更新应用的时候去给它们授权了；这种Runtime授权模型，把权力给了用户，让用户清楚的管理各个应用的权限。（Google的工程师的事少了，用户也高兴了，程序员苦逼了)


API 23之前，应用权限申请，将应用所需的权限使用元素在manifest.xml中陈列后即可，系统在应用]]></description><category></category></item></channel></rss>