﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-谁动了我的代码</title><link>http://www.blogjava.net/smcdl/</link><description>抽象即是空，空即是抽象。</description><language>zh-cn</language><lastBuildDate>Sun, 03 May 2026 04:32:57 GMT</lastBuildDate><pubDate>Sun, 03 May 2026 04:32:57 GMT</pubDate><ttl>60</ttl><item><title>Java泛型与集合笔记——子类型与通配符</title><link>http://www.blogjava.net/smcdl/archive/2016/05/25/430640.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Wed, 25 May 2016 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2016/05/25/430640.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/430640.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2016/05/25/430640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/430640.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/430640.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;">不定期更新，无废话开始：</span><ol><li><div><span style="font-size: 12pt;">List&lt;Integer&gt;不是List&lt;Number&gt;的子类，但List&lt;Integer&gt;是Collection&lt;Integer&gt;的子类。</span></div></li><li><span style="font-size: 12pt;">一个List&lt;? extends Number&gt;的对象引用可以被赋值任何以Number或其子类为泛型的List或其子类的对象实例引用，如下例</span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; font-size: 12pt;">1</span>&nbsp;<span style="color: #000000; font-size: 12pt;">List</span><span style="color: #000000; font-size: 12pt;">&lt;?</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">extends</span><span style="color: #000000; font-size: 12pt;">&nbsp;Number</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;nums&nbsp;</span><span style="color: #000000; font-size: 12pt;">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">new</span><span style="color: #000000; font-size: 12pt;">&nbsp;ArrayList</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">Integer</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">();</span></div></li><li><span style="font-size: 12pt;">泛型方法可以显示指定其返回结果的泛型类型，如下例</span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; font-size: 12pt;">1</span>&nbsp;<span style="color: #000000; font-size: 12pt;">Arrays.</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">Object</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">asList(</span><span style="color: #000000; font-size: 12pt;">1</span><span style="color: #000000; font-size: 12pt;">,&nbsp;</span><span style="color: #000000; font-size: 12pt;">1.2</span><span style="color: #000000; font-size: 12pt;">,&nbsp;</span><span style="color: #000000; font-size: 12pt;">"</span><span style="color: #000000; font-size: 12pt;">Hello</span><span style="color: #000000; font-size: 12pt;">"</span><span style="color: #000000; font-size: 12pt;">);<br /></span><span style="color: #008080; font-size: 12pt;">2</span>&nbsp;<span style="color: #000000; font-size: 12pt;">Collections.</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">Number</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">copy(objs,&nbsp;ints);</span></div></li><li><span style="font-size: 12pt;">Get与Put原则：当仅从结构中取出值则使用extends通配符，当仅向结构中添加值则使用super通配符，当对一个结构即取出又添加值时不要使用任何通配符。</span><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; font-size: 12pt;">1</span>&nbsp;<span style="color: #008000; font-size: 12pt;">//</span><span style="color: #008000; font-size: 12pt;">Collections.copy方法即使用super又使用extends的例子</span><span style="color: #008000; "><br /></span><span style="color: #008080; font-size: 12pt;">2</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000ff; font-size: 12pt;">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">T</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">void</span><span style="color: #000000; font-size: 12pt;">&nbsp;copy(List</span><span style="color: #000000; font-size: 12pt;">&lt;?</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">super</span><span style="color: #000000; font-size: 12pt;">&nbsp;T</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;dest,&nbsp;List</span><span style="color: #000000; font-size: 12pt;">&lt;?</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">extends</span><span style="color: #000000; font-size: 12pt;">&nbsp;T</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;src)</span></div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; font-size: 12pt;">&nbsp;1</span>&nbsp;<span style="color: #008000; font-size: 12pt;">//</span><span style="color: #008000; font-size: 12pt;">另一个例子，对同一个结构即取值又设值，不使用任何通配符</span><span style="color: #008000; "><br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000ff; font-size: 12pt;">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">double</span><span style="color: #000000; font-size: 12pt;">&nbsp;sum(Collection</span><span style="color: #000000; font-size: 12pt;">&lt;?</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">extends</span><span style="color: #000000; font-size: 12pt;">&nbsp;Number</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;nums)&nbsp;{<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">double</span><span style="color: #000000; font-size: 12pt;">&nbsp;s&nbsp;</span><span style="color: #000000; font-size: 12pt;">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-size: 12pt;">0.0</span><span style="color: #000000; font-size: 12pt;">;<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">for</span><span style="color: #000000; font-size: 12pt;">&nbsp;(Number&nbsp;num&nbsp;:&nbsp;nums)&nbsp;s&nbsp;</span><span style="color: #000000; font-size: 12pt;">+=</span><span style="color: #000000; font-size: 12pt;">&nbsp;num.doubleValue();<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">return</span><span style="color: #000000; font-size: 12pt;">&nbsp;s;<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;6</span>&nbsp;<span style="color: #000000; font-size: 12pt;">}<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;7</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;8</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-size: 12pt;">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">void</span><span style="color: #000000; font-size: 12pt;">&nbsp;count(Collection</span><span style="color: #000000; font-size: 12pt;">&lt;?</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">super</span><span style="color: #000000; font-size: 12pt;">&nbsp;Integer</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;ints,&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">int</span><span style="color: #000000; font-size: 12pt;">&nbsp;n)&nbsp;{<br /></span><span style="color: #008080; font-size: 12pt;">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">for</span><span style="color: #000000; font-size: 12pt;">&nbsp;(</span><span style="color: #0000ff; font-size: 12pt;">int</span><span style="color: #000000; font-size: 12pt;">&nbsp;i&nbsp;</span><span style="color: #000000; font-size: 12pt;">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-size: 12pt;">0</span><span style="color: #000000; font-size: 12pt;">;&nbsp;i&nbsp;</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;n;&nbsp;i</span><span style="color: #000000; font-size: 12pt;">++</span><span style="color: #000000; font-size: 12pt;">)&nbsp;ints.add(i);<br /></span><span style="color: #008080; font-size: 12pt;">10</span>&nbsp;<span style="color: #000000; font-size: 12pt;">}<br /></span><span style="color: #008080; font-size: 12pt;">11</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; font-size: 12pt;">12</span>&nbsp;<span style="color: #000000; "></span><span style="color: #008000; font-size: 12pt;">//</span><span style="color: #008000; font-size: 12pt;">注意这个方法参数的签名，没有使用任何通配符</span><span style="color: #008000; "><br /></span><span style="color: #008080; font-size: 12pt;">13</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000ff; font-size: 12pt;">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">double</span><span style="color: #000000; font-size: 12pt;">&nbsp;sumCount(Collection</span><span style="color: #000000; font-size: 12pt;">&lt;</span><span style="color: #000000; font-size: 12pt;">Number</span><span style="color: #000000; font-size: 12pt;">&gt;</span><span style="color: #000000; font-size: 12pt;">&nbsp;nums,&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">int</span><span style="color: #000000; font-size: 12pt;">&nbsp;n)&nbsp;{<br /></span><span style="color: #008080; font-size: 12pt;">14</span>&nbsp;<span style="color: #000000; font-size: 12pt;">&nbsp;&nbsp;count(nums,&nbsp;n);<br /></span><span style="color: #008080; font-size: 12pt;">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 12pt;">return</span><span style="color: #000000; font-size: 12pt;">&nbsp;sum(nums);<br /></span><span style="color: #008080; font-size: 12pt;">16</span>&nbsp;<span style="color: #000000; font-size: 12pt;">}</span></div></li></ol><img src ="http://www.blogjava.net/smcdl/aggbug/430640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2016-05-25 10:10 <a href="http://www.blogjava.net/smcdl/archive/2016/05/25/430640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android通用事件造成的生命周期变化情况</title><link>http://www.blogjava.net/smcdl/archive/2011/02/19/344652.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Sat, 19 Feb 2011 04:34:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2011/02/19/344652.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/344652.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2011/02/19/344652.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/344652.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/344652.html</trackback:ping><description><![CDATA[启动应用<br />
onCreate<br />
onStart<br />
onResume<br />
<br />
按退出键<br />
onPause<br />
onStop<br />
onDestory<br />
<br />
<br />
按HOME键或当前应用被其他全屏应用覆盖时（如电话呼入）<br />
onPause<br />
onStop<br />
<br />
按HOME键后，再次点击应用图标或长按HOME键点击任务列表中的应用图标或覆盖当前应用的其他全屏应用退出后<br />
onRestart<br />
onStart<br />
onResume<br />
<br />
<br />
被弹出对话框覆盖时（如弹出短信提醒对话框）或屏幕关闭时<br />
onPause<br />
<br />
对话框关闭时或屏幕点亮时<br />
onResume<br />
<br />
横竖屏切换时<br />
onPause<br />
onStop<br />
onDestory<br />
onCreate<br />
onStart<br />
onResume<br />
<br />
<br />
<img src ="http://www.blogjava.net/smcdl/aggbug/344652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2011-02-19 12:34 <a href="http://www.blogjava.net/smcdl/archive/2011/02/19/344652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android之ImageView载入网络上的图片</title><link>http://www.blogjava.net/smcdl/archive/2010/06/08/323007.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Mon, 07 Jun 2010 16:15:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2010/06/08/323007.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/323007.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2010/06/08/323007.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/323007.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/323007.html</trackback:ping><description><![CDATA[ImageView中有setImageURI，但是传递一个URI.parse("http://www.google.com.hk/tools/dlpage/res/chrome/images/chrome-205_noshadow.png")这样的URL路径不能成功载入网络上的图片，最终还是需要借助java.net.URL，如下代码所示：<br />
<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">URL&nbsp;picUrl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;URL(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://www.google.com.hk/tools/dlpage/res/chrome/images/chrome-205_noshadow.png</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">Bitmap&nbsp;pngBM&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;BitmapFactory.decodeStream(picUrl.openStream());<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">imageView.setImageBitmap(pngBM);</span></div>
<br />
很简单吧，哪位朋友如果有更简单的方法请通知我。<br />
<br />
<img src ="http://www.blogjava.net/smcdl/aggbug/323007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2010-06-08 00:15 <a href="http://www.blogjava.net/smcdl/archive/2010/06/08/323007.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android之Shared Preferences</title><link>http://www.blogjava.net/smcdl/archive/2010/06/07/322982.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Mon, 07 Jun 2010 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2010/06/07/322982.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/322982.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2010/06/07/322982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/322982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/322982.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt"><span style="font-size: 12pt">懒得再翻译，这段应该很好理解，直接将Dev Guide中复制过来。<br />
<br />
<br />
The <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html">SharedPreferences</a></code> class provides a general framework that allows you to save and retrieve persistent key-value pairs of primitive data types. You can use <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html">SharedPreferences</a></code> to save any primitive data: booleans, floats, ints, longs, and strings. This data will persist across user sessions (even if your application is killed).<br />
<br />
</span></span>
<p><span style="font-size: 14pt"><span style="font-size: 12pt">To get a <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html">SharedPreferences</a></code> object for your application, use one of two methods:</span></span></p>
<ul>
    <li><code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/Context.html#getSharedPreferences%28java.lang.String,%20int%29"><span style="font-size: 14pt"><span style="font-size: 12pt">getSharedPreferences()</span></span></a></code><span style="font-size: 14pt"><span style="font-size: 12pt"> - Use this if you need multiple preferences files identified by name, which you specify with the first parameter.</span></span></li>
    <li><code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/app/Activity.html#getPreferences%28int%29"><span style="font-size: 14pt"><span style="font-size: 12pt">getPreferences()</span></span></a></code><span style="font-size: 14pt"><span style="font-size: 12pt"> - Use this if you need only one preferences file for your Activity. Because this will be the only preferences file for your Activity, you don't supply a name.</span></span></li>
