<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_方伟东的技术博客</title><subtitle type="text">开发之旅</subtitle><id>http://feed.cnblogs.com/blog/u/23238/rss</id><updated>2011-09-29T04:49:19Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/23238/rss"/><entry><id>http://www.cnblogs.com/Don/archive/2011/09/29/2195352.html</id><title type="text">Android开发中SQLite数据库的查看</title><summary type="text">Android, sqlite</summary><published>2011-09-29T04:48:00Z</published><updated>2011-09-29T04:48:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2011/09/29/2195352.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2011/09/29/2195352.html"/><content type="html">&lt;p&gt;【转】Android查看sqlite数据库内容的方法 &lt;/p&gt;&#xD;
&lt;p&gt;------------------------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;Android中可以采用sqlite数据裤来存储数据，是Google却没有直接给我们提供相关工具来管理数据库里的数据。&lt;/p&gt;&#xD;
&lt;p&gt;如果不能直接通过工具来查看，那我们就把数据库从手机/模拟器里面拷贝出来用工具查看，下面是步骤&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.确认数据库的位置&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;我们可以通过eclipse的DDMS插件来访问手机的部分目录&lt;/p&gt;&#xD;
&lt;p&gt;数据库文件位于/data/data/你的程序的包名/databases/中，下图是一个例子&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;img src="http://hiphotos.baidu.com/%CE%D2%BA%DC%B0%AE%D5%C5%B2%AE%C2%D7/pic/item/b9a9cedc16dfabbb77c638a4.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;2.拷贝出数据库文件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;我们可以用adb工具来下载数据库文件&lt;/p&gt;&#xD;
&lt;p&gt;命令为 adb push 手机路径 本地路径&lt;/p&gt;&#xD;
&lt;p&gt;例如我要把项目下的test.db数据拷贝到我的桌面，那么运行命令&lt;/p&gt;&#xD;
&lt;p&gt;adb pull /data/com.test/databases/test.db c:/&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.打开数据库文件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这里不用多说，去&lt;a href="http://www.sqlite.org/cvstrac/wiki?p=ManagementTools" target="_blank"&gt;&lt;span style="color: #79a325"&gt;sqlite官方&lt;/span&gt;&lt;/a&gt; 选一款软件来读取和管理数据即可&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.更新数据库文件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;同样使用adb工具上传&lt;/p&gt;&#xD;
&lt;p&gt;命令为 adb push 本地路径&amp;nbsp; 手机路径&lt;/p&gt;&#xD;
&lt;p&gt;adb push ~/Desktop/alaTest.db /data/data/com.test/databases/test.db&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/Don/aggbug/2195352.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Don/archive/2011/09/29/2195352.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Don/archive/2010/08/03/1791242.html</id><title type="text">如何防止用户双击按钮导致的重复提交</title><summary type="text">没用Updatepanel的页面，这样使用：btnSave.OnClientClick = "if(!Page_ClientValidate()){Page_BlockSubmit = false;return false;}" + this.GetPostBackEventReference(this.btnSave) + ";this.disabled=true;";使用Updatepanel...</summary><published>2010-08-03T06:47:00Z</published><updated>2010-08-03T06:47:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2010/08/03/1791242.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2010/08/03/1791242.html"/><content type="html">&lt;p&gt;没用Updatepanel的页面，这样使用：&lt;/p&gt;&#xD;
&lt;p&gt;btnSave.OnClientClick = "if(!Page_ClientValidate()){Page_BlockSubmit = false;return false;}" + this.GetPostBackEventReference(this.btnSave) + ";this.disabled=true;";&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;使用Updatepanel的页面：&lt;/p&gt;&#xD;
&lt;p&gt;ScriptManager.RegisterStartupScript(this.Page,&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; this.Page.GetType(),&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; Guid.NewGuid().ToString(),&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; @"function BeginRequest(sender, args){var sLink = sender._postBackSettings.sourceElement;&lt;br /&gt;if(sLink !=null &amp;amp;&amp;amp;&amp;nbsp; sLink.tagName=='A')sLink.disabled = true;$get('" + progress.ClientID + @"').style.display = 'block';}&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;nbsp;&amp;nbsp; function EndRequest(sender, args){var sLink = sender._postBackSettings.sourceElement;&lt;br /&gt;if(sLink !=null &amp;amp;&amp;amp;&amp;nbsp; sLink.tagName=='A')sLink.disabled = false;$get('" + progress.ClientID + @"').style.display = 'none';}&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);"&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; , true);&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Don/aggbug/1791242.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Don/archive/2010/08/03/1791242.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/09/12/1289914.html</id><title type="text">用CSS设置Table的细边框的几种方法</title><summary type="text">大家经常会发现Table的BORDER设置为1，得到的边框却不是想要的1个像素的细边框，于是很多人去想方设法做出细边框的效果。设置Table的细边框通常有这么几种方式：1、设置边框的BORDER=0、cellspacing=1，设置Table的背景色为所要的边框色，再设置所有的td背景色为白色，这样细边框就显露出来了。这个方法有些邪气，看似不太正宗，但是也能达到效果，条条大路通罗马嘛！再来看看第二...</summary><published>2008-09-12T06:30:00Z</published><updated>2008-09-12T06:30:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/09/12/1289914.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/09/12/1289914.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/09/08/1287185.html</id><title type="text">（译）SDL.NET Surfaces 相关介绍</title><summary type="text">（译）SDL.NET Surfaces 相关介绍翻译：Donhttp://don.cnblogs.com/Surfaces（平面）本教程教大家如何使用SDL.NET的Surfaces在屏幕上渲染图形。（本教程的前提条件是认为您已经学会了&amp;#8220;Hello World&amp;#8221;哦！） 目录1、引言2、功能2.1 Blit2.2 Primitive Drawing 2.3颜色、透明度和Alp...</summary><published>2008-09-08T15:46:00Z</published><updated>2008-09-08T15:46:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/09/08/1287185.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/09/08/1287185.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/08/05/1261552.html</id><title type="text">推荐一款2D游戏引擎：HGE</title><summary type="text">推荐一款不错的2D游戏引擎HGE 。</summary><published>2008-08-05T15:38:00Z</published><updated>2008-08-05T15:38:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/08/05/1261552.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/08/05/1261552.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/06/14/1222094.html</id><title type="text">[转]DATEDIFF与dateadd在access和mssql下的使用例子</title><summary type="text">Access中：DateDiff('d',Time1,Time2)Sql中：DateDiff(d,Time1,Time2)下面是我自己的sql语句'判断数据库类型IF IsSqlDataBase = 1 ThenConn.execute("Delete from lyt_log_info where datediff(day,logintime,getdate())&amp;gt;=3 ")ElseCon...</summary><published>2008-06-14T14:55:00Z</published><updated>2008-06-14T14:55:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/06/14/1222094.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/06/14/1222094.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/06/12/1218398.html</id><title type="text">设计时使用DesignMode判断无效的话怎么办？ </title><summary type="text">用这句试试：(System.Diagnostics.Process.GetCurrentProcess().ProcessName != "devenv")</summary><published>2008-06-12T07:08:00Z</published><updated>2008-06-12T07:08:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/06/12/1218398.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/06/12/1218398.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/05/05/1182824.html</id><title type="text">IE与FireFox的兼容性问题</title><summary type="text">window.event IE：有window.event对象 FF：没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event) 鼠标当前坐标 IE：event.x和event.y。 FF：event.pageX和event.pageY。 通用：两者都有event.clientX和event.clientY属性。 鼠标当...</summary><published>2008-05-05T01:57:00Z</published><updated>2008-05-05T01:57:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/05/05/1182824.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/05/05/1182824.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/05/05/1182779.html</id><title type="text">取得当前鼠标的X,Y坐标,及相关属性的介绍</title><summary type="text">取得当前鼠标的X,Y坐标function SelfXY(){ var yScrolltop; var xScrollleft; if (self.pageYOffset || self.pageXOffset) {  yScrolltop = self.pageYOffset;  xScrollleft = self.pageXOffset; } else if (document.documen...</summary><published>2008-05-05T01:35:00Z</published><updated>2008-05-05T01:35:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/05/05/1182779.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/05/05/1182779.html"/></entry><entry><id>http://www.cnblogs.com/Don/archive/2008/04/07/1139880.html</id><title type="text">error:Task failed because "AL.exe" was not found 的解决方法</title><summary type="text">使用vs2008编译一个项目时遇到错误， Task failed because "AL.exe" was not found 解决方法如下：First of all you need to find the path of AL.exe on your machine, AL.exe should be there when you install Windows SDK.Go to: Star...</summary><published>2008-04-07T01:54:00Z</published><updated>2008-04-07T01:54:00Z</updated><author><name>Don</name><uri>http://www.cnblogs.com/Don/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Don/archive/2008/04/07/1139880.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Don/archive/2008/04/07/1139880.html"/></entry></feed>
