<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_里沃特-技术博客</title><subtitle type="text">Nothing is impossible for a willing heart.</subtitle><id>http://feed.cnblogs.com/blog/u/23265/rss</id><updated>2012-04-23T07:38:15Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/23265/rss"/><entry><id>http://www.cnblogs.com/lyout/archive/2012/04/23/2466539.html</id><title type="text">手机：由全触摸屏失效所想到的</title><summary type="text">两年前，MOTO里程碑刚出来的时候，当时感觉触摸屏很大，还有键盘，加上经典的黑色外形，一眼看上爱不释手，决定买下来。用了一年多没什么事，期间升级2.2，ROOT等。一直没事发生。清明回家后触摸失灵了，有时候按了没反应，有时候滑动屏幕时窗口会抖动，变大变小，自动切换。而屏幕下方的四个按键也是要触摸操作的，所以用了几天失灵的触摸屏后，每次一用就想砸，很是郁闷，有时候电话也接听不到，打电话也不行。以前一直没有用上键盘，都是触摸操作，突然想到了还有键盘可以操作，然后慢慢适应使用键盘。但是键盘也不是万能的，那四个基本按键没有，有时候进了某个应用后想退出，根本退出不了。还有些应用上的一些控件无法切换，也无</summary><published>2012-04-23T07:37:00Z</published><updated>2012-04-23T07:37:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/04/23/2466539.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/04/23/2466539.html"/><content type="html">&lt;p&gt;两年前，MOTO里程碑刚出来的时候，当时感觉触摸屏很大，还有键盘，加上经典的黑色外形，一眼看上爱不释手，决定买下来。&lt;/p&gt;&lt;p&gt;用了一年多没什么事，期间升级2.2，ROOT等。一直没事发生。&lt;/p&gt;&lt;p&gt;清明回家后触摸失灵了，有时候按了没反应，有时候滑动屏幕时窗口会抖动，变大变小，自动切换。而屏幕下方的四个按键也是要触摸操作的，所以用了几天失灵的触摸屏后，每次一用就想砸，很是郁闷，有时候电话也接听不到，打电话也不行。&lt;/p&gt;&lt;p&gt;以前一直没有用上键盘，都是触摸操作，突然想到了还有键盘可以操作，然后慢慢适应使用键盘。但是键盘也不是万能的，那四个基本按键没有，有时候进了某个应用后想退出，根本退出不了。&lt;/p&gt;&lt;p&gt;还有些应用上的一些控件无法切换，也无法聚集，比如某些输入法切换，还有某些拨号软件的数字输入，按键响应等。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;由此个人认为触摸屏和手机系统（或应用）应该考虑以下一些功能：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;1.最基本的按键不需要触摸，而是以按键形式（至少应有相应按键可以实现相应功能），比如iPhone的那个按键。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;2.有键盘的最好是使用键盘就可以操作所有应用，实现返回、主页、菜单、搜索等功能，除滑动外需要全部支持。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;3.应用开发者应注意应用本身显式提供包括返回、主页、菜单、退出等功能，并且使每个控件都有聚集功能，并且按方向键或确定键等可以互相切换到。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;4.手机系统本身也应支持切换控件，比如通知栏。（我的屏不行，通知栏则无法查看）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2466539.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/04/23/2466539.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/04/01/2429158.html</id><title type="text">愚人节奉献给大家的礼物，敬请收下</title><summary type="text">每年的愚人节到了，今天你愚人了吗？你被愚人了吗？你乐了吗？你被乐了吗？有很多朋友或许会复制一个网址给你，然后去访问，结果大家知道啦。。看到大家都喜欢，我也自己动手做了一个，其实没什么技术含量，只给大家休闲时把玩，消消闷。搞开发的也应该多欢乐，不要太沉闷了，晚上准备出去溜冰，不知道会不会碰到深圳的朋友，我去平山，有去的朋友不妨找下我，我穿格子衣服，哈哈。愚人节奉献给大家的礼物，敬请收下，一点小意思，大家娱乐下，工作放轻松点。做一个健康愚人！软件界面：下载地址 (文章后面可下载源码) （该软件是本地应用，不是网页的那一种）源码：下载源码</summary><published>2012-04-01T09:50:00Z</published><updated>2012-04-01T09:50:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/04/01/2429158.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/04/01/2429158.html"/><content type="html">&lt;p&gt;每年的愚人节到了，今天你愚人了吗？你被愚人了吗？你乐了吗？你被乐了吗？&lt;/p&gt;&lt;p&gt;有很多朋友或许会复制一个网址给你，然后去访问，结果大家知道啦。。&lt;/p&gt;&lt;p&gt;看到大家都喜欢，我也自己动手做了一个，其实没什么技术含量，只给大家休闲时把玩，消消闷。&lt;/p&gt;&lt;p&gt;搞开发的也应该多欢乐，不要太沉闷了，晚上准备出去溜冰，不知道会不会碰到深圳的朋友，我去平山，有去的朋友不妨找下我，我穿格子衣服，哈哈。&lt;/p&gt;&lt;p&gt;愚人节奉献给大家的礼物，敬请收下，一点小意思，大家娱乐下，工作放轻松点。做一个健康愚人！&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;软件界面：&lt;a href="http://files.cnblogs.com/lyout/Happy41.rar"&gt;&lt;span style="color: #ff0000;"&gt;下载地址&lt;/span&gt;&lt;/a&gt;&amp;nbsp; (文章后面可下载源码) （该软件是本地应用，不是网页的那一种）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/19706/2012040117421567.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;源码：&lt;a href="http://files.cnblogs.com/lyout/Happy41_sources.rar"&gt;下载源码&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2429158.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/04/01/2429158.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/03/30/2425418.html</id><title type="text">C# 让控件全屏显示（WinForm）</title><summary type="text">有时候需要让窗口中某一块的内容全屏显示，比如视频播放、地图等等。。经过摸索，暂时发现两种可行方法，如果有谁知道其他方法，敬请告知。1.使用winapi “SetParent” 接口： [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); control.Dock = DockStyle.None; control.Left = 0; ...</summary><published>2012-03-30T07:23:00Z</published><updated>2012-03-30T07:23:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/03/30/2425418.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/03/30/2425418.html"/><content type="html">&lt;p&gt;有时候需要让窗口中某一块的内容全屏显示，比如视频播放、地图等等。。&lt;/p&gt;&lt;p&gt;经过摸索，暂时发现两种可行方法，如果有谁知道其他方法，敬请告知。&lt;/p&gt;&lt;p&gt;1.使用winapi &amp;ldquo;SetParent&amp;rdquo; 接口：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;        [DllImport(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;user32.dll&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, SetLastError = &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;)]&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;extern&lt;/span&gt; IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;            control.Dock = DockStyle.None;&lt;br /&gt;            control.Left = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;            control.Top = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;            control.Width = Screen.PrimaryScreen.Bounds.Width;&lt;br /&gt;            control.Height = Screen.PrimaryScreen.WorkingArea.Height;&lt;br /&gt;            SetParent(control.Handle, IntPtr.Zero);&lt;/div&gt;&lt;p&gt;&lt;br /&gt;执行上面的代码后，我们的 control已经可以全屏显示了，但还有一个小问题，我们应该再提供一个功能，让用户按某个键后，退出全屏，要不然关不掉，给谁用都比较郁闷。这个时候应该给控件添加相关事件，取到键后返回。我们以Esc键为例：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; AddEventKeyUp(Control control) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (control != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                control.KeyUp += &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; KeyEventHandler(control_KeyUp);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (Control c &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; control.Controls) {// 需要给子控件也添加上，否则有可能取不到。&lt;br /&gt;                    AddEventKeyUp(c);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; control_KeyUp(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, KeyEventArgs e) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (e.KeyCode == Keys.Escape) {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (control != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                    SetParent(control.Handle, 原来的parent.Handle);&lt;br /&gt;                    control.Dock = DockStyle.Fill;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;/div&gt;&lt;p&gt;修改后的代码如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;            control.Dock = DockStyle.None;&lt;br /&gt;            control.Left = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;            control.Top = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;            control.Width = Screen.PrimaryScreen.Bounds.Width;&lt;br /&gt;            control.Height = Screen.PrimaryScreen.WorkingArea.Height;&lt;br /&gt;            AddEventKeyUp(control);&lt;br /&gt;            control.Focus();&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 获得焦点，否则也得不到按键&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            SetParent(control.Handle, IntPtr.Zero);&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;2.新建一个窗口，设置 FormBorderStyle为None，WindowState为Maximized，TopMost为True。然后具体代码如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;            AddEventKeyUp(control);&lt;br /&gt;            原来的parent.Controls.Clear();&lt;br /&gt;&lt;br /&gt;            frmFullscreen  frm = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; frmFullscreen();&lt;br /&gt;            frm.Controls.Add(control);&lt;br /&gt;&lt;br /&gt;            frm.ShowDialog();&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; AddEventKeyUp(Control control) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (control != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                control.KeyUp += &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; KeyEventHandler(control_KeyUp);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (Control c &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; control.Controls) {&lt;br /&gt;                    AddEventKeyUp(c);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; control_KeyUp(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, KeyEventArgs e) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (e.KeyCode == Keys.Escape) {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (control != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                   &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (frm != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                        frm.Controls.Clear();&lt;br /&gt;                        原来的parent.Controls.Add(control);// 这里不能和下面的Close顺序错了，要不然会引起错误，因为Close后把控件销毁了。&lt;br /&gt;                        frm.Close();&lt;br /&gt;                        frm = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;/div&gt;&lt;p&gt;&lt;br /&gt;经过实际使用验证，第二种方法很好，没有任何问题。只是需要多开一个窗口。第一种方法有点小问题，就是如果控件上有右键菜单什么的，一调用 会跑到主界面去了。好像鼠标有时候也不太灵。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2425418.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/03/30/2425418.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/03/23/2413972.html</id><title type="text">.NET 解决TabControl 页里面多余边距问题</title><summary type="text">不知道各位同学有没有遇到在向TabPage添加内容后，里面的东西总是填不满 TabPage，总是有几个像素的空白（边距），以下是解决方法：1.直接新建一个类，继承TabControl，然后 override DisplayRectangle 方法： /// &lt;summary&gt; /// 解决系统TabControl多余边距问题 /// &lt;/summary&gt; public class FullTabControl : TabControl { public override Rectangle DisplayRectangle { get...</summary><published>2012-03-23T09:16:00Z</published><updated>2012-03-23T09:16:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413972.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413972.html"/><content type="html">&lt;p&gt;不知道各位同学有没有遇到在向TabPage添加内容后，里面的东西总是填不满 TabPage，总是有几个像素的空白（边距），以下是解决方法：&lt;/p&gt;&lt;p&gt;1.直接新建一个类，继承TabControl，然后 override DisplayRectangle 方法：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;    &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 解决系统TabControl多余边距问题&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; FullTabControl : TabControl {&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;override&lt;/span&gt; Rectangle DisplayRectangle {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt; {&lt;br /&gt;                Rectangle rect = &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;.DisplayRectangle;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Rectangle(rect.Left - &lt;span style="color: #800080;"&gt;4&lt;/span&gt;, rect.Top - &lt;span style="color: #800080;"&gt;4&lt;/span&gt;, rect.Width + &lt;span style="color: #800080;"&gt;8&lt;/span&gt;, rect.Height + &lt;span style="color: #800080;"&gt;7&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;/div&gt;&lt;p&gt;以后用 FullTabControl 就行。（这种方法简单）&lt;/p&gt;&lt;p&gt;&lt;br /&gt;2.参见以下网址（VB.NET）代码：&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html"&gt;http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;C# 代码为：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; FullTabControl : NativeWindow {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; TCM_FIRST = &lt;span style="color: #800080;"&gt;0x1300&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; TCM_ADJUSTRECT = (TCM_FIRST + &lt;span style="color: #800080;"&gt;40&lt;/span&gt;);&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;struct&lt;/span&gt; RECT{&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; Left, Top, Right, Bottom;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; WndProc(&lt;span style="color: #0000ff;"&gt;ref&lt;/span&gt; Message m) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (m.Msg == TCM_ADJUSTRECT) {&lt;br /&gt;                RECT rc = (RECT)m.GetLParam(&lt;span style="color: #0000ff;"&gt;typeof&lt;/span&gt;(RECT));&lt;br /&gt;                rc.Left -= &lt;span style="color: #800080;"&gt;4&lt;/span&gt;;&lt;br /&gt;                rc.Right += &lt;span style="color: #800080;"&gt;3&lt;/span&gt;;&lt;br /&gt;                rc.Top -= &lt;span style="color: #800080;"&gt;4&lt;/span&gt;;&lt;br /&gt;                rc.Bottom += &lt;span style="color: #800080;"&gt;3&lt;/span&gt;;&lt;br /&gt;                Marshal.StructureToPtr(rc, m.LParam, &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;.WndProc(&lt;span style="color: #0000ff;"&gt;ref&lt;/span&gt; m);&lt;br /&gt;        }&lt;br /&gt;    }&lt;/div&gt;&lt;p&gt;&lt;br /&gt;调用方法：new FullTabControl().AssignHandle(tabControl1.Handle);// tabControl1为窗口上TabControl控件的名称&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2413972.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413972.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/03/23/2413950.html</id><title type="text">VS2010 自定义用户控件未出现在工具箱的解决方案</title><summary type="text">在项目中增加了几个自定义控件，想在窗口上添加时却发现工具箱根本就没有些控件，晕了。记得2008都可以自动出现的。研究了很久，发现有两个解决办法：1.编译项目后，在工具箱上点右键“选择项”，然后在弹出来的窗口再点“浏览”按钮，再选择当前项目输出的文件，按确定，这时候会自动选上相应控件。（这种方法需要新建一个选项卡管理才方便，而且以后加了新控件还得再重复操作一次）2.在菜单 “项目”倒数第二个“刷新项目工具箱项”，过一下在工具箱最上面就会出现以项目名为选项卡的工具箱了，所有控件都在下面。（最简单）</summary><published>2012-03-23T09:06:00Z</published><updated>2012-03-23T09:06:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413950.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413950.html"/><content type="html">&lt;p&gt;在项目中增加了几个自定义控件，想在窗口上添加时却发现工具箱根本就没有些控件，晕了。记得2008都可以自动出现的。研究了很久，发现有两个解决办法：&lt;/p&gt;&lt;p&gt;1.编译项目后，在工具箱上点右键&amp;ldquo;选择项&amp;rdquo;，然后在弹出来的窗口再点&amp;ldquo;浏览&amp;rdquo;按钮，再选择当前项目输出的文件，按确定，这时候会自动选上相应控件。（这种方法需要新建一个选项卡管理才方便，而且以后加了新控件还得再重复操作一次）&lt;/p&gt;&lt;p&gt;2.在菜单 &amp;ldquo;项目&amp;rdquo;倒数第二个&amp;ldquo;刷新项目工具箱项&amp;rdquo;，过一下在工具箱最上面就会出现以项目名为选项卡的工具箱了，所有控件都在下面。（最简单）&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2413950.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/03/23/2413950.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/03/16/2400370.html</id><title type="text">Android 关于获取摄像头帧数据解码</title><summary type="text">由于Android下摄像头预览数据只能 ImageFormat.NV21 格式的，所以解码时要经过一翻周折.Camera mCamera = Camera.open();Camera.Parameters p = mCamera.getParameters();p.setPreviewFormat(ImageFormat.NV21);/*这是唯一值，也可以不设置。有些同学可能设置成 PixelFormat 下面的一个值，其实是不对的，具体的可以看官方文档*/mCamera.setParameters(p);mCamera.startPreview(); 下面是解码核心部分：@Overrid.</summary><published>2012-03-16T07:23:00Z</published><updated>2012-03-16T07:23:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/03/16/2400370.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/03/16/2400370.html"/><content type="html">&lt;p&gt;由于Android下摄像头预览数据只能&amp;nbsp; ImageFormat.NV21 格式的，所以解码时要经过一翻周折.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;Camera mCamera = Camera.open();&lt;br/&gt;Camera.Parameters p = mCamera.getParameters();&lt;br/&gt;p.setPreviewFormat(ImageFormat.NV21);&lt;br/&gt;/*这是唯一值，也可以不设置。有些同学可能设置成 PixelFormat 下面的一个值，其实是不对的，具体的可以看官方文档*/&lt;br/&gt;mCamera.setParameters(p);mCamera.startPreview();&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;下面是解码核心部分：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;@Override&lt;br/&gt;public void onPreviewFrame(byte[] data, Camera camera) {&lt;br/&gt;Size size = camera.getParameters().getPreviewSize();&lt;br/&gt;try{&lt;br/&gt;YuvImage image = new YuvImage(data, ImageFormat.NV21, size.width, size.height, null);&lt;br/&gt;if(image!=null){&lt;br/&gt;ByteArrayOutputStream stream = new ByteArrayOutputStream();&lt;br/&gt;image.compressToJpeg(new Rect(0, 0, size.width, size.height), 80, stream);&lt;br/&gt;Bitmap bmp = BitmapFactory.decodeByteArray(stream.toByteArray(), 0, stream.size());&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.close();&lt;br/&gt;}&lt;br/&gt;}catch(Exception ex){&lt;br/&gt;Log.e("Sys","Error:"+ex.getMessage());&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;/div&gt;&lt;p&gt;代码很简单。就是把YUV数据转成 Bitmap 就行了，系统提供 YuvImage 类。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2400370.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/03/16/2400370.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/02/22/2362475.html</id><title type="text">Android 开发环境配置问题</title><summary type="text">手机软件开发IDE，本人在同时使用 Eclipse 和 Netbeans 后，感觉 Eclipse 更适合自己。首先下载 android SDK 最新版。不过最新版的 SDK 已经明确声明“The Android SDK archive now only contains the tools. It no longer comes populated with a specific Android platform or Google add-on. Instead you use the SDK Manager to install or update SDK components such</summary><published>2012-02-22T00:46:00Z</published><updated>2012-02-22T00:46:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362475.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362475.html"/><content type="html">&lt;p&gt;手机软件开发IDE，本人在同时使用 Eclipse 和 Netbeans 后，感觉 Eclipse 更适合自己。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;首先下载 android SDK 最新版。不过最新版的 SDK 已经明确声明&amp;ldquo;The Android SDK archive now only contains the tools. It no longer comes populated with a specific Android platform or Google add-on. Instead you use the SDK Manager to install or update SDK components such as platforms,tools, add-ons, and documentation.&amp;rdquo;，所以必须手工通过 SDK Setup.exe 来下载。再下载的时候我遇到了一点点小问题，记录一下。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;运行 SDK setup.exe,&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;先切换到 "Settings" 选项卡 ，把 "Force https://...." 勾上，一定要勾上，要不然有时候可能下载不了，就算我们把 https:// 改成 http:// 也不行。&lt;/strong&gt;&lt;/span&gt;然后在 Available Packages 选择卡里面增加好 android 开发论坛提供的下载地址： &lt;a href="https://dl-ssl.google.com/android/respository/respository.xml"&gt;https://dl-ssl.google.com/android/respository/respository.xml&lt;/a&gt;&amp;nbsp; 这时点网址前面的加号就会在网址下出来很多 API 让我们下载。一般的话，平台我们选择两个到三个 (1.5,1.6,2.1)就差不多，Google APIs 下载 6,7 也就可以了。然后点击窗口右下角的 &amp;ldquo;Install Selected&amp;rdquo;就可以开始下载，下载过程中一定要保证网络畅通，这些文件都比较大，每个包又没有断点续传的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;下载并安装完成后一定要添加(至少添加一个)虚拟设备。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2362475.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362475.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2012/02/22/2362474.html</id><title type="text">Android : No Launcher activity found!</title><summary type="text">[2011-12-09 15:02:58 - HQTDvr] Android Launch![2011-12-09 15:02:58 - HQTDvr] adb is running normally.[2011-12-09 15:02:58 - HQTDvr] No Launcher activity found![2011-12-09 15:02:58 - HQTDvr] The launch will only sync the application package on the device![2011-12-09 15:02:58 - HQTDvr] Performing </summary><published>2012-02-22T00:45:00Z</published><updated>2012-02-22T00:45:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362474.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362474.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 18px;"&gt;[2011-12-09 15:02:58 - HQTDvr] Android Launch!&lt;br /&gt;[2011-12-09 15:02:58 - HQTDvr] adb is running normally.&lt;br /&gt;[2011-12-09 15:02:58 - HQTDvr] &lt;/span&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="color: #ff0000;"&gt;No Launcher activity found!&lt;br /&gt;&lt;/span&gt;[2011-12-09 15:02:58 - HQTDvr] &lt;/span&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="color: #ff0000;"&gt;The launch will only sync the application package on the device!&lt;br /&gt;&lt;/span&gt;[2011-12-09 15:02:58 - HQTDvr] Performing sync&lt;br /&gt;[2011-12-09 15:02:58 - HQTDvr] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Android-2.2'&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18px;"&gt;突然调试不了了，开始以为是模拟器出错了。用手机也还是一样。重启了系统也不行，很郁闷着。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18px;"&gt;后来再仔细一看 no activity found ，应该是没有找到启动的Activity，再查看应用程序配置文件，原来是两个 &amp;lt;/activity&amp;gt; 跑到一块了，一不小心引起的。。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activity&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:label="@string/app_name"&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name=".demo.FormMain" &amp;gt;&lt;/p&gt;&lt;p&gt;这个地方的被我不小心移到后面去了。&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activity android:name=".demo.FormVideo"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;intent-filter &amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action android:name="android.intent.action.MAIN" /&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;category android:name="android.intent.category.LAUNCHER" /&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/intent-filter&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #cc0000;"&gt;&amp;lt;/activity&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/activity&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2362474.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2012/02/22/2362474.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2011/12/28/2304758.html</id><title type="text">Android 为View实现双击效果</title><summary type="text">Android 默认是没有双击事件的，不知道为什么~~.. 不多说，直接上代码。首先增加一个双击事件接口：public interface OnDoubleClickListener {public void OnSingleClick(View v);public void OnDoubleClick(View v);}然后再添加一个方法： /** * 注册一个双击事件 * 改自网友的，增加 Handler 处理，如果不加这个，会引起线程安全之类错误。 */ public static void registerDoubleClickLis...</summary><published>2011-12-28T06:24:00Z</published><updated>2011-12-28T06:24:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2011/12/28/2304758.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2011/12/28/2304758.html"/><content type="html">&lt;p&gt;Android 默认是没有双击事件的，不知道为什么~~..&amp;nbsp; 不多说，直接上代码。&lt;/p&gt;&lt;p&gt;首先增加一个双击事件接口：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;public interface OnDoubleClickListener {&lt;br/&gt;public void OnSingleClick(View v);&lt;br/&gt;public void OnDoubleClick(View v);&lt;br/&gt;}&lt;br/&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;然后再添加一个方法：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;    &lt;br/&gt;    /**&lt;br/&gt;     * 注册一个双击事件&lt;br/&gt;     * 改自网友的，增加  Handler  处理，如果不加这个，会引起线程安全之类错误。&lt;br /&gt;     */&lt;br/&gt;    public static void registerDoubleClickListener(View view, final OnDoubleClickListener listener){&lt;br/&gt;    if(listener==null) return;&lt;br/&gt;    view.setOnClickListener(new View.OnClickListener() {&lt;br/&gt;            private static final int DOUBLE_CLICK_TIME = 350;        //双击间隔时间350毫秒&lt;br/&gt;            private boolean waitDouble = true;  &lt;br/&gt;            &lt;br/&gt;            private Handler handler = new Handler(){&lt;br/&gt;@Override&lt;br/&gt;public void handleMessage(Message msg) {&lt;br/&gt;listener.OnSingleClick((View)msg.obj);&lt;br/&gt;}&lt;br/&gt;            &lt;br/&gt;            };&lt;br/&gt;            &lt;br/&gt;            //等待双击&lt;br/&gt;            public void onClick(final View v) {&lt;br/&gt;                if(waitDouble){&lt;br/&gt;                    waitDouble = false;        //与执行双击事件&lt;br/&gt;                    new Thread(){&lt;br/&gt;&lt;br/&gt;        public void run() {&lt;br/&gt;                            try {&lt;br/&gt;        Thread.sleep(DOUBLE_CLICK_TIME);&lt;br/&gt;        } catch (InterruptedException e) {&lt;br/&gt;        // TODO Auto-generated catch block&lt;br/&gt;        e.printStackTrace();&lt;br/&gt;        }    //等待双击时间，否则执行单击事件&lt;br/&gt;                            if(!waitDouble){&lt;br/&gt;                                //如果过了等待事件还是预执行双击状态，则视为单击&lt;br/&gt;                                waitDouble = true;&lt;br/&gt;                                Message msg = handler.obtainMessage();  &lt;br/&gt;                                msg.obj = v;&lt;br/&gt;                                handler.sendMessage(msg);&lt;br/&gt;                            }&lt;br/&gt;        }&lt;br/&gt;                    &lt;br/&gt;                    }.start();&lt;br/&gt;                }else{&lt;br/&gt;                    waitDouble = true;&lt;br/&gt;                    listener.OnDoubleClick(v);    //执行双击&lt;br/&gt;                }&lt;br/&gt;            }&lt;br/&gt;        });&lt;br/&gt;    }&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;最后注册事件：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;ImageView imageview = (ImageView)findViewById(R.id.imageview1);registerDoubleClickListener(imageview, this);&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2304758.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2011/12/28/2304758.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyout/archive/2011/12/28/2253831.html</id><title type="text">Android JNI 开发遇到的一些问题。</title><summary type="text">1.undefined reference to `__cxa_end_cleanup'$(NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libsupc++.a添加到 LOCAL_LDLIBS 后面2.没有规则可以创建“obj/local/armeabi/objs/p2p/***.o”需要的目标“/android-ndk-r7/build/core/***.cpp”。 停止。LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)移动最前面3.undefined reference t</summary><published>2011-12-28T06:14:00Z</published><updated>2011-12-28T06:14:00Z</updated><author><name>里沃特</name><uri>http://www.cnblogs.com/lyout/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyout/archive/2011/12/28/2253831.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyout/archive/2011/12/28/2253831.html"/><content type="html">&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;1.undefined reference to `__cxa_end_cleanup'&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;$(NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libsupc++.a&lt;/p&gt;&lt;p&gt;添加到&amp;nbsp; LOCAL_LDLIBS&amp;nbsp; 后面&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;2.没有规则可以创建&amp;ldquo;obj/local/armeabi/objs/p2p/***.o&amp;rdquo;需要的目标&amp;ldquo;/android-ndk-r7/build/core/***.cpp&amp;rdquo;。 停止。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;LOCAL_PATH := $(call my-dir)&lt;/p&gt;&lt;p&gt;include $(CLEAR_VARS)&lt;/p&gt;&lt;p&gt;移动最前面&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;3.undefined reference to `__android_log_print'&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;4.c++模板库：&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Android.mk:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog&amp;nbsp;$(NDK_HOME)/sources/cxx-stl/stlport/libs/armeabi/libstlport_static.a&amp;nbsp;&lt;/p&gt;&lt;p&gt;LOCAL_C_INCLUDES += $(NDK_HOME)/sources/cxx-stl/stlport/stlport&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Application.mk:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;APP_CPPFLAGS += -fexceptions&lt;/p&gt;&lt;p&gt;APP_STL := stlport_static&lt;/p&gt;&lt;p&gt;APP_CPPFLAGS += -frtti&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyout/aggbug/2253831.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyout/archive/2011/12/28/2253831.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