</ul>
<p><span style="font-size: 14pt"><span style="font-size: 12pt">To write values:</span></span></p>
<ol>
    <li><span style="font-size: 14pt"><span style="font-size: 12pt">Call <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html#edit%28%29">edit()</a></code> to get a <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.Editor.html">SharedPreferences.Editor</a></code>.</span></span></li>
    <li><span style="font-size: 14pt"><span style="font-size: 12pt">Add values with methods such as <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.Editor.html#putBoolean%28java.lang.String,%20boolean%29">putBoolean()</a></code> and <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.Editor.html#putString%28java.lang.String,%20java.lang.String%29">putString()</a></code>.</span></span></li>
    <li><span style="font-size: 14pt"><span style="font-size: 12pt">Commit the new values with <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.Editor.html#commit%28%29">commit()</a></code></span></span></li>
</ol>
<p><span style="font-size: 14pt"><span style="font-size: 12pt">To read values, use <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html">SharedPreferences</a></code> methods such as <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html#getBoolean%28java.lang.String,%20boolean%29">getBoolean()</a></code> and <code><a href="file:///D:/DevelopeTools/Android/android-sdk-windows/docs/reference/android/content/SharedPreferences.html#getString%28java.lang.String,%20java.lang.String%29">getString()</a></code>.</span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt">Here is an example that saves a preference for silent keypress mode in a calculator: </span></span></p>
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_35_830_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_830_Open_Text.style.display='none'; Codehighlighter1_35_830_Closed_Image.style.display='inline'; Codehighlighter1_35_830_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_35_830_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_35_830_Closed_Text.style.display='none'; Codehighlighter1_35_830_Open_Image.style.display='inline'; Codehighlighter1_35_830_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Calc&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;Activity&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_35_830_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span></span><span id="Codehighlighter1_35_830_Open_Text"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;String&nbsp;PREFS_NAME&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">MyPrefsFile</span><span style="color: #000000">"</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;3</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;4</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_152_406_Open_Image" onclick="this.style.display='none'; Codehighlighter1_152_406_Open_Text.style.display='none'; Codehighlighter1_152_406_Closed_Image.style.display='inline'; Codehighlighter1_152_406_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_152_406_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_152_406_Closed_Text.style.display='none'; Codehighlighter1_152_406_Open_Image.style.display='inline'; Codehighlighter1_152_406_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;onCreate(Bundle&nbsp;state)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_152_406_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span></span><span id="Codehighlighter1_152_406_Open_Text"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">super</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">.onCreate(state);<br />
</span><span style="color: #008080">&nbsp;7</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;.&nbsp;.<br />
</span><span style="color: #008080">&nbsp;8</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Restore&nbsp;preferences</span></span></span><span style="color: #008000"><br />
</span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008080">10</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences&nbsp;settings&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getSharedPreferences(PREFS_NAME,&nbsp;</span><span style="color: #000000">0</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">);<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;silent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;settings.getBoolean(</span><span style="color: #000000">"</span><span style="color: #000000">silentMode</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">false</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">);<br />
</span><span style="color: #008080">12</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setSilent(silent);<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span></span><span style="color: #000000"><br />
</span><span style="color: #008080"><span style="font-size: 14pt"><span style="font-size: 12pt">14</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">15</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img id="Codehighlighter1_450_828_Open_Image" onclick="this.style.display='none'; Codehighlighter1_450_828_Open_Text.style.display='none'; Codehighlighter1_450_828_Closed_Image.style.display='inline'; Codehighlighter1_450_828_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_450_828_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_450_828_Closed_Text.style.display='none'; Codehighlighter1_450_828_Open_Image.style.display='inline'; Codehighlighter1_450_828_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;onStop()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_450_828_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span></span></span><span id="Codehighlighter1_450_828_Open_Text"><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">{<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">super</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">.onStop();<br />
</span><span style="color: #008080">18</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008000">&nbsp;We&nbsp;need&nbsp;an&nbsp;Editor&nbsp;object&nbsp;to&nbsp;make&nbsp;preference&nbsp;changes.<br />
</span><span style="color: #008080">20</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;All&nbsp;objects&nbsp;are&nbsp;from&nbsp;android.context.Context</span></span></span><span style="color: #008000"><br />
</span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008080">21</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences&nbsp;settings&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;getSharedPreferences(PREFS_NAME,&nbsp;</span><span style="color: #000000">0</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">);<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences.Editor&nbsp;editor&nbsp;</span><span style="color: #000000">=</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">&nbsp;settings.edit();<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;editor.putBoolean(</span><span style="color: #000000">"</span><span style="color: #000000">silentMode</span><span style="color: #000000">"</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">,&nbsp;mSilentMode);<br />
</span><span style="color: #008080">24</span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Commit&nbsp;the&nbsp;edits!</span></span></span><span style="color: #008000"><br />
</span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008080">26</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span></span></span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;editor.commit();<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span></span><span style="color: #000000"><br />
</span><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="color: #008080">28</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></span></span></div>
<img src ="http://www.blogjava.net/smcdl/aggbug/322982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2010-06-07 17:18 <a href="http://www.blogjava.net/smcdl/archive/2010/06/07/322982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android之使用私有存储</title><link>http://www.blogjava.net/smcdl/archive/2010/06/07/322980.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Mon, 07 Jun 2010 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2010/06/07/322980.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/322980.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2010/06/07/322980.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/322980.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/322980.html</trackback:ping><description><![CDATA[<p style="font-size: 12pt; margin-right: 0px" dir="ltr"><span style="font-size: 18pt"><span style="font-size: 14pt">首先内部存储路径为/data/data/<span style="color: red"><em><strong>youPackageName</strong></em></span>/，下面讲解的各路径都是基于你自己的应用的内部存储路径下。所有内部存储中保存的文件在用户卸载应用的时候会被删除。<br />
<br />
一、&nbsp;files<br />
1. Context.getFilesDir()，该方法返回/data/data/<span style="color: red"><em><strong>youPackageName</strong></em></span>/files的File对象。<br />
2. Context.openFileInput()与Context.openFileOutput()，只能读取和写入files下的文件，返回的是FileInputStream和FileOutputStream对象。<br />
3. Context.fileList()，返回files下所有的文件名，返回的是String[]对象。<br />
4. Context.deleteFile(String)，删除files下指定名称的文件。<br />
<br />
二、cache<br />
1. Context.getCacheDir()，该方法返回/data/data/<span style="color: red"><em><strong>youPackageName</strong></em></span>/cache的File对象。<br />
<br />
三、custom dir</span></span></p>
<span style="font-size: 14pt"><span style="font-size: 14pt">getDir(String name,&nbsp;int mode)，返回/data/data/<span style="color: red"><em><strong>youPackageName</strong></em></span>/下的指定名称的文件夹File对象，如果该文件夹不存在则用指定名称创建一个新的文件夹。</span><br />
</span>
 <img src ="http://www.blogjava.net/smcdl/aggbug/322980.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2010-06-07 16:28 <a href="http://www.blogjava.net/smcdl/archive/2010/06/07/322980.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android开发之调用系统彩信发送功能</title><link>http://www.blogjava.net/smcdl/archive/2010/05/19/321406.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Wed, 19 May 2010 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2010/05/19/321406.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/321406.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2010/05/19/321406.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/321406.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/321406.html</trackback:ping><description><![CDATA[<p><span style="font-size: 18pt"><span style="font-size: 12pt">经过不断的测试最终得到3个结果：<br />
<br />
<br />
1.适用于模拟器和OPhone</span></span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #008080">1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">Intent&nbsp;sendIntent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">&nbsp;Intent(Intent.ACTION_SEND);&nbsp;&nbsp;<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />sendIntent.putExtra(Intent.EXTRA_STREAM,&nbsp;Uri.parse(</span><span style="color: #000000">"</span><span style="color: #000000">file:///sdcard/map.jpg</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">));&nbsp;<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />sendIntent.setType(</span><span style="color: #000000">"</span><span style="color: #000000">image/jpeg</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">);&nbsp;&nbsp;<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />startActivity(sendIntent);&nbsp;</span></span></span></div>
<p><br />
<span style="font-size: 18pt"><span style="font-size: 12pt">2.适用于Hero（未测试是否支持其他HTC手机）</span></span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #008080">1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">Intent&nbsp;sendIntent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Intent(</span><span style="color: #000000">"</span><span style="color: #000000">android.intent.action.SEND_MSG</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">);&nbsp;&nbsp;<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />sendIntent.putExtra(Intent.EXTRA_STREAM,&nbsp;Uri.parse(</span><span style="color: #000000">"</span><span style="color: #000000">file:///sdcard/map.jpg</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">));&nbsp;<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />sendIntent.setType(</span><span style="color: #000000">"</span><span style="color: #000000">image/jpeg</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">);&nbsp;&nbsp;<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />startActivity(sendIntent);&nbsp;</span></span></span></div>
<p><br />
<span style="font-size: 18pt"><span style="font-size: 12pt">3.目前为止在多数手机上工作正常的代码</span></span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #008080">1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">Intent&nbsp;intent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">&nbsp;Intent(Intent.ACTION_SEND);<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />intent.setClassName(</span><span style="color: #000000">"</span><span style="color: #000000">com.android.mms</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">com.android.mms.ui.ComposeMessageActivity</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">);<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />intent.putExtra(Intent.EXTRA_STREAM,&nbsp;Uri.parse(</span><span style="color: #000000">"</span><span style="color: #000000">file:///sdcard/map.jpg</span><span style="color: #000000">"</span><span style="color: #000000">));&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;imageUri&nbsp;set&nbsp;previously</span></span></span><span style="color: #008000"><br />
</span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #008080">4</span><span style="color: #008000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">intent.setType(</span><span style="color: #000000">"</span><span style="color: #000000">image/jpeg</span><span style="color: #000000">"</span></span></span><span style="font-size: 18pt"><span style="font-size: 12pt"><span style="color: #000000">);<br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />startActivity(intent);</span></span></span></div>
<p><span style="font-size: 18pt"><br />
</span></p>
<p><span style="font-size: 18pt"><span style="font-size: 12pt">&nbsp;需要注意的一个问题是之前一直用Uri指向自己开发应用的data文件夹下的文件，始终无法成功，最终换成sdcard就OK了，看来还是权限的问题。</span></span></p>
<p><span style="font-size: 18pt"><span style="font-size: 12pt">&nbsp;</span></span></p>
<p><br />
<span style="font-size: 18pt"><span style="font-size: 12pt">&nbsp;</span></span></p>
<img src ="http://www.blogjava.net/smcdl/aggbug/321406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2010-05-19 19:20 <a href="http://www.blogjava.net/smcdl/archive/2010/05/19/321406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于TCP Bad CheckSum的解决方法</title><link>http://www.blogjava.net/smcdl/archive/2009/12/14/305882.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Mon, 14 Dec 2009 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2009/12/14/305882.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/305882.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2009/12/14/305882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/305882.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/305882.html</trackback:ping><description><![CDATA[请<a href="http://hi.baidu.com/54nop/blog/item/08e7fad33db6bc32960a16ce.html">参考 http://hi.baidu.com/54nop/blog/item/08e7fad33db6bc32960a16ce.html</a>
<img src ="http://www.blogjava.net/smcdl/aggbug/305882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2009-12-14 13:36 <a href="http://www.blogjava.net/smcdl/archive/2009/12/14/305882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何设置MySQL的Timestamp为默认NULL？</title><link>http://www.blogjava.net/smcdl/archive/2009/12/09/305338.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Wed, 09 Dec 2009 13:49:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2009/12/09/305338.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/305338.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2009/12/09/305338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/305338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/305338.html</trackback:ping><description><![CDATA[在MYSQL中如果在建表的时候没有指定Timestamp字段是否为NULL，则系统自动添加默认值，使用DEFAULT NULL也不好用，其实是可以使用NULL直接指定的，如下：<br />
<br />
`CREATE_DATE` TIMESTAMP NULL<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/smcdl/aggbug/305338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2009-12-09 21:49 <a href="http://www.blogjava.net/smcdl/archive/2009/12/09/305338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java偏向锁实现原理讲解(Biased Locking)</title><link>http://www.blogjava.net/smcdl/archive/2009/11/18/302787.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Wed, 18 Nov 2009 05:10:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2009/11/18/302787.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/302787.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2009/11/18/302787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/302787.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/302787.html</trackback:ping><description><![CDATA[<h2><a target="_blank" href="http://www.blogjava.net/bitmap123/archive/2009/11/16/302571.html">引用：Java偏向锁实现原理讲解(Biased Locking)(版权归原作者所有)<br />
</a></h2>
<br />
<img src ="http://www.blogjava.net/smcdl/aggbug/302787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2009-11-18 13:10 <a href="http://www.blogjava.net/smcdl/archive/2009/11/18/302787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于样式表对象style与currentStyle的区别</title><link>http://www.blogjava.net/smcdl/archive/2009/10/18/298782.html</link><dc:creator>Eric Song</dc:creator><author>Eric Song</author><pubDate>Sun, 18 Oct 2009 14:59:00 GMT</pubDate><guid>http://www.blogjava.net/smcdl/archive/2009/10/18/298782.html</guid><wfw:comment>http://www.blogjava.net/smcdl/comments/298782.html</wfw:comment><comments>http://www.blogjava.net/smcdl/archive/2009/10/18/298782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/smcdl/comments/commentRss/298782.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/smcdl/services/trackbacks/298782.html</trackback:ping><description><![CDATA[style和currentStyle都能用来取得当前样式表中的信息，但是style只能取得在HTML中用style声明的样式表信息，无法取得通过class声明的样式表信息，而currentStyle两种声明方式都可以取得。
<img src ="http://www.blogjava.net/smcdl/aggbug/298782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/smcdl/" target="_blank">Eric Song</a> 2009-10-18 22:59 <a href="http://www.blogjava.net/smcdl/archive/2009/10/18/298782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>