<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yuqing_1102的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yuqing_1102</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yuqing_1102]]></copyright><item><title><![CDATA[猴子吃桃算法]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/56013226</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/56013226</guid><author>yuqing_1102</author><pubDate>Mon, 20 Feb 2017 15:02:13 +0800</pubDate><description><![CDATA[1.算法描述： 猴子第一天摘下若干个桃子，当即吃了一半，还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半，还是不过瘾又多吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子？
2.分析这是一个很经典的递归算法，只要找到递归公式就迎刃而解
第n天桃子总数 - （第n天桃子总数/2  + 1） = 第n+1天桃子总数
S1 = 2(S2 + 1)
S2]]></description><category></category></item><item><title><![CDATA[Java八大排序算法(一)]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/55261837</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/55261837</guid><author>yuqing_1102</author><pubDate>Thu, 16 Feb 2017 17:39:51 +0800</pubDate><description><![CDATA[转载请标明出处：http://blog.youkuaiyun.com/yuqing_1102/article/details/55261837一、概述排序分为内部排序和外部排序，内部排序是数据记录在内存中进项排序，外部排序是数据量太大，一次不能容纳全部的排序记录，在排序时需要访问外存。
二、交换排序-冒泡排序1.基本思想：在要排序的一组数中，自上向下对相邻的两个数依次进行比较和调整，让较大的数往下沉，较小的往上]]></description><category></category></item><item><title><![CDATA[Android-自定义View]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/55095523</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/55095523</guid><author>yuqing_1102</author><pubDate>Tue, 14 Feb 2017 10:28:05 +0800</pubDate><description><![CDATA[（学习Mooc的笔记）  
转载请标明出处：一、如何自定义控件1.自定义属性的声明与获取
2.测量onMeasure
3.布局onLayout(自定义ViewGroup调用)
4.绘制onDraw
5.onTouchEvent(与用户进行交互调用)
6.onInterceptTouchEvent(自定义ViewGroup，并拦截子View事件调用)
二、自定义属性声明与获取1.分析需要的自定义属性]]></description><category></category></item><item><title><![CDATA[Android-Handle详解]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/54972229</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/54972229</guid><author>yuqing_1102</author><pubDate>Fri, 10 Feb 2017 17:01:31 +0800</pubDate><description><![CDATA[（学习Mooc的笔记）  
转载请标明出处：1.handle是什么？handle是android提供用来更新UI的一套机制，也是一套信息处理机制，可以发送消息，也可以通过它处理消息。
2.handle用法注意：其中Runnable是在UI线程中调用的方法。
   (1)handle.post(Runnable);
   (2)handle.postDelayed(Runnable, long);其中]]></description><category></category></item><item><title><![CDATA[浅谈Android动画]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/54944364</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/54944364</guid><author>yuqing_1102</author><pubDate>Thu, 09 Feb 2017 10:21:42 +0800</pubDate><description><![CDATA[（学习Mooc的笔记）  
转载请标明出处： 
一、Android基础动画 
   1.Tween Animation     转换动画 
   2.Frame Animation      帧动画 
   3.Layout Animation     布局动画 
   4.Property Animation  属性动画 
二、Tween Animation 
1.分类 
   1）Alpha:渐]]></description><category></category></item><item><title><![CDATA[Android6.0新特性]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/54943934</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/54943934</guid><author>yuqing_1102</author><pubDate>Thu, 09 Feb 2017 09:47:25 +0800</pubDate><description><![CDATA[（学习Mooc的笔记） 
转载请标明出处： 
一、主要更新模块： 
1.电源管理 
    新增两种状态： 
    (1)App Standby(应用待机)： 
    检测：当设备不充电，且在这段时间内用户没有直接或间接的启动该应用，则应用进入待机状态 
    退出：当应用被激活，或者设备充电时，系统会将应用移出此状态 
    该状态为了尽可能减少后台应用对系统性能的消耗，注意应用会很容易被]]></description><category></category></item><item><title><![CDATA[Android Linearlayout中动态添加ImageView]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/52083689</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/52083689</guid><author>yuqing_1102</author><pubDate>Mon, 01 Aug 2016 10:44:18 +0800</pubDate><description><![CDATA[需求：界面有时候显示图片的数量未知，需要在代码中动态添加图片。 
方法步骤： 
1.布局：<LinearLayout 
    android:id="@+id/ll_group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:orientation="hor]]></description><category></category></item><item><title><![CDATA[Android string-array简单使用]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/52067553</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/52067553</guid><author>yuqing_1102</author><pubDate>Fri, 29 Jul 2016 18:06:40 +0800</pubDate><description><![CDATA[有时候我们需要定义一些固定的字符串数组，比如在列表中，这时候就用静态资源，使用方法如下： 
1.在values文件夹strings文件中声明数组：<resources>
    <string-array name="fruit_array">
        <item>苹果</item>
        <item>桔子</item>
        <item>香蕉</item>]]></description><category></category></item><item><title><![CDATA[Android自定义AlertDialog对话框并回传Activity参数]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/52066879</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/52066879</guid><author>yuqing_1102</author><pubDate>Fri, 29 Jul 2016 17:18:07 +0800</pubDate><description><![CDATA[需求开发过程总会想要自己设计的对话框，有时候还需要在activity获取对话框的一些操作结果。思路1.自定义对话框，并继承AlertDialog 
2.在自定义对话框中，定义一个接口，并声明一个方法，将操作结果作为方法参数 
3.在activity中，创建自定义对话框类，并调用自定义的接口，获取操作结果项目需求主界面弹出对话框，并在主界面显示对话框输入的内容。（只为实现功能，比较简单）示例图代码示例]]></description><category></category></item><item><title><![CDATA[监听EditText内容变化及字数限制]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51968465</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51968465</guid><author>yuqing_1102</author><pubDate>Wed, 20 Jul 2016 15:06:23 +0800</pubDate><description><![CDATA[需求：Edittext编辑框有字数限制，需要监听Edittext内容并在右下角显示剩余字数 
思路：用TextWatcher监听变化效果图： 
1.布局文件 activity_main.xml：<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.]]></description><category></category></item><item><title><![CDATA[android自动弹出软键盘（输入法）]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51819409</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51819409</guid><author>yuqing_1102</author><pubDate>Mon, 04 Jul 2016 10:59:43 +0800</pubDate><description><![CDATA[在Mainfest文件，activity节点添加：android:windowSoftInputMode="stateAlwaysVisible|adjustPan"]]></description><category></category></item><item><title><![CDATA[列表删除操作-list.remove()]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51788696</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51788696</guid><author>yuqing_1102</author><pubDate>Thu, 30 Jun 2016 11:07:24 +0800</pubDate><description><![CDATA[面试遇到一算法，当时觉得自己做的挺对的，还和面试官沟通了很久，回来细想就醒悟了，自己把人家想让你进的坑都进了，哎~ 
list.remove()删除尤其要注意位置，很容易越界~ 
1.算法描述： 
    输入：一个ArrayList的列表，这个列表的数据在[0,13]之间，删除这个列表所有和等于14的数据 
    输出：列表剩余的数据 
2.代码展示public class ListRemove]]></description><category></category></item><item><title><![CDATA[Java.String.endsWith()]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51787802</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51787802</guid><author>yuqing_1102</author><pubDate>Thu, 30 Jun 2016 09:48:36 +0800</pubDate><description><![CDATA[1.描述 
    java.lang.String.endsWith() 方法返回的是测试该字符串是否以指定后缀sffix结束 
2.方法public boolean endsWith(String suffix) {
    return regionMatches(count - suffix.count, suffix, 0, suffix.count);
}3.参数 
    suffix]]></description><category></category></item><item><title><![CDATA[Android使用上下文菜单ContextMenu]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51751579</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51751579</guid><author>yuqing_1102</author><pubDate>Fri, 24 Jun 2016 11:53:31 +0800</pubDate><description><![CDATA[触发条件上下文菜单的拥有者是View，用户每一次长按View时被调用，而且View必须已经注册了上下文菜单。
创建和响应上下文菜单1.为一个view注册上下文菜单：registerForContextMenu(View view)
2.生成上下文菜单，重写方法：onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo]]></description><category></category></item><item><title><![CDATA[Android Gridview属性]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51750715</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51750715</guid><author>yuqing_1102</author><pubDate>Fri, 24 Jun 2016 10:37:53 +0800</pubDate><description><![CDATA[1.android:numColumns="3"          //GridView指定列数
2.android:numColumns="auto_fit"   //GridView列数自适应屏幕
3.android:stretchMode="columnWidth"    //缩放与列宽大小同步
4.android:cacheColorHint="#00000000"     //去除拖动时的]]></description><category></category></item><item><title><![CDATA[Android屏幕适配那些事儿]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51700201</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51700201</guid><author>yuqing_1102</author><pubDate>Fri, 17 Jun 2016 15:22:47 +0800</pubDate><description><![CDATA[基本概念屏幕尺寸、屏幕分辨率、屏幕像素密度屏幕适配的原因：匹配设备的不同尺寸，不同分辨率，不同像素密度 
1.屏幕尺寸：指设备对角线的长度，单位：英寸(inch)，1英寸=2.54厘米 
2.屏幕分辨率：指在设备横纵方向上的像素点数，单位是px(pixel)，1px=1个像素点，一般写法是：纵向像素点数*横向像素点数，例：1280*700 
3.屏幕像素密度：每英寸屏幕上的像素点数，单位：dpi(d]]></description><category></category></item><item><title><![CDATA[This tag and its children can be replaced by one <TextView/> and a compound drawable]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51610898</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51610898</guid><author>yuqing_1102</author><pubDate>Wed, 08 Jun 2016 09:30:21 +0800</pubDate><description><![CDATA[当是以下布局，LinearLayout会报警告：This tag and its children can be replaced by one  and a compound drawable<LinearLayout 
    android:id="@+id/ll_assort_video"
    android:layout_width="0dp"
    android:layout_h]]></description><category></category></item><item><title><![CDATA[Android 子线程更新UI:handle和runOnUiThread()]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51554723</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51554723</guid><author>yuqing_1102</author><pubDate>Wed, 01 Jun 2016 11:35:20 +0800</pubDate><description><![CDATA[在Android开发中，更新UI只能主线程进行更新，若子线程更新UI，会报错：E/AndroidRuntime(1516):android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.只有原始的创]]></description><category></category></item><item><title><![CDATA[IOS学习之蓝牙4.0 BLE通信]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51547030</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51547030</guid><author>yuqing_1102</author><pubDate>Tue, 31 May 2016 16:40:35 +0800</pubDate><description><![CDATA[转载请注明出处

http://blog.youkuaiyun.com/pony_maggie/article/details/26740237





作者:小马




iOS学习也一段时间了，该上点干货了。前段时间研究了一下IOS蓝牙通讯相关的东西，把研究的一个成果给大家分享一下。

 

一 项目背景

简单介绍一下做的东西，设备是一个金融刷卡器，通过蓝牙与ip]]></description><category></category></item><item><title><![CDATA[android 蓝牙SPP协议通信]]></title><link>https://blog.youkuaiyun.com/yuqing_1102/article/details/51546331</link><guid>https://blog.youkuaiyun.com/yuqing_1102/article/details/51546331</guid><author>yuqing_1102</author><pubDate>Tue, 31 May 2016 15:45:37 +0800</pubDate><description><![CDATA[准备1.蓝牙串行端口基于SPP协议（Serial Port Profile），能在蓝牙设备之间创建串口进行数据传输 
2.SPP的UUID：00001101-0000-1000-8000-00805F9B34FB 
3.Android手机一般以客户端的角色主动连接SPP协议设备连接流程检测蓝牙状态若蓝牙未打开，则打开蓝牙~bluetoothAdapter = BluetoothAdapter.get]]></description><category></category></item></channel></rss>