<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Android<span class="_ _0"> </span><span class="ff2">开发技巧汇总</span> (1)</div><div class="t m0 x2 h4 y3 ff3 fs1 fc1 sc0 ls0 ws0"> <span class="fs2"><<android <span class="ff2 sc1">开发技巧总汇<span class="_ _1"> </span></span>1>></span></div><div class="t m0 x3 h5 y4 ff2 fs3 fc1 sc0 ls0 ws0">目录</div><div class="t m0 x4 h6 y5 ff1 fs4 fc0 sc0 ls0 ws0"> <<android <span class="ff2">开发技巧总汇<span class="_ _2"> </span></span>1>>.........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..........1</div><div class="t m0 x5 h6 y6 ff1 fs4 fc0 sc0 ls0 ws0">1. <span class="ff2">入门实例剖析<span class="_ _2"> </span></span>1...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>...2</div><div class="t m0 x5 h6 y7 ff1 fs4 fc0 sc0 ls0 ws0">2.<span class="ff2">在测试时</span>,<span class="ff2">如何实现一个提示</span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..........8</div><div class="t m0 x5 h6 y8 ff1 fs4 fc0 sc0 ls0 ws0">3.<span class="ff2">可以使用<span class="_ _2"> </span></span>AlertDialog.Builder <span class="ff2">才产生一个提示框</span>...........<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>........<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>...<span class="_ _4"></span>9</div><div class="t m0 x5 h6 y9 ff1 fs4 fc0 sc0 ls0 ws0">4. menu <span class="ff2">的用法</span>...........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>..................<span class="_ _4"></span>....<span class="_ _4"></span>.10</div><div class="t m0 x6 h6 ya ff1 fs4 fc0 sc0 ls0 ws0">1. <span class="ff2">简单的代码</span>........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>...................<span class="_ _4"></span>.10</div><div class="t m0 x6 h6 yb ff1 fs4 fc0 sc0 ls0 ws0">2. menu<span class="_ _2"> </span><span class="ff2">实现的两种方法</span>.....<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>.1<span class="_ _3"></span>1</div><div class="t m0 x5 h6 yc ff1 fs4 fc0 sc0 ls0 ws0">5.Activity <span class="ff2">的切换(含<span class="_ _2"> </span></span>Bundle<span class="_ _2"> </span><span class="ff2">传值)<span class="_ _3"></span><span class="ff1">............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>......<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....14</span></span></div><div class="t m0 x6 h6 yd ff1 fs4 fc0 sc0 ls0 ws0">1. <span class="ff2">代码2222</span>..........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>................<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>.14</div><div class="t m0 x6 h6 ye ff1 fs4 fc0 sc0 ls0 ws0">2. <span class="ff2">详解</span>:...........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>...........<span class="_ _4"></span>...<span class="_ _3"></span>16</div><div class="t m0 x5 h7 yf ff1 fs4 fc0 sc0 ls0 ws0">6.AndroidUILayout................<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>...................<span class="_ _4"></span>..20</div><div class="t m0 x6 h7 y10 ff1 fs4 fc0 sc0 ls0 ws0">1. <span class="_ _5"></span>AbsoluteLayout.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>......<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>...20</div><div class="t m0 x5 h6 y11 ff1 fs4 fc0 sc0 ls0 ws0">7. T<span class="_ _6"></span>ab<span class="_ _2"> </span><span class="ff2">以及2</span>HostT<span class="_ _6"></span>ab<span class="_ _2"> </span><span class="ff2">操作</span>.....<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _5"></span>21</div><div class="t m0 x5 h6 y12 ff1 fs4 fc0 sc0 ls0 ws0">8. List (<span class="ff2">图片</span>/<span class="ff2">按钮</span>/<span class="ff2">标题</span>/<span class="ff2">文本</span>)..........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>...................<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>..28</div><div class="t m0 x6 h6 y13 ff1 fs4 fc0 sc0 ls0 ws0">LIST<span class="_ _2"> </span><span class="ff2">例一</span>...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>......28</div><div class="t m0 x6 h6 y14 ff1 fs4 fc0 sc0 ls0 ws0">LIST<span class="_ _2"> </span><span class="ff2">例二</span>...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>......37</div><div class="t m0 x6 h6 y15 ff1 fs4 fc0 sc0 ls0 ws0">LIST<span class="_ _2"> </span><span class="ff2">例三</span>...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>......41</div><div class="t m0 x5 h6 y16 ff1 fs4 fc0 sc0 ls0 ws0">9. <span class="ff2">调用浏览器2载入某网址</span>...........<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>......<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>..44</div><div class="t m0 x5 h6 y17 ff1 fs4 fc0 sc0 ls0 ws0">10.<span class="ff2">监控应用程序包的安装</span>&<span class="ff2">删除</span>........<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>44</div><div class="t m0 x6 h6 y18 ff2 fs4 fc0 sc0 ls0 ws0">方法一<span class="ff1">:.......<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..................<span class="_ _4"></span>.<span class="_ _3"></span>44</span></div><div class="t m0 x6 h6 y19 ff2 fs4 fc0 sc0 ls0 ws0">方法二<span class="ff1">:.......<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..................<span class="_ _4"></span>.<span class="_ _3"></span>47</span></div><div class="t m0 x5 h6 y1a ff1 fs4 fc0 sc0 ls0 ws0">1<span class="_ _3"></span>1. <span class="ff2">使用<span class="_ _0"> </span></span>T<span class="_ _5"></span>oast<span class="_ _2"> </span><span class="ff2">输出一个字符串</span>......<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>..............<span class="_ _5"></span>52</div><div class="t m0 x5 h6 y1b ff1 fs4 fc0 sc0 ls0 ws0">12. <span class="ff2">把一个字符串写进文件</span>..........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>................52</div><div class="t m0 x5 h6 y1c ff1 fs4 fc0 sc0 ls0 ws0">13. <span class="ff2">把文件内容读出到一个字符串</span>..........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>....54</div><div class="t m0 x5 h6 y1d ff1 fs4 fc0 sc0 ls0 ws0">14. <span class="ff2">调用<span class="_ _2"> </span></span>Android installer <span class="ff2">安装和卸载程序</span>...<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..................<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>.5<span class="_ _4"></span>5</div><div class="t m0 x5 h6 y1e ff1 fs4 fc0 sc0 ls0 ws0">15. <span class="ff2">结束某个进程</span>..........<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..................<span class="_ _4"></span>..56</div><div class="t m0 x5 h6 y1f ff1 fs4 fc0 sc0 ls0 ws0">16. <span class="ff2">设置默认来电铃声</span>..........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..........<span class="_ _4"></span>..56</div><div class="t m0 x5 h6 y20 ff1 fs4 fc0 sc0 ls0 ws0">17. <span class="ff2">开机自启动</span>..........<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>.....<span class="_ _4"></span>...<span class="_ _4"></span>...57</div><div class="t m0 x5 h6 y21 ff1 fs4 fc0 sc0 ls0 ws0">18. <span class="ff2">线程与子线程</span>..........<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..................<span class="_ _4"></span>..58</div><div class="t m0 x6 h6 y22 ff1 fs4 fc0 sc0 ls0 ws0">handlerMessage<span class="_ _2"> </span><span class="ff2">实例</span>..<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>.......<span class="_ _4"></span>....<span class="_ _4"></span>...59</div><div class="t m0 x5 h7 y23 ff1 fs4 fc0 sc0 ls0 ws0">19. Service.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>..........<span class="_ _4"></span>....<span class="_ _4"></span>...60</div><div class="t m0 x6 h6 y24 ff1 fs4 fc0 sc0 ls0 ws0">1. <span class="ff2">什么是<span class="_ _2"> </span></span>Service...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>.............<span class="_ _4"></span>....<span class="_ _4"></span>..60</div><div class="t m0 x6 h6 y25 ff1 fs4 fc0 sc0 ls0 ws0">2. <span class="ff2">如何使用<span class="_ _2"> </span></span>Service...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>.........<span class="_ _4"></span>....<span class="_ _4"></span>..61</div><div class="t m0 x6 h6 y26 ff1 fs4 fc0 sc0 ls0 ws0">3. Service<span class="_ _2"> </span><span class="ff2">的生命周期</span>...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>.....<span class="_ _4"></span>....<span class="_ _4"></span>..66</div><div class="t m0 x5 h6 y27 ff2 fs4 fc0 sc0 ls0 ws0">附<span class="ff1">) </span>常用界面截图<span class="ff1">:...........<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>...........<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>..67</span></div><div class="t m0 x6 h6 y28 ff2 fs4 fc0 sc0 ls0 ws0">提示<span class="_ _2"> </span><span class="ff1">1...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>..............<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>...67</span></div><div class="t m0 x6 h6 y29 ff2 fs4 fc0 sc0 ls0 ws0">提示<span class="_ _2"> </span><span class="ff1">2...<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>..............<span class="_ _4"></span>....<span class="_ _4"></span>....<span class="_ _4"></span>...68</span></div><div class="t m0 x6 h6 y2a ff2 fs4 fc0 sc0 ls0 ws0">菜单2<span class="ff1">...........<span class="_ _3"></span>............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>.............<span class="_ _3"></span>............<span class="_ _3"></span>....................68</span></div><div class="t m0 x7 h3 y2b ff2 fs0 fc0 sc0 ls0 ws0">作者<span class="_ _0"> </span><span class="ff1">ruin: <span class="fc2">craining@163.com</span></span></div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/bg2.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Android<span class="_ _0"> </span><span class="ff2">开发技巧汇总</span> (1)</div><div class="t m0 x4 h8 y2c ff3 fs5 fc0 sc0 ls0 ws0">1. <span class="ff2 sc2">入门实例剖析<span class="_ _7"> </span></span><span class="ff4">1</span></div><div class="t m0 x4 h6 y2d ff2 fs4 fc0 sc0 ls0 ws0">开卷语</div><div class="t m0 x4 h6 y2e ff2 fs4 fc0 sc0 ls0 ws0">俗话说,“熟读唐诗三百首,不会作诗也会吟”。最近收集了很多<span class="_ _7"> </span><span class="ff1">Android<span class="_ _2"> </span></span>的示例代码,从这</div><div class="t m0 x4 h6 y2f ff2 fs4 fc0 sc0 ls0 ws0">些代<span class="_ _4"></span>码的<span class="_ _4"></span>阅<span class="_ _4"></span>读和<span class="_ _4"></span>实验<span class="_ _4"></span>中学<span class="_ _4"></span>习到<span class="_ _4"></span>很多<span class="_ _4"></span>知<span class="_ _4"></span>识,<span class="_ _4"></span>从而<span class="_ _4"></span>产<span class="_ _4"></span>生写<span class="_ _4"></span>这个<span class="_ _4"></span>系列<span class="_ _4"></span>的打<span class="_ _4"></span>算,<span class="_ _4"></span>目<span class="_ _4"></span>标就<span class="_ _4"></span>是一<span class="_ _4"></span>步<span class="_ _4"></span>步跟</div><div class="t m0 x4 h6 y30 ff2 fs4 fc0 sc0 ls0 ws0">着实例进行动手实作,真正从“做”中体会和学习<span class="_ _2"> </span><span class="ff1">Android<span class="_ _0"> </span></span>开发。</div><div class="t m0 x4 h6 y31 ff1 fs4 fc0 sc0 ls0 ws0"> <span class="ff2">本文目标是<span class="_ _2"> </span></span>Android<span class="_ _0"> </span><span class="ff2">自带的一个范例程序:记事本,</span> </div><div class="t m0 x4 h6 y32 ff2 fs4 fc0 sc0 ls0 ws0">预备知识</div><div class="t m0 x4 h6 y33 ff2 fs4 fc0 sc0 ls0 ws0">搭建开发环<span class="_ _4"></span>境,尝试编写<span class="_ _4"></span>”<span class="ff1">He<span class="_ _4"></span>llo W<span class="_ _6"></span>orld<span class="ff5"><span class="ff2">,了解<span class="_ _2"> </span></span></span>Android<span class="_ _2"> </span><span class="ff2">的基本概念,熟<span class="_ _4"></span>悉<span class="_ _2"> </span></span>Android<span class="_ _2"> </span><span class="ff2">的<span class="_ _2"> </span></span>API(<span class="ff2">官</span></span></div><div class="t m0 x4 h6 y34 ff2 fs4 fc0 sc0 ls0 ws0">方文档中都有,不赘述<span class="ff1">)</span>。</div><div class="t m0 x4 h6 y35 ff2 fs4 fc0 sc0 ls0 ws0">程序截图</div><div class="t m0 x4 h6 y36 ff2 fs4 fc0 sc0 ls0 ws0">先来简单了解下程序运行的效果</div><div class="t m0 x8 h7 y37 ff1 fs4 fc0 sc0 ls0 ws0"> 1 <span class="_ _8"> </span><span class="fs0"> 2</span></div><div class="t m0 x7 h3 y2b ff2 fs0 fc0 sc0 ls0 ws0">作者<span class="_ _0"> </span><span class="ff1">ruin: <span class="fc2">craining@163.com</span></span></div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/bg3.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Android<span class="_ _0"> </span><span class="ff2">开发技巧汇总</span> (1)</div><div class="t m0 x9 h9 y38 ff1 fs0 fc0 sc0 ls0 ws0"> 3 <span class="_ _9"> </span> 4</div><div class="t m0 x4 h6 y39 ff2 fs4 fc0 sc0 ls0 ws0">程序入口点</div><div class="t m0 x4 h6 y3a ff2 fs4 fc0 sc0 ls0 ws0">类<span class="_ _a"></span>似<span class="_ _a"></span>于<span class="_ _7"> </span><span class="ff1">win32<span class="_ _7"> </span></span>程<span class="_ _a"></span>序<span class="_ _a"></span>里<span class="_ _a"></span>的<span class="_ _7"> </span><span class="ff1">W<span class="_ _5"></span>inMain<span class="_ _7"> </span><span class="ff2">函<span class="_ _a"></span>数<span class="_ _a"></span>,<span class="_ _a"></span></span>Android<span class="_ _7"> </span><span class="ff2">自<span class="_ _a"></span>然<span class="_ _a"></span>也<span class="_ _a"></span>有<span class="_ _a"></span>它<span class="_ _a"></span>的<span class="_ _a"></span>程<span class="_ _a"></span>序<span class="_ _a"></span>入<span class="_ _a"></span>口<span class="_ _a"></span>点<span class="_ _a"></span>。<span class="_ _a"></span>它<span class="_ _a"></span>通<span class="_ _a"></span>过<span class="_ _a"></span>在</span></span></div><div class="t m0 x4 h6 y3b ff1 fs4 fc0 sc0 ls0 ws0">AndroidManifest.xml<span class="_"> </span><span class="ff2">文<span class="_ _4"></span>件<span class="_ _4"></span>中<span class="_ _b"></span>配<span class="_ _4"></span>置<span class="_ _b"></span>来<span class="_ _4"></span>指<span class="_ _4"></span>明<span class="_ _b"></span>,<span class="_ _4"></span>可<span class="_ _4"></span>以<span class="_ _b"></span>看<span class="_ _4"></span>到<span class="_ _b"></span>名<span class="_ _4"></span>为<span class="_ _7"> </span></span>N<span class="_ _3"></span>otesList<span class="_"> </span><span class="ff2">的<span class="_ _2"> </span></span>a<span class="_ _4"></span>ctivity<span class="_"> </span><span class="ff2">节<span class="_ _4"></span>点<span class="_ _4"></span>下<span class="_ _b"></span>有<span class="_ _4"></span>这<span class="_ _4"></span>样</span></div><div class="t m0 x4 h6 y3c ff2 fs4 fc0 sc0 ls0 ws0">一个<span class="_ _2"> </span><span class="ff1">intent-filter<span class="_ _5"></span>,<span class="ff2">其<span class="_ _2"> </span></span>action<span class="_ _2"> </span><span class="ff2">为<span class="_ _0"> </span></span>android.intent.action.MAIN,</span></div><div class="t m0 x4 h6 y3d ff1 fs4 fc0 sc0 ls0 ws0">Category<span class="_ _7"> </span><span class="ff2">指<span class="_ _a"></span>定<span class="_ _a"></span>为<span class="_ _a"></span></span> <span class="_ _a"></span>android.intent.category<span class="_ _5"></span>.LAUNCHER,<span class="_ _a"> </span><span class="ff2">这<span class="_ _a"></span>就<span class="_ _a"></span>指<span class="_ _a"></span>明<span class="_ _a"></span>了<span class="_ _a"></span>这<span class="_ _a"></span>个<span class="_ _7"> </span></span>activity<span class="_ _7"> </span><span class="ff2">是<span class="_ _a"></span>作<span class="_ _a"></span>为<span class="_ _a"></span>入<span class="_ _a"></span>口</span></div><div class="t m0 x4 h6 y3e ff1 fs4 fc0 sc0 ls0 ws0">activity<span class="_ _4"></span><span class="ff2">,<span class="_ _4"></span>系<span class="_ _4"></span>统<span class="_ _4"></span>查<span class="_ _4"></span>找<span class="_ _4"></span>到<span class="_ _4"></span>它后<span class="_ _b"></span>,就<span class="_ _4"></span>会<span class="_ _4"></span>创<span class="_ _4"></span>建<span class="_ _4"></span>这<span class="_ _4"></span>个<span class="_ _c"> </span></span>activity<span class="_ _2"> </span><span class="ff2">实<span class="_ _4"></span>例<span class="_ _4"></span>来<span class="_ _4"></span>运<span class="_ _4"></span>行<span class="_ _4"></span>,<span class="_ _4"></span>若<span class="_ _4"></span>未<span class="_ _4"></span>发<span class="_ _4"></span>现<span class="_ _4"></span>就<span class="_ _4"></span>不启<span class="_ _b"></span>动<span class="_ _4"></span></span>(<span class="_ _4"></span><span class="ff2">你<span class="_ _4"></span>可<span class="_ _4"></span>以</span></div><div class="t m0 x4 h6 y3f ff2 fs4 fc0 sc0 ls0 ws0">把<span class="_ _2"> </span><span class="ff1">MAIN<span class="_ _0"> </span></span>改名字试试<span class="ff1">)</span>。</div><div class="t m0 x4 h7 y40 ff1 fs4 fc0 sc0 ls0 ws0"><intent-filter></div><div class="t m0 x4 h7 y41 ff1 fs4 fc0 sc0 ls0 ws0"><action android:name="android.intent.action.MAIN"</div><div class="t m0 x4 h7 y42 ff1 fs4 fc0 sc0 ls0 ws0">/></div><div class="t m0 x4 h7 y43 ff1 fs4 fc0 sc0 ls0 ws0"><category android:name="android.intent.category<span class="_ _6"></span>.LAUNCHER"</div><div class="t m0 x4 h7 y44 ff1 fs4 fc0 sc0 ls0 ws0">/></div><div class="t m0 x4 h7 y45 ff1 fs4 fc0 sc0 ls0 ws0"></intent-filter></div><div class="t m0 x4 h6 y46 ff6 fs4 fc0 sc0 ls0 ws0">NotesList<span class="_ _2"> </span><span class="ff2 sc2">详解</span></div><div class="t m0 x4 h6 y47 ff2 fs4 fc0 sc0 ls0 ws0">就从<span class="_ _4"></span>入口<span class="_ _4"></span>点<span class="_ _4"></span>所在<span class="_ _4"></span>的<span class="_ _c"> </span><span class="ff1">activity(</span>见<span class="_ _4"></span>图<span class="_ _2"> </span><span class="ff1">1)<span class="_ _4"></span></span>开始<span class="_ _4"></span>,<span class="_ _4"></span>可以<span class="_ _4"></span>看到<span class="_ _4"></span>这个<span class="_ _c"> </span><span class="ff1">activity<span class="_"> </span></span>最重要<span class="_ _4"></span>的功<span class="_ _4"></span>能就<span class="_ _4"></span>是显<span class="_ _4"></span>示<span class="_ _4"></span>日志</div><div class="t m0 x4 ha y48 ff2 fs4 fc0 sc0 ls0 ws0">列表。这个程序的日志都存放在<span class="_ _2"> </span><span class="ff1">Sqlite<span class="_ _0"> </span></span>数据库中,因此需要读<span class="ff7">取</span>出所有的日志记录<span class="ff7">并</span>显示。</div><div class="t m0 x4 ha y49 ff2 fs4 fc0 sc0 ls0 ws0">先来<span class="_ _4"></span>看两<span class="_ _4"></span>个<span class="_ _4"></span>重要<span class="_ _4"></span>的<span class="ff7">私<span class="_ _4"></span></span>有数<span class="_ _4"></span>据<span class="_ _4"></span>,<span class="ff7">第<span class="_ _4"></span></span>一<span class="_ _4"></span>个<span class="_ _2"> </span><span class="ff1">PROJECTION<span class="_ _2"> </span></span>字<span class="ff7">段<span class="_ _4"></span></span>指明<span class="_ _4"></span>了<span class="_ _4"></span>“日<span class="_ _4"></span>志列<span class="_ _4"></span>表“<span class="_ _4"></span>所<span class="_ _4"></span><span class="ff7">关注<span class="_ _4"></span></span>的<span class="_ _4"></span>数据<span class="_ _4"></span>库</div><div class="t m0 x4 ha y4a ff2 fs4 fc0 sc0 ls0 ws0">中的字<span class="ff7">段</span>(<span class="ff7">即只</span>需要<span class="_ _2"> </span><span class="ff1">ID<span class="_ _0"> </span></span>和<span class="_ _2"> </span><span class="ff1">T<span class="_ _5"></span>i<span class="_ _4"></span>tle<span class="_ _2"> </span><span class="ff2">就可以了)。</span></span></div><div class="t m0 x7 h3 y2b ff2 fs0 fc0 sc0 ls0 ws0">作者<span class="_ _0"> </span><span class="ff1">ruin: <span class="fc2">craining@163.com</span></span></div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/bg4.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Android<span class="_ _0"> </span><span class="ff2">开发技巧汇总</span> (1)</div><div class="t m0 x4 h7 y4b ff1 fs4 fc0 sc0 ls0 ws0">private</div><div class="t m0 x4 h7 y4c ff1 fs4 fc0 sc0 ls0 ws0">static</div><div class="t m0 x4 h7 y4d ff1 fs4 fc0 sc0 ls0 ws0">final String[] PROJECTION =</div><div class="t m0 x4 h7 y4e ff1 fs4 fc0 sc0 ls0 ws0">new String[] {</div><div class="t m0 x4 h7 y4f ff1 fs4 fc0 sc0 ls0 ws0"> Notes._ID, // 0</div><div class="t m0 x4 h7 y50 ff1 fs4 fc0 sc0 ls0 ws0"> Notes.TITLE, // 1</div><div class="t m0 x4 h7 y51 ff1 fs4 fc0 sc0 ls0 ws0"> };</div><div class="t m0 x4 ha y52 ff7 fs4 fc0 sc0 ls0 ws0">第<span class="ff2">二个字</span>段<span class="_ _2"> </span><span class="ff1">COLUMN_INDEX_TITLE<span class="_ _2"> </span><span class="ff2">指明<span class="_ _0"> </span></span>title<span class="_ _2"> </span><span class="ff2">字</span></span>段<span class="ff2">在数据表中的</span>索引<span class="ff2">。</span></div><div class="t m0 x4 h7 y53 ff1 fs4 fc0 sc0 ls0 ws0">private</div><div class="t m0 x4 h7 y54 ff1 fs4 fc0 sc0 ls0 ws0">static</div><div class="t m0 x4 h7 y55 ff1 fs4 fc0 sc0 ls0 ws0">final</div><div class="t m0 x4 h7 y56 ff1 fs4 fc0 sc0 ls0 ws0">int COLUMN_INDEX_TITLE =</div><div class="t m0 x4 h7 y57 ff1 fs4 fc0 sc0 ls0 ws0">1;</div><div class="t m0 x4 ha y58 ff2 fs4 fc0 sc0 ls0 ws0">然后就进入<span class="ff7">第</span>一个调用的函数<span class="_ _2"> </span><span class="ff1">onCreate</span>。</div><div class="t m0 x4 h7 y59 ff1 fs4 fc0 sc0 ls0 ws0"> Intent intent = getIntent();</div><div class="t m0 x4 h7 y5a ff1 fs4 fc0 sc0 ls0 ws0"> if (intent.getData() ==</div><div class="t m0 x4 h7 y5b ff1 fs4 fc0 sc0 ls0 ws0">null) </div><div class="t m0 x4 h7 y5c ff1 fs4 fc0 sc0 ls0 ws0"> {</div><div class="t m0 x4 h7 y5d ff1 fs4 fc0 sc0 ls0 ws0"> intent.setData(Notes.CONTENT_URI);</div><div class="t m0 x4 h7 y5e ff1 fs4 fc0 sc0 ls0 ws0"> }</div><div class="t m0 x4 ha y3a ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span><span class="ff2">因<span class="_ _4"></span>为<span class="_ _2"> </span></span>NotesList<span class="_"> </span><span class="ff2">这个<span class="_ _2"> </span></span>activity<span class="_"> </span><span class="ff2">是系<span class="_ _4"></span>统调<span class="_ _4"></span>用<span class="_ _4"></span>的<span class="_ _4"></span>,此<span class="_ _4"></span>时<span class="_ _4"></span>的<span class="_ _2"> </span></span>in<span class="_ _4"></span>tent<span class="_ _2"> </span><span class="ff2">是不<span class="_ _4"></span>带<span class="_ _4"></span>数<span class="_ _4"></span>据和<span class="_ _4"></span>操<span class="_ _4"></span>作<span class="_ _4"></span>类<span class="_ _4"></span><span class="ff7">型<span class="_ _4"></span></span>的,<span class="_ _4"></span>系</span></div><div class="t m0 x4 ha y3b ff2 fs4 fc0 sc0 ls0 ws0">统<span class="_ _d"> </span><span class="ff7">只<span class="_ _d"> </span></span>是<span class="_ _d"> </span>在<span class="_ _d"> </span>其<span class="_ _d"> </span>中<span class="_ _e"> </span>指<span class="_ _d"> </span>明<span class="_ _e"> </span>了<span class="_ _d"> </span>目<span class="_ _d"> </span>标<span class="_ _d"> </span><span class="ff7">组<span class="_ _d"> </span></span>件<span class="_ _d"> </span>是<span class="_ _f"> </span><span class="ff1">Notelist<span class="_ _d"> </span></span>,<span class="_ _d"> </span>所<span class="_ _e"> </span>以<span class="_ _d"> </span>这<span class="_ _d"> </span>里<span class="_ _d"> </span>把<span class="_ _d"> </span>”<span class="_ _d"> </span><span class="ff1">content://</span></div><div class="t m0 x4 ha y3c ff1 fs4 fc0 sc0 ls0 ws0">com.google.provider<span class="_ _5"></span>.NotePad/notes<span class="ff5"><span class="_ _b"></span><span class="ff7">保<span class="_ _4"></span><span class="ff2">存<span class="_ _4"></span>到<span class="_ _c"> </span></span></span></span>intent<span class="_"> </span><span class="ff2">里<span class="_ _4"></span>面<span class="_ _b"></span>,<span class="_ _4"></span>这<span class="_ _b"></span>个<span class="_ _c"> </span></span>URI<span class="_"> </span><span class="ff7">地<span class="_ _4"></span><span class="ff2">址<span class="_ _4"></span>指<span class="_ _b"></span>明<span class="_ _4"></span>了<span class="_ _4"></span>数<span class="_ _b"></span>据<span class="_ _4"></span>库<span class="_ _b"></span>中<span class="_ _4"></span>的<span class="_ _4"></span>数</span></span></div><div class="t m0 x4 ha y3d ff2 fs4 fc0 sc0 ls0 ws0">据表名(<span class="ff7">参</span>见以后的<span class="_ _2"> </span><span class="ff1">NotePadProvider<span class="_ _2"> </span></span>类),也就是<span class="ff7">保</span>存日志的数据表<span class="_ _0"> </span><span class="ff1">notes</span>。</div><div class="t m0 x4 h7 y5f ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _10"> </span> <span class="_ _11"> </span> <span class="_ _11"> </span> <span class="_ _11"> </span> <span class="_ _11"> </span> <span class="_ _11"> </span> <span class="_ _10"> </span> Cursor<span class="_ _2"> </span> <span class="_ _0"> </span>cursor<span class="_ _2"> </span> <span class="_ _0"> </span>=<span class="_ _2"> </span> <span class="_ _2"> </span>managedQu<span class="_ _3"></span>ery(getIntent().getData(),<span class="_ _0"> </span> <span class="_ _2"> </span>PROJECTION,<span class="_ _2"> </span> <span class="_ _0"> </span>null,<span class="_ _2"> </span> <span class="_ _0"> </span>null,</div><div class="t m0 x4 h7 y60 ff1 fs4 fc0 sc0 ls0 ws0">Notes.DEF<span class="_ _6"></span>AUL<span class="_ _6"></span>T_SOR<span class="_ _5"></span>T_ORDER);</div><div class="t m0 x4 ha y61 ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="ff2">然后<span class="_ _4"></span>调用<span class="_ _2"> </span></span>managedQuery<span class="_ _2"> </span><span class="ff2">函数查<span class="ff7">询</span>出所<span class="_ _4"></span>有的日志<span class="ff7">信息<span class="_ _4"></span></span>,这里<span class="ff7">第<span class="_ _4"></span></span>一个<span class="ff7">参</span>数就是<span class="_ _4"></span><span class="ff7">上</span>面设置的”</span></div><div class="t m0 x4 ha y62 ff1 fs4 fc0 sc0 ls0 ws0">content://<span class="_ _4"></span> <span class="_ _4"></span>c<span class="_ _4"></span>om.google.provider<span class="_ _5"></span>.NotePad/notes<span class="ff5"><span class="_ _b"></span><span class="ff2">这<span class="_ _a"></span>个<span class="_ _c"> </span></span></span>URI<span class="_ _b"></span><span class="ff2">,<span class="_ _a"></span><span class="ff7">即<span class="_ _c"> </span></span></span>notes<span class="_"> </span><span class="ff2">数<span class="_ _a"></span>据<span class="_ _b"></span>表<span class="_ _b"></span>。<span class="_ _b"></span></span>PROJECTION<span class="_ _b"></span> <span class="_ _a"></span><span class="ff2">字</span></div><div class="t m0 x4 ha y63 ff7 fs4 fc0 sc0 ls0 ws0">段<span class="ff2">指<span class="_ _4"></span>明了<span class="_ _4"></span>结<span class="_ _4"></span>果中<span class="_ _4"></span>所需<span class="_ _4"></span>要的<span class="_ _4"></span>字<span class="_ _4"></span></span>段<span class="ff2">,<span class="_ _b"></span><span class="ff1">Notes.DEF<span class="_ _5"></span>AUL<span class="_ _6"></span>T_SOR<span class="_ _6"></span>T_ORDER<span class="_ _4"></span> <span class="_ _4"></span><span class="ff2">指<span class="_ _4"></span>明了<span class="_ _4"></span>结果<span class="_ _4"></span>的<span class="_ _4"></span><span class="ff7">排</span>序<span class="_ _4"></span><span class="ff7">规<span class="_ _4"></span>则</span>。</span></span></span></div><div class="t m0 x4 ha y64 ff2 fs4 fc0 sc0 ls0 ws0">实<span class="_ _4"></span><span class="ff7">际<span class="_ _4"></span>上<span class="_ _c"> </span><span class="ff1">managedQuery<span class="_"> </span></span>并没<span class="_ _4"></span></span>有<span class="_ _4"></span><span class="ff7">直<span class="_ _4"></span>接<span class="_ _4"></span>去<span class="_ _b"></span></span>查<span class="ff7">询<span class="_ _b"></span></span>数据<span class="_ _4"></span>库<span class="_ _b"></span>,而<span class="_ _4"></span>是<span class="_ _b"></span>通过<span class="_ _c"> </span><span class="ff1">Content <span class="_ _4"></span>Provider<span class="_"> </span></span>来<span class="_ _4"></span><span class="ff7">完<span class="_ _4"></span>成<span class="_ _4"></span></span>实<span class="_ _4"></span><span class="ff7">际<span class="_ _4"></span></span>的</div><div class="t m0 x4 ha y65 ff2 fs4 fc0 sc0 ls0 ws0">数据库操作,这样就实现了<span class="ff7">逻辑层</span>和数据库<span class="ff7">层</span>的<span class="ff7">分离</span>。</div><div class="t m0 x4 h7 y44 ff1 fs4 fc0 sc0 ls0 ws0">SimpleCursorAdapter adapter =</div><div class="t m0 x4 h7 y45 ff1 fs4 fc0 sc0 ls0 ws0">new SimpleCursorAdapter(this, R.layout.noteslist_item, cursor<span class="_ _5"></span>,</div><div class="t m0 x4 h7 y66 ff1 fs4 fc0 sc0 ls0 ws0"> new String[] { Notes.TITLE }, new</div><div class="t m0 x4 h7 y67 ff1 fs4 fc0 sc0 ls0 ws0">int[] { android.R.id.text1 });</div><div class="t m0 x4 h7 y68 ff1 fs4 fc0 sc0 ls0 ws0"> setListAdapter(adapter);</div><div class="t m0 x4 ha y69 ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span><span class="ff2">查<span class="_ _4"></span><span class="ff7">询<span class="_ _4"></span></span>出日<span class="_ _4"></span>志<span class="_ _4"></span>列表<span class="_ _4"></span>后,<span class="_ _4"></span><span class="ff7">构造<span class="_ _4"></span></span>一<span class="_ _4"></span>个<span class="_ _c"> </span></span>CursorAdapter<span class="_ _4"></span><span class="ff2">,<span class="ff7">并<span class="_ _4"></span>将</span>其<span class="_ _4"></span>作为<span class="_ _c"> </span></span>List V<span class="_ _6"></span>ie<span class="_ _4"></span>w<span class="_ _2"> </span><span class="ff2">的数<span class="_ _4"></span>据<span class="_ _4"></span><span class="ff7">源</span>,<span class="_ _4"></span>从<span class="_ _4"></span>而在</span></div><div class="t m0 x4 ha y49 ff2 fs4 fc0 sc0 ls0 ws0">界<span class="_ _b"></span>面<span class="_ _a"></span><span class="ff7">上<span class="_ _b"></span></span>显<span class="_ _b"></span>示<span class="_ _b"></span>出<span class="_ _a"></span>日<span class="_ _b"></span>志<span class="_ _b"></span>列<span class="_ _b"></span>表<span class="_ _a"></span>。<span class="_ _b"></span>可<span class="_ _b"></span>以<span class="_ _b"></span>看<span class="_ _a"></span>到<span class="_ _b"></span>,<span class="_ _b"></span><span class="ff7">第<span class="_ _a"></span></span>二<span class="_ _b"></span>个<span class="_ _b"></span><span class="ff7">参<span class="_ _b"></span></span>数<span class="_ _a"></span>是<span class="_ _7"> </span><span class="ff1">R.layout.noteslist_item<span class="_ _a"></span></span>,<span class="_ _b"></span>打<span class="_ _b"></span>开<span class="_ _a"></span><span class="ff7">对<span class="_ _b"></span></span>应<span class="_ _b"></span>的</div><div class="t m0 x4 h6 y4a ff1 fs4 fc0 sc0 ls0 ws0">noteslist_item.xml<span class="_ _2"> </span><span class="ff2">文件,</span></div><div class="t m0 x4 h7 y6a ff1 fs4 fc0 sc0 ls0 ws0"><T<span class="_ _6"></span>extV<span class="_ _5"></span>iew xmlns:android="http://schemas.android.com/apk/res/android"</div><div class="t m0 x7 h3 y2b ff2 fs0 fc0 sc0 ls0 ws0">作者<span class="_ _0"> </span><span class="ff1">ruin: <span class="fc2">craining@163.com</span></span></div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/628d0e0f9ca87e087f58edc7/bg5.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Android<span class="_ _0"> </span><span class="ff2">开发技巧汇总</span> (1)</div><div class="t m0 x4 h7 y4b ff1 fs4 fc0 sc0 ls0 ws0"> android:id="@android:id/text1"</div><div class="t m0 x4 h7 y4c ff1 fs4 fc0 sc0 ls0 ws0"> android:layout_width="fill_parent"</div><div class="t m0 x4 h7 y4d ff1 fs4 fc0 sc0 ls0 ws0"> android:layout_height="?android:attr/listPreferredItemHeight"</div><div class="t m0 x4 h7 y4e ff1 fs4 fc0 sc0 ls0 ws0"> android:textAppearance="?android:attr/textAppearanceLarge"</div><div class="t m0 x4 h7 y4f ff1 fs4 fc0 sc0 ls0 ws0"> android:gravity="center_vertical"</div><div class="t m0 x4 h7 y50 ff1 fs4 fc0 sc0 ls0 ws0"> android:paddingLeft="5dip"</div><div class="t m0 x4 h7 y51 ff1 fs4 fc0 sc0 ls0 ws0"> android:singleLine="true"</div><div class="t m0 x4 h7 y6b ff1 fs4 fc0 sc0 ls0 ws0">/></div><div class="t m0 x4 ha y52 ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span><span class="ff2">就<span class="_ _4"></span>是<span class="_ _4"></span>用<span class="_ _4"></span>来显<span class="_ _4"></span>示<span class="_ _4"></span>一<span class="_ _4"></span><span class="ff7">条<span class="_ _4"></span></span>日志<span class="_ _4"></span>记<span class="_ _4"></span>录<span class="_ _4"></span>的<span class="_ _2"> </span></span>T<span class="_ _5"></span>extV<span class="_ _5"></span>iew<span class="_ _5"></span>,<span class="_ _4"></span><span class="ff2">最后<span class="_ _4"></span>两<span class="_ _4"></span>个<span class="_ _4"></span>字<span class="_ _4"></span><span class="ff7">段</span>指<span class="_ _4"></span>明<span class="_ _4"></span>了<span class="_ _4"></span>实<span class="_ _4"></span><span class="ff7">际</span>的<span class="_ _4"></span>字<span class="_ _4"></span><span class="ff7">段<span class="_ _4"></span>映<span class="_ _4"></span>射关<span class="_ _4"></span></span>系<span class="_ _4"></span>,<span class="_ _4"></span>通</span></div><div class="t m0 x4 ha y6c ff2 fs4 fc0 sc0 ls0 ws0">过这个<span class="_ _2"> </span><span class="ff1">T<span class="_ _6"></span>extV<span class="_ _5"></span>iew<span class="_ _2"> </span><span class="ff2">来显示一<span class="ff7">条</span>日志记录的<span class="_ _0"> </span></span>title<span class="_"> </span><span class="ff2">字<span class="ff7">段</span>。</span></span></div><div class="t m0 x4 ha y6d ff7 fs4 fc0 sc0 ls0 ws0">处理<span class="ff2">“</span>选择<span class="ff2">日志”事件</span></div><div class="t m0 x4 ha y6e ff7 fs4 fc0 sc0 ls0 ws0">既<span class="_ _a"></span><span class="ff2">然<span class="_ _a"></span>有<span class="_ _a"></span>了<span class="_ _a"></span>“<span class="_ _a"></span>日<span class="_ _a"></span>志<span class="_ _a"></span>列<span class="_ _a"></span>表<span class="_ _a"></span>”<span class="_ _a"></span>,<span class="_ _a"></span>就<span class="_ _a"></span>自<span class="_ _a"></span>然<span class="_ _a"></span>要<span class="_ _a"></span></span>考<span class="_ _a"></span>虑<span class="_ _a"></span><span class="ff2">如<span class="_ _a"></span>何<span class="_ _a"></span></span>处<span class="_ _a"></span>理<span class="_ _a"></span><span class="ff2">某<span class="_ _a"></span>一<span class="_ _a"></span></span>条<span class="_ _a"></span><span class="ff2">日<span class="_ _a"></span>志<span class="_ _a"></span>的<span class="_ _a"></span>单<span class="_ _12"></span></span>击<span class="_ _a"></span><span class="ff2">事<span class="_ _a"></span>件<span class="_ _a"></span>,<span class="_ _a"></span>这<span class="_ _a"></span>通<span class="_ _a"></span>过<span class="_ _a"></span>重<span class="_ _a"></span>载</span></div><div class="t m0 x4 ha y58 ff1 fs4 fc0 sc0 ls0 ws0">onListItemClick<span class="_ _2"> </span><span class="ff2">方法来<span class="ff7">完成</span>,</span></div><div class="t m0 x4 h7 y59 ff1 fs4 fc0 sc0 ls0 ws0"> @Override</div><div class="t m0 x4 h7 y5a ff1 fs4 fc0 sc0 ls0 ws0"> protected</div><div class="t m0 x4 h7 y5b ff1 fs4 fc0 sc0 ls0 ws0">void onListItemClick(ListV<span class="_ _5"></span>iew l, V<span class="_ _6"></span>iew v<span class="_ _5"></span>, int position, long id) {</div><div class="t m0 x4 h7 y5c ff1 fs4 fc0 sc0 ls0 ws0"> Uri uri = ContentUris.withAppendedId(getIntent().getData(), id);</div><div class="t m0 x4 h7 y5d ff1 fs4 fc0 sc0 ls0 ws0"> </div><div class="t m0 x4 h7 y5e ff1 fs4 fc0 sc0 ls0 ws0"> String action = getIntent().getAction();</div><div class="t m0 x4 h7 y6f ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> if<span class="_ _4"></span> (In<span class="_ _4"></span>tent.ACTION_PICK.equals(action) ||<span class="_ _4"></span> Intent.ACTION_GET_CONTENT<span class="_ _5"></span>.equals(action))</div><div class="t m0 x4 h7 y70 ff1 fs4 fc0 sc0 ls0 ws0">{</div><div class="t m0 x4 h7 y71 ff1 fs4 fc0 sc0 ls0 ws0"> // The caller is waiting for us to return a note selected by</div><div class="t m0 x4 h7 y72 ff1 fs4 fc0 sc0 ls0 ws0"> // the user<span class="_ _5"></span>. The have clicked on one, so return it now<span class="_ _6"></span>.</div><div class="t m0 x4 h7 y73 ff1 fs4 fc0 sc0 ls0 ws0"> setResult(RESUL<span class="_ _6"></span>T_OK, new Intent().setData(uri));</div><div class="t m0 x4 h7 y5f ff1 fs4 fc0 sc0 ls0 ws0"> } else {</div><div class="t m0 x4 h7 y60 ff1 fs4 fc0 sc0 ls0 ws0"> // Launch activity to view/edit the currently selected item</div><div class="t m0 x4 h7 y74 ff1 fs4 fc0 sc0 ls0 ws0"> startActivity(new Intent(Intent.ACTION_EDIT<span class="_ _6"></span>, uri));</div><div class="t m0 x4 h7 y40 ff1 fs4 fc0 sc0 ls0 ws0"> }</div><div class="t m0 x4 h7 y41 ff1 fs4 fc0 sc0 ls0 ws0"> }</div><div class="t m0 x4 ha y65 ff1 fs4 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _4"></span> <span class="_ _b"></span><span class="ff2">首先<span class="_ _4"></span>通过<span class="_ _4"></span>”<span class="_ _b"></span></span>content:// com.google.provider<span class="_ _5"></span>.NotePad/notes<span class="_ _4"></span><span class="ff5"><span class="_ _4"></span><span class="ff2">和日<span class="_ _4"></span>志<span class="_ _4"></span>的<span class="_ _2"> </span></span></span>id<span class="_ _4"></span> <span class="_ _4"></span><span class="ff7">号<span class="_ _4"></span>拼接<span class="_ _4"></span>得<span class="_ _4"></span><span class="ff2">到<span class="_ _4"></span></span>选<span class="_ _4"></span><span class="ff2">中日<span class="_ _4"></span>志</span></span></div><div class="t m0 x4 ha y75 ff2 fs4 fc0 sc0 ls0 ws0">的真正<span class="_ _2"> </span><span class="ff1">URI,<span class="_ _4"></span></span>然后创<span class="_ _4"></span>建一个<span class="_ _4"></span><span class="ff7">新</span>的<span class="_ _2"> </span><span class="ff1">Intent,<span class="_ _4"></span></span>其操作<span class="_ _4"></span>类<span class="ff7">型<span class="_ _4"></span></span>为<span class="_ _2"> </span><span class="ff1">Intent.ACTION_EDIT</span>,<span class="_ _4"></span>数据<span class="_ _4"></span><span class="ff7">域</span>指出<span class="_ _4"></span><span class="ff7">待</span>编</div><div class="t m0 x4 ha y76 ff7 fs4 fc0 sc0 ls0 ws0">辑<span class="ff2">的日志<span class="_ _2"> </span><span class="ff1">URI</span>(这里</span>只分<span class="ff2">析<span class="_ _0"> </span><span class="ff1">else<span class="_ _2"> </span></span></span>块<span class="ff2">)。</span></div><div class="t m0 x4 ha y46 ff6 fs4 fc0 sc0 ls0 ws0">Intent<span class="_ _2"> </span><span class="ff7 sc2">深度<span class="ff2">剖析</span></span></div><div class="t m0 x4 ha y47 ff7 fs4 fc0 sc0 ls0 ws0">那<span class="ff2">么,</span>上<span class="ff2">面<span class="_ _4"></span>这</span>句<span class="_ _2"> </span><span class="ff1">startActivity(new Intent(Intent.ACTION_EDIT<span class="_ _6"></span>, uri))<span class="_ _4"></span><span class="ff7">执<span class="_ _4"></span><span class="ff2">行后会发生什<span class="_ _4"></span>么事</span>情呢</span></span></div><div class="t m0 x4 ha y48 ff2 fs4 fc0 sc0 ls0 ws0">这<span class="_ _4"></span>时<span class="_ _4"></span><span class="ff7">候<span class="_ _c"> </span><span class="ff1">Android<span class="_"> </span></span></span>系统<span class="_ _4"></span>就<span class="_ _4"></span><span class="ff7">跳<span class="_ _4"></span></span>出<span class="_ _b"></span>来<span class="ff7">接<span class="_ _4"></span>管<span class="_ _b"></span></span>了,<span class="_ _4"></span>它<span class="_ _b"></span>会<span class="ff7">根<span class="_ _b"></span></span>据<span class="_ _c"> </span><span class="ff1">intent<span class="_ _2"> </span></span>中<span class="_ _4"></span>的<span class="_ _4"></span><span class="ff7">信<span class="_ _4"></span>息<span class="_ _b"></span></span>找到<span class="_ _4"></span><span class="ff7">对<span class="_ _b"></span></span>应的<span class="_ _c"> </span><span class="ff1">activity<span class="_ _b"></span></span>,在<span class="_ _b"></span>这</div><div class="t m0 x4 ha y69 ff2 fs4 fc0 sc0 ls0 ws0">里找到的是<span class="_ _2"> </span><span class="ff1">NoteEditor<span class="_ _0"> </span></span>这个<span class="_ _2"> </span><span class="ff1">activity</span>,然后创建这个<span class="_ _2"> </span><span class="ff1">activity<span class="_ _2"> </span></span>的实例<span class="ff7">并</span>运行。</div><div class="t m0 x4 ha y4a ff7 fs4 fc0 sc0 ls0 ws0">那<span class="ff2">么,<span class="ff1">Android<span class="_ _2"> </span></span></span>又<span class="ff2">是如何找到<span class="_ _2"> </span><span class="ff1">NoteEditor<span class="_ _2"> </span></span>这个</span>对<span class="ff2">应的<span class="_ _2"> </span><span class="ff1">activity<span class="_ _2"> </span></span>的</span>呢?<span class="ff2">这就是<span class="_ _2"> </span><span class="ff1">intent<span class="_ _0"> </span></span>发</span>挥<span class="ff2">作用的</span></div><div class="t m0 x4 ha y77 ff2 fs4 fc0 sc0 ls0 ws0">时<span class="ff7">刻</span>了。</div><div class="t m0 x7 h3 y2b ff2 fs0 fc0 sc0 ls0 ws0">作者<span class="_ _0"> </span><span class="ff1">ruin: <span class="fc2">craining@163.com</span></span></div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>