<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2130194637420270899</id><updated>2024-10-06T21:49:53.350-07:00</updated><category term="Android"/><category term="Java"/><category term="English"/><category term="Facebook"/><category term="Google App Engine"/><category term="Life"/><category term="Security"/><category term="Android軟體及新聞"/><category term="Others"/><category term="Direct Web Remoting"/><category term="Tomcat"/><category term="Eclipse"/><title type='text'>Cooking Java</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>98</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-7680870040531959396</id><published>2021-07-30T03:06:00.002-07:00</published><updated>2021-07-30T03:29:44.850-07:00</updated><title type='text'>City Takeover - Android Game</title><content type='html'>&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.funapps.citytakeover&quot;&gt;City Takeover&lt;/a&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.funapps.citytakeover&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;882&quot; data-original-width=&quot;932&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaUHI8RVvvZt7ecGvJzVfOtaLGEPMi2MuMrf9ohu8Ez7sgGidn2_dyG2KfPKMKMme9GUniO9YUE7KqXQ0eo1O7gwe_1Dn4w95IWSi9TcL0B72HxshyphenhyphenwO_bQ0dPh1qLopa-93-WWlMP9j4/s320/Screen+Shot+2021-06-17+at+9.31.30+PM.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

Welcome to the City Takeover, is a free and easy game for everyone. No more boring like the usual tower defense games. Enjoy to challenge different level. Goal of City Takeover is to takeover all buildings in the city.

Features:
● Challenging levels.
● Easy &amp; Fun to play.
● Pause it whenever you want.
● Well-designed challenging levels
● Auto-save, continue playing where you left off.


Why City Takeover:
● Train your brain.
● You can play City Takeover offline.
● Improves focus, attention and concentration.</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/7680870040531959396/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2021/07/city-takeover-android-game.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7680870040531959396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7680870040531959396'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2021/07/city-takeover-android-game.html' title='City Takeover - Android Game'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaUHI8RVvvZt7ecGvJzVfOtaLGEPMi2MuMrf9ohu8Ez7sgGidn2_dyG2KfPKMKMme9GUniO9YUE7KqXQ0eo1O7gwe_1Dn4w95IWSi9TcL0B72HxshyphenhyphenwO_bQ0dPh1qLopa-93-WWlMP9j4/s72-c/Screen+Shot+2021-06-17+at+9.31.30+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-9086125647841337862</id><published>2012-01-31T16:53:00.000-08:00</published><updated>2012-01-31T16:53:11.090-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><title type='text'>Eclipse hotkey (熱鍵、快捷鍵)</title><content type='html'>ctrl + / 註解 (取消註解)&lt;br /&gt;
&lt;br /&gt;
ctrl + shift + O 自動匯入所欠缺的類別&lt;br /&gt;
&lt;br /&gt;
alt + ← 移至上一次游標所在位置&lt;br /&gt;
&lt;br /&gt;
alt + → 移至下一次游標所在位置&lt;br /&gt;
&lt;br /&gt;
ctrl + shift + P 移至匹配的括號&lt;br /&gt;
&lt;br /&gt;
ctrl + Q 移至上一次編輯的位置&lt;br /&gt;
&lt;br /&gt;
ctrl + shift + L 列出所有快速鍵&lt;br /&gt;
&lt;br /&gt;
alt + / 程式碼輔助&lt;br /&gt;
&lt;br /&gt;
ctrl + D 刪除單一行&lt;br /&gt;
&lt;br /&gt;
ctrl + shift + F 程式碼自動排版&lt;br /&gt;
&lt;br /&gt;
ctrl+ L 移至指定行數&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+Y  小寫字母&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+X  大寫字母&lt;br /&gt;
&lt;br /&gt;
ctrl+alt+/ 自動完成&lt;br /&gt;
&lt;br /&gt;
ctrl+3 搜尋在分頁中的檔案&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+U &lt;br /&gt;
&lt;br /&gt;
alt+shift+J  加入Java doc說明&lt;br /&gt;
&lt;br /&gt;
ctrl+*   Expand All&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+T search&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+R Open Resource&lt;br /&gt;
&lt;br /&gt;
ctrl+F6 上次使用的檔案&lt;br /&gt;
&lt;br /&gt;
ctrl+alt+H 顯示繼承架構&lt;br /&gt;
&lt;br /&gt;
ctrl+shift+G references in workspace&lt;br /&gt;
&lt;br /&gt;
ctrl+F11 快速執行&lt;br /&gt;
&lt;br /&gt;
F11  快速執行(Debug模式)&lt;br /&gt;
&lt;br /&gt;
ctrl+K 快速搜尋選取的字&lt;br /&gt;
&lt;br /&gt;
ctrl+1 自動修復</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/9086125647841337862/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2012/01/eclipse-hotkey.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/9086125647841337862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/9086125647841337862'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2012/01/eclipse-hotkey.html' title='Eclipse hotkey (熱鍵、快捷鍵)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-503703341183330467</id><published>2011-09-12T22:45:00.000-07:00</published><updated>2011-09-12T23:46:35.121-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - Broadcast</title><content type='html'>ACTION_BATTERY_CHANGED        充電中&lt;br /&gt;
ACTION_BATTERY_LOW            電量低&lt;br /&gt;
ACTION_BATTERY_OKAY           電量正常&lt;br /&gt;
ACTION_POWER_CONNECTED        充電&lt;br /&gt;
ACTION_POWER_DISCONNECTED     拔除充電&lt;br /&gt;
&lt;br /&gt;
ACTION_BOOT_COMPLETED         開機完成&lt;br /&gt;
ACTION_REBOOT                 重新啟動&lt;br /&gt;
ACTION_SHUTDOWN               關機&lt;br /&gt;
ACTION_SCREEN_OFF             螢幕關閉&lt;br /&gt;
ACTION_SCREEN_ON              螢幕開啟&lt;br /&gt;
&lt;br /&gt;
ACTION_CAMERA_BUTTON          Camera按鈕被按&lt;br /&gt;
&lt;br /&gt;
ACTION_HEADSET_PLUG           耳機被插上或拔下&lt;br /&gt;
&lt;br /&gt;
ACTION_CONFIGURATION_CHANGED  Configuration(orientation, locale...)改變&lt;br /&gt;
ACTION_DATE_CHANGED           日期被改變&lt;br /&gt;
ACTION_INPUT_METHOD_CHANGED   輸入法改變&lt;br /&gt;
ACTION_LOCALE_CHANGED         地區改變&lt;br /&gt;
ACTION_TIMEZONE_CHANGED       時區改變&lt;br /&gt;
ACTION_TIME_CHANGED           時間改變&lt;br /&gt;
ACTION_TIME_TICK              時間被變更&lt;br /&gt;
ACTION_WALLPAPER_CHANGED      背景被變更&lt;br /&gt;
&lt;br /&gt;
ACTION_GTALK_SERVICE_CONNECTED  Gtalk連線建立&lt;br /&gt;
ACTION_GTALK_SERVICE_DISCONNECTED  Gtalk連線中斷&lt;br /&gt;
&lt;br /&gt;
ACTION_NEW_OUTGOING_CALL      播打電話&lt;br /&gt;
&lt;br /&gt;
ACTION_PACKAGE_ADDED          安裝一個新的程式&lt;br /&gt;
ACTION_PACKAGE_CHANGED        即有的程式被變更&lt;br /&gt;
ACTION_PACKAGE_DATA_CLEARED   程式的資料被清除&lt;br /&gt;
ACTION_PACKAGE_FIRST_LAUNCH   程式第一次被執行&lt;br /&gt;
ACTION_PACKAGE_RESTARTED      程式被重新執行&lt;br /&gt;
ACTION_PACKAGE_INSTALL        安裝程式&lt;br /&gt;
ACTION_PACKAGE_REMOVED        程式移除&lt;br /&gt;
ACTION_PACKAGE_REPLACED       程式被取代&lt;br /&gt;
  &lt;br /&gt;
ACTION_UMS_CONNECTED          USB Mount&lt;br /&gt;
ACTION_UMS_DISCONNECTED       USB Unmount&lt;br /&gt;
ACTION_USER_PRESENT           wake up</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/503703341183330467/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2011/09/android-broadcast.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/503703341183330467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/503703341183330467'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2011/09/android-broadcast.html' title='Android學習筆記 - Broadcast'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-606625173532428044</id><published>2011-09-07T06:05:00.000-07:00</published><updated>2011-09-07T01:05:45.762-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 取得偏好設定(SharedPreferences)</title><content type='html'>程式中取得偏好設定的方式主要有二個：(假設程式的packageName : tw.nicky)&lt;br /&gt;
&lt;b&gt;1. PreferenceManager.getDefaultSharedPreferences(context);&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 取得預設的偏好設定，此偏好設定會儲存在&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (/data/data/tw.nicky/shared_prefs/tw.nicky_preferences.xml)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. context.getSharedPreferences(&quot;name&quot;, MODE_PRIVATE);&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 此偏好設定會儲存在&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (/data/data/tw.nicky/shared_prefs/name.xml)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 第二個參數代表此偏好設定的存取模式&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; MODE_PRIVATE : 只有此程式可以存取&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_WORLD_READABLE : 其它程式也可以讀取&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_WORLD_WRITEABLE : 其它程式可以寫入&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 存取模式也可以混著使用，如：&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE : 表示其它程式可讀取寫入&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 假設你將存取模式設定為MODE_WORLD_READABLE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 那麼其它的程式，則可透過以下語法來讀取你的偏好設定&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; context= createPackageContext(&quot;tw.nicky&quot;,CONTEXT_IGNORE_SECURITY );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; prefs = myContext.getSharedPreferences(WRITE, MODE_PRIVATE);</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/606625173532428044/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2011/09/android-sharedpreferences.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/606625173532428044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/606625173532428044'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2011/09/android-sharedpreferences.html' title='Android學習筆記 - 取得偏好設定(SharedPreferences)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-3516238271339723993</id><published>2011-06-28T18:59:00.000-07:00</published><updated>2011-06-28T18:59:12.778-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>將xsd檔轉成Java Code</title><content type='html'>要將xsd轉成Java只需要使用到xjc這個指令即可，而xjc這個指令就位於jdk下的bin目錄中。&lt;br /&gt;
&lt;br /&gt;
以下指令-p參數表示你要輸出的PackageName&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;xjc -p your.package.name yourXsdFile.xsd&lt;/b&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/3516238271339723993/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2011/06/xsdjava-code.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/3516238271339723993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/3516238271339723993'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2011/06/xsdjava-code.html' title='將xsd檔轉成Java Code'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-7710589372317914263</id><published>2010-12-07T16:50:00.000-08:00</published><updated>2010-12-07T17:49:39.504-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine"/><title type='text'>GAE/J - Appstats(測量App的效能)</title><content type='html'>&lt;span style=&quot;font-size: large;&quot;&gt;Appstats主要是用來測量App在Google App Engine上的效能表現。做法很簡單只要掛上Google提供的Appstats的Filter即可使用。&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;在web.xml中加入&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;filter&amp;gt;
        &amp;lt;filter-name&amp;gt;appstats&amp;lt;/filter-name&amp;gt;
        &amp;lt;filter-class&amp;gt;com.google.appengine.tools.appstats.AppstatsFilter&amp;lt;/filter-class&amp;gt;
        &amp;lt;init-param&amp;gt;
            &amp;lt;param-name&amp;gt;logMessage&amp;lt;/param-name&amp;gt;
            &amp;lt;param-value&amp;gt;Appstats available: /appstats/details?time={ID}&amp;lt;/param-value&amp;gt;
        &amp;lt;/init-param&amp;gt;
    &amp;lt;/filter&amp;gt;
    &amp;lt;filter-mapping&amp;gt;
        &amp;lt;filter-name&amp;gt;appstats&amp;lt;/filter-name&amp;gt;
        &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;
    &amp;lt;/filter-mapping&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;連線到http://xxx.appspot.com/appstats/&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;限制只有管理者可以連線，需在web.xml加入以下的code&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;servlet&amp;gt;
        &amp;lt;servlet-name&amp;gt;appstats&amp;lt;/servlet-name&amp;gt;
        &amp;lt;servlet-class&amp;gt;com.google.appengine.tools.appstats.AppstatsServlet&amp;lt;/servlet-class&amp;gt;
    &amp;lt;/servlet&amp;gt;
    &amp;lt;servlet-mapping&amp;gt;
        &amp;lt;servlet-name&amp;gt;appstats&amp;lt;/servlet-name&amp;gt;
        &amp;lt;url-pattern&amp;gt;/appstats/*&amp;lt;/url-pattern&amp;gt;
    &amp;lt;/servlet-mapping&amp;gt;

    &amp;lt;security-constraint&amp;gt;
        &amp;lt;web-resource-collection&amp;gt;
            &amp;lt;url-pattern&amp;gt;/appstats/*&amp;lt;/url-pattern&amp;gt;
        &amp;lt;/web-resource-collection&amp;gt;
        &amp;lt;auth-constraint&amp;gt;
            &amp;lt;role-name&amp;gt;admin&amp;lt;/role-name&amp;gt;
        &amp;lt;/auth-constraint&amp;gt;
    &amp;lt;/security-constraint&amp;gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/7710589372317914263/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/12/gaej-appstatsapp.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7710589372317914263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7710589372317914263'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/12/gaej-appstatsapp.html' title='GAE/J - Appstats(測量App的效能)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-1020022195354543062</id><published>2010-12-06T23:35:00.000-08:00</published><updated>2010-12-06T23:39:57.750-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat"/><title type='text'>Tomcat中限制只有特定IP可以連線</title><content type='html'>&lt;span style=&quot;font-size: large;&quot;&gt;修改在Tomcat目錄下conf\Catalina\localhost\yourApp.xml中的內容：&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;以下設定只允許本端電腦和192.168.1.*這個子網路可以進行連線 &lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;Context antiJARLocking=&quot;true&quot; path=&quot;/yourApp&quot;&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;Valve className=&quot;org.apache.catalina.valves.RemoteHostValve&quot; allow=&quot;127.0.0.1,192.168.1.*&quot;/&amp;gt;
&amp;lt;/Context&amp;gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/1020022195354543062/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/12/tomcatip.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/1020022195354543062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/1020022195354543062'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/12/tomcatip.html' title='Tomcat中限制只有特定IP可以連線'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-7646363455696758018</id><published>2010-07-27T17:59:00.001-07:00</published><updated>2010-07-27T17:59:55.341-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 模擬器快速鍵</title><content type='html'>&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Home鍵 - Home&lt;br /&gt;
&lt;br /&gt;
Back鍵 - Esc&lt;br /&gt;
&lt;br /&gt;
Menu鍵 - F2&lt;br /&gt;
&lt;br /&gt;
撥號鍵 - F3&lt;br /&gt;
&lt;br /&gt;
掛斷鍵 - F4&lt;br /&gt;
&lt;br /&gt;
搜尋鍵 - F5&lt;br /&gt;
&lt;br /&gt;
網絡開關 - F8&lt;br /&gt;
&lt;br /&gt;
旋轉螢幕 - Ctrl+F11&lt;/b&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/7646363455696758018/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7646363455696758018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/7646363455696758018'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android.html' title='Android學習筆記 - 模擬器快速鍵'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-2430684319655643294</id><published>2010-07-14T20:21:00.000-07:00</published><updated>2010-07-15T17:26:39.253-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - WIFI控制(開啟、關閉)</title><content type='html'>&lt;b&gt;1. WIFI的控制，主要是透過WifiManager來管理WIFI。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.WifiManagerExample.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky.WifiManagerExample;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class WifiManagerExample extends Activity {
 private WifiManager wiFiManager;
 private Button turnOnWifiButn;
 private Button turnOffWifiButn;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  // 取得WifiManager
  wiFiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
  turnOnWifiButn = (Button) findViewById(R.id.turnOnWifiButn);
  turnOffWifiButn = (Button) findViewById(R.id.turnOffWifiButn);

  // 開啟wifi
  turnOnWifiButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    //若wifi狀態為關閉則將它開啟
    if (!wiFiManager.isWifiEnabled()) {
     wiFiManager.setWifiEnabled(true);
    }
   }
  });

  // 關閉wifi
  turnOffWifiButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    //若wifi狀態為開啟則將它關閉
    if (wiFiManager.isWifiEnabled()) {
     wiFiManager.setWifiEnabled(false);
    }
   }
  });
 }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:orientation=&quot;vertical&quot;
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;fill_parent&quot;
    &amp;gt;
&amp;lt;Button 
android:text=&quot;開啟Wifi&quot; 
android:id=&quot;@+id/turnOnWifiButn&quot; 
android:layout_width=&quot;wrap_content&quot; 
android:layout_height=&quot;wrap_content&quot;&amp;gt;
&amp;lt;/Button&amp;gt;

&amp;lt;Button 
android:text=&quot;關閉Wifi&quot; 
android:id=&quot;@+id/turnOffWifiButn&quot; 
android:layout_width=&quot;wrap_content&quot; 
android:layout_height=&quot;wrap_content&quot;&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/pre&gt;&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky.WifiManagerExample&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.WifiManagerExample&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.CHANGE_WIFI_STATE&quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.WAKE_LOCK&quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.ACCESS_WIFI_STATE&quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoeOrsSgJBek6_DqQv2l2P9f_Bf2YsDZTkpXosqdxz72MqvZBIsJNc-n5ORp5EfoYZUVgPz5ccHq0HLN06U5qdx5JReVkWZVb5TVnYRGSSgibg7PmSHqAPlPmYIOAGdGJ8uN5RWNxR3ck/s1600/Android_WifiManager.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoeOrsSgJBek6_DqQv2l2P9f_Bf2YsDZTkpXosqdxz72MqvZBIsJNc-n5ORp5EfoYZUVgPz5ccHq0HLN06U5qdx5JReVkWZVb5TVnYRGSSgibg7PmSHqAPlPmYIOAGdGJ8uN5RWNxR3ck/s400/Android_WifiManager.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/2430684319655643294/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-wifi.html#comment-form' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/2430684319655643294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/2430684319655643294'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-wifi.html' title='Android學習筆記 - WIFI控制(開啟、關閉)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoeOrsSgJBek6_DqQv2l2P9f_Bf2YsDZTkpXosqdxz72MqvZBIsJNc-n5ORp5EfoYZUVgPz5ccHq0HLN06U5qdx5JReVkWZVb5TVnYRGSSgibg7PmSHqAPlPmYIOAGdGJ8uN5RWNxR3ck/s72-c/Android_WifiManager.png" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-89408882437972630</id><published>2010-07-12T21:16:00.000-07:00</published><updated>2010-07-13T17:18:13.062-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 撥打電話(PhoneCall)</title><content type='html'>&lt;b&gt;1. 要能夠透過程式撥打電話，需要先取得CALL_PHONE的權限，因此需在AndroidManifest.xml允許存取android.permission.CALL_PHONE這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.PhoneCall.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky.PhoneCall;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class PhoneCall extends Activity {
 private Button callButton;
 private EditText editText;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        callButton = (Button)findViewById(R.id.callButton);
        editText = (EditText)findViewById(R.id.editText);
        
        //按下call按鈕
        callButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    String phoneNumber = editText.getText().toString();
    //啟動撥打電話程式
    Intent intentDial = new Intent(&quot;android.intent.action.CALL&quot;,Uri.parse(&quot;tel:&quot;+phoneNumber));
    startActivity(intentDial);
   }
  });
    }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:orientation=&quot;vertical&quot;
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;fill_parent&quot;&amp;gt;
&amp;lt;EditText 
android:id=&quot;@+id/editText&quot; 
android:layout_width=&quot;wrap_content&quot; 
android:layout_height=&quot;wrap_content&quot;&amp;gt;
&amp;lt;/EditText&amp;gt;
&amp;lt;Button 
android:id=&quot;@+id/callButton&quot; 
android:text=&quot;Call&quot; 
android:layout_width=&quot;wrap_content&quot; 
android:layout_height=&quot;wrap_content&quot;&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky.PhoneCall&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.PhoneCall&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.CALL_PHONE&quot;/&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6zYl01Or2Ky0TSApEsNHsoLditk9UaufBaSFWT9yutSWirpcN1ePkkLPLGiCzNYFNK-5o-KbryxmS7CJJgcsKZXn2IAG5On4IL-Ms4Inwff9HQnlxh-RkzOlbMZkysvyNRz3NfcPmZRo/s1600/Android_PhoneCall1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6zYl01Or2Ky0TSApEsNHsoLditk9UaufBaSFWT9yutSWirpcN1ePkkLPLGiCzNYFNK-5o-KbryxmS7CJJgcsKZXn2IAG5On4IL-Ms4Inwff9HQnlxh-RkzOlbMZkysvyNRz3NfcPmZRo/s400/Android_PhoneCall1.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUUs0KlZXVd7hXfoGi_WShmz49uvsXvvl2OEC37uleQRkkipj4qT6F9K2_ijUl71r0KZU2SDBtuRCRy9DhcTEZyTb9LMXXcIa0LP4MQhIt1cMva5N5X6R-VIxNNJ_CVkqlb8rlUxmL5w/s1600/Android_PhoneCall2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUUs0KlZXVd7hXfoGi_WShmz49uvsXvvl2OEC37uleQRkkipj4qT6F9K2_ijUl71r0KZU2SDBtuRCRy9DhcTEZyTb9LMXXcIa0LP4MQhIt1cMva5N5X6R-VIxNNJ_CVkqlb8rlUxmL5w/s400/Android_PhoneCall2.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/89408882437972630/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-phonecall.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/89408882437972630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/89408882437972630'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-phonecall.html' title='Android學習筆記 - 撥打電話(PhoneCall)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6zYl01Or2Ky0TSApEsNHsoLditk9UaufBaSFWT9yutSWirpcN1ePkkLPLGiCzNYFNK-5o-KbryxmS7CJJgcsKZXn2IAG5On4IL-Ms4Inwff9HQnlxh-RkzOlbMZkysvyNRz3NfcPmZRo/s72-c/Android_PhoneCall1.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-2435488690919034003</id><published>2010-07-11T17:23:00.001-07:00</published><updated>2010-07-11T17:23:52.556-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 接收SMS訊息(SMSReceiver)</title><content type='html'>&lt;b&gt;1. 需繼承BroadcastReceiver並覆寫onReceive方法，將所有接收到SMS訊息要處理的動作寫在這個方法內。要接收SMS訊息需要使用者先同意接收SMS訊息的權限，因此需在AndroidManifest.xml允許存取android.permission.RECEIVE_SMS這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.SMSReceiver.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky.ReceiveSMSExample;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SMSReceiver extends BroadcastReceiver{
 @Override
 public void onReceive(Context context, Intent intent) {
  //判斷這個是接收到SMS的Broadcast
  if(intent.getAction().equals(&quot;android.provider.Telephony.SMS_RECEIVED&quot;)) {
   Bundle bundle = intent.getExtras();
   Object[] pdus = (Object[]) bundle.get(&quot;pdus&quot;);
   SmsMessage[] smsMessages = new SmsMessage[pdus.length];
   //將pdu轉成SmsMessage
   for(int i=0;i&lt;pdus.length;i++) +from+=&quot;&quot; +msg,=&quot;&quot; \nmsg:=&quot;&quot; for(smsmessage=&quot;&quot; from:=&quot;&quot; from=&quot;smsMessage.getDisplayOriginatingAddress();;&quot; msg=&quot;smsMessage.getDisplayMessageBody();&quot; pdus[i]);=&quot;&quot; smsmessage:smsmessages){=&quot;&quot; smsmessages[i]=&quot;SmsMessage.createFromPdu((byte[])&quot; string=&quot;&quot; toast.length_long).show();=&quot;&quot; toast.maketext(context,=&quot;&quot; {=&quot;&quot; }=&quot;&quot; 取得所有的sms訊息=&quot;&quot; 顯示訊息內容=&quot;&quot;&gt;&lt;/pdus.length;i++)&gt;&lt;/pre&gt;&lt;b&gt;3. AndroidManifest.xml&lt;/b&gt; &lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 package=&quot;tw.nicky.ReceiveSMSExample&quot; android:versionCode=&quot;1&quot;
 android:versionName=&quot;1.0&quot;&amp;gt;
 &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;ReceiveSMSExample&quot;&amp;gt;
  &amp;lt;receiver android:name=&quot;.SMSReceiver&quot;&amp;gt;
   &amp;lt;intent-filter&amp;gt;
    &amp;lt;action android:name=&quot;android.provider.Telephony.SMS_RECEIVED&quot; /&amp;gt;
   &amp;lt;/intent-filter&amp;gt;
  &amp;lt;/receiver&amp;gt;
 &amp;lt;/application&amp;gt;
 &amp;lt;uses-permission android:name=&quot;android.permission.RECEIVE_SMS&quot; /&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWru7t6B3n7uArW-6MvWTkrmkPXt3iKv-40PgkQG5SrvvIqf-zC9u9PdB4phgl8ox0GnsFzN_DaJwrIvEzOTX7Y63_EgFrndsuCgTMyrckQv9vf_T_wdV_FNaOEihcW0r91ygkm56xksU/s1600/Android_SMSReceiver.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWru7t6B3n7uArW-6MvWTkrmkPXt3iKv-40PgkQG5SrvvIqf-zC9u9PdB4phgl8ox0GnsFzN_DaJwrIvEzOTX7Y63_EgFrndsuCgTMyrckQv9vf_T_wdV_FNaOEihcW0r91ygkm56xksU/s400/Android_SMSReceiver.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/2435488690919034003/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-smssmsreceiver.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/2435488690919034003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/2435488690919034003'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-smssmsreceiver.html' title='Android學習筆記 - 接收SMS訊息(SMSReceiver)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWru7t6B3n7uArW-6MvWTkrmkPXt3iKv-40PgkQG5SrvvIqf-zC9u9PdB4phgl8ox0GnsFzN_DaJwrIvEzOTX7Y63_EgFrndsuCgTMyrckQv9vf_T_wdV_FNaOEihcW0r91ygkm56xksU/s72-c/Android_SMSReceiver.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-8365710996148434203</id><published>2010-07-07T22:25:00.000-07:00</published><updated>2010-07-08T17:28:27.989-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 錄音(MediaRecorder)</title><content type='html'>&lt;b&gt;1. 要進行錄音需先取得錄音的權限，加上需將錄音檔寫到記憶卡，因此需在AndroidManifest.xml允許存取android.permission.RECORD_AUDIO及android.permission.WRITE_EXTERNAL_STORAGE這二個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.MediaRecorderExample.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky;
import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;

public class MediaRecorderExample extends Activity {
 private Button recordButn;
 private Button stopButn;
 private MediaRecorder mediaRecorder = null;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  recordButn = (Button) findViewById(R.id.recordButn);
  stopButn = (Button) findViewById(R.id.stopButn);

  //錄音
  recordButn.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    //設定錄音檔名
    String fileName = &quot;record.amr&quot;;
    try {
     File SDCardpath = Environment.getExternalStorageDirectory();
                    File myDataPath = new File( SDCardpath.getAbsolutePath() + &quot;/download&quot; );
                    if( !myDataPath.exists() ) myDataPath.mkdirs();
     File recodeFile = new File(SDCardpath.getAbsolutePath() + &quot;/download/&quot;+fileName);
     
     mediaRecorder = new MediaRecorder();

     //設定音源
     mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
     //設定輸出檔案的格式
     mediaRecorder
       .setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
     //設定編碼格式
     mediaRecorder
       .setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
     //設定錄音檔位置
     mediaRecorder
       .setOutputFile(recodeFile.getAbsolutePath());

     mediaRecorder.prepare();

     //開始錄音
     mediaRecorder.start();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
  });

  //停止錄音
  stopButn.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    if(mediaRecorder != null) {
     mediaRecorder.stop();
     mediaRecorder.release();
     mediaRecorder = null;
    }
   }
  });

 }
}
&lt;/pre&gt;&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;AbsoluteLayout
android:id=&quot;@+id/widget0&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/recordButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;錄音&quot;
android:layout_x=&quot;68px&quot;
android:layout_y=&quot;44px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/stopButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;停止&quot;
android:layout_x=&quot;170px&quot;
android:layout_y=&quot;43px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/AbsoluteLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.MediaRecorderExample&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.RECORD_AUDIO&quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw8bXIOgd7sK38HwgMO_vC_KtaPH7LDcDdm7CG6LjDqcZf8sQkuJuHtNrjrldSmE66JEi3qKXTsafSy3UpaGnDvolQ1Ak-riPY69-VSbHKFAMYf7rDN9IrvZtPzfWG8R4viQ7ND0xNMX4/s1600/Android_MediaRecorder.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw8bXIOgd7sK38HwgMO_vC_KtaPH7LDcDdm7CG6LjDqcZf8sQkuJuHtNrjrldSmE66JEi3qKXTsafSy3UpaGnDvolQ1Ak-riPY69-VSbHKFAMYf7rDN9IrvZtPzfWG8R4viQ7ND0xNMX4/s400/Android_MediaRecorder.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/8365710996148434203/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-mediarecorder.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8365710996148434203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8365710996148434203'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-mediarecorder.html' title='Android學習筆記 - 錄音(MediaRecorder)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw8bXIOgd7sK38HwgMO_vC_KtaPH7LDcDdm7CG6LjDqcZf8sQkuJuHtNrjrldSmE66JEi3qKXTsafSy3UpaGnDvolQ1Ak-riPY69-VSbHKFAMYf7rDN9IrvZtPzfWG8R4viQ7ND0xNMX4/s72-c/Android_MediaRecorder.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-6282279595895826361</id><published>2010-07-07T20:56:00.000-07:00</published><updated>2010-07-07T22:57:38.073-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 音量調整(AudioManager)</title><content type='html'>&lt;b&gt;1. 音量調整主要是透過AudioManager來對手機音量進行調整，可以調整的模式有：正常模式、靜音模式、震動模式、音量增大、音量減少。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.AudioManagerExample .java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class AudioManagerExample extends Activity {
    private Button normalButn;
    private Button vibrateButn;
    private Button silentButn;
    private Button upButn;
    private Button downButn;
    private AudioManager audioManager;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        normalButn = (Button)findViewById(R.id.normalButn);
        vibrateButn = (Button)findViewById(R.id.vibrateButn);
        silentButn = (Button)findViewById(R.id.silentButn);
        upButn = (Button)findViewById(R.id.upButn);
        downButn = (Button)findViewById(R.id.downButn);
        
        //取得音量控制器
        audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        
        //正常模式
        normalButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
   }
  });
        
        //震動模式
        vibrateButn.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
   }
  });
        
        //靜音模式
        silentButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
   }
  });
        
        //增大音量
        upButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
   }
  });
        
        //減少音量
        downButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
   }
  });
    }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;AbsoluteLayout
android:id=&quot;@+id/widget0&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/vibrateButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;震動&quot;
android:layout_x=&quot;106px&quot;
android:layout_y=&quot;16px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/silentButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;靜音&quot;
android:layout_x=&quot;189px&quot;
android:layout_y=&quot;14px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/normalButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;正常&quot;
android:layout_x=&quot;28px&quot;
android:layout_y=&quot;17px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/upButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;大聲&quot;
android:layout_x=&quot;66px&quot;
android:layout_y=&quot;97px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/downButn&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;小聲&quot;
android:layout_x=&quot;144px&quot;
android:layout_y=&quot;97px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/AbsoluteLayout&amp;gt;

&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnEUJ8cyBbHPUeD1O15AHyrWaKij25g-HrD6ase3g5uJpZhBBz3ndDJGN5HjfoNvZqqk2c2ZwZN3mfwF5SVzbR5Igmras1A2iggYOIyi6gGws50Ia9_uLZTGBEeenL9mOvZ1CQYHvy5lY/s1600/Android_AudioManager.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnEUJ8cyBbHPUeD1O15AHyrWaKij25g-HrD6ase3g5uJpZhBBz3ndDJGN5HjfoNvZqqk2c2ZwZN3mfwF5SVzbR5Igmras1A2iggYOIyi6gGws50Ia9_uLZTGBEeenL9mOvZ1CQYHvy5lY/s400/Android_AudioManager.png&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/6282279595895826361/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-audiomanager.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/6282279595895826361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/6282279595895826361'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-audiomanager.html' title='Android學習筆記 - 音量調整(AudioManager)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnEUJ8cyBbHPUeD1O15AHyrWaKij25g-HrD6ase3g5uJpZhBBz3ndDJGN5HjfoNvZqqk2c2ZwZN3mfwF5SVzbR5Igmras1A2iggYOIyi6gGws50Ia9_uLZTGBEeenL9mOvZ1CQYHvy5lY/s72-c/Android_AudioManager.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-4096025944693649110</id><published>2010-07-06T20:30:00.000-07:00</published><updated>2010-07-06T20:30:20.960-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 存取SD卡</title><content type='html'>&lt;b&gt;1. 由於寫入資料到SD卡是有需要額外的權限，因此需在AndroidManifest.xml允許存取android.permission.WRITE_EXTERNAL_STORAGE這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.AccessSDCardExample.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;

public class AccessSDCardExample extends Activity {

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //判斷SD卡是否存在
        if(!Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED) ){
            try {
             //取得SD卡路徑
                File SDCardpath = Environment.getExternalStorageDirectory();
                File myDataPath = new File( SDCardpath.getAbsolutePath() + &quot;/myData&quot; );
                if( !myDataPath.exists() ) myDataPath.mkdirs();
                //將資料寫入到SD卡
                FileWriter myFile = new FileWriter( SDCardpath.getAbsolutePath() + &quot;/myData/test.txt&quot; );
                myFile.write(&quot;This is a test.&quot;);
                myFile.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
         }
    }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;3. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.AccessSDCardExample&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot; /&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. SD卡內容&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZAXGYdeIaqR__akTyXBELcjaaxWG_EwJvBG3AIvOjcm9tG9lJkUKRN6HmNeP2DRXk9DxJQogfdfIiwnzi6iM1rH3XeQURSIgc6Zg-s9NSrnxWB3xO3wc9CSLGuQ0_AsNHMHF6wV1IBLQ/s1600/Android_AccessSDCard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZAXGYdeIaqR__akTyXBELcjaaxWG_EwJvBG3AIvOjcm9tG9lJkUKRN6HmNeP2DRXk9DxJQogfdfIiwnzi6iM1rH3XeQURSIgc6Zg-s9NSrnxWB3xO3wc9CSLGuQ0_AsNHMHF6wV1IBLQ/s400/Android_AccessSDCard.png&quot; width=&quot;367&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/4096025944693649110/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-sd.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/4096025944693649110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/4096025944693649110'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/07/android-sd.html' title='Android學習筆記 - 存取SD卡'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZAXGYdeIaqR__akTyXBELcjaaxWG_EwJvBG3AIvOjcm9tG9lJkUKRN6HmNeP2DRXk9DxJQogfdfIiwnzi6iM1rH3XeQURSIgc6Zg-s9NSrnxWB3xO3wc9CSLGuQ0_AsNHMHF6wV1IBLQ/s72-c/Android_AccessSDCard.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-1044209730881925016</id><published>2010-06-27T19:37:00.000-07:00</published><updated>2010-06-27T19:37:33.637-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 通知(Notification)</title><content type='html'>&lt;b&gt;1. 一般在使用通知的時候，是不需要額外的權限。但此範例設定在通知的時候需發出預設的通知震動，因此需在AndroidManifest.xml允許存取android.permission.VIBRATE這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.NotificationExample.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class NotificationExample extends Activity {
    private Button notifyButn;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        notifyButn = (Button)findViewById(R.id.notifyButn);
        notifyButn.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                //取得Notification服務
                NotificationManager notificationManager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
                //設定當按下這個通知之後要執行的activity
                Intent notifyIntent = new Intent(NotificationExample.this,NotificationExample.class); 
                notifyIntent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK);
                PendingIntent appIntent=PendingIntent.getActivity(NotificationExample.this,0,
                                                                  notifyIntent,0);
                Notification notification = new Notification();
                //設定出現在狀態列的圖示
                notification.icon=R.drawable.icon;
                //顯示在狀態列的文字
                notification.tickerText=&quot;notification on status bar.&quot;;
                //會有通知預設的鈴聲、振動、light
                notification.defaults=Notification.DEFAULT_ALL;
                //設定通知的標題、內容
                notification.setLatestEventInfo(NotificationExample.this,&quot;Title&quot;,&quot;content&quot;,appIntent);
                //送出Notification
                notificationManager.notify(0,notification);
               
            }
        });
    }
}
&lt;/pre&gt;&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:orientation=&quot;vertical&quot;
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;fill_parent&quot;
    &amp;gt;
&amp;lt;TextView 
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:text=&quot;@string/hello&quot;
    /&amp;gt;
&amp;lt;Button
    android:text=&quot;Notify&quot;
    android:id=&quot;@+id/notifyButn&quot;
    android:layout_width=&quot;wrap_content&quot;
    android:layout_height=&quot;wrap_content&quot;&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.NotificationExample&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.VIBRATE&quot; /&amp;gt;
&amp;lt;/manifest&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifyau-vfiTzGkzMkPAITGA70ek8sH9DxCuMXz6ywDjBwex_aIRvlD12w69zKE1HqPWcPH95wIGc2HND1CCQYDY4sbsGPtRff5yJuwrVxGBHO0hBWAPozOfAulAfnMahII8Xs90bTY0eC4/s1600/Android_Notification1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifyau-vfiTzGkzMkPAITGA70ek8sH9DxCuMXz6ywDjBwex_aIRvlD12w69zKE1HqPWcPH95wIGc2HND1CCQYDY4sbsGPtRff5yJuwrVxGBHO0hBWAPozOfAulAfnMahII8Xs90bTY0eC4/s320/Android_Notification1.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm0dpVzF2QHeG-AH0U6wUT7y8f20YNOOxPcTYxlncC9R4ihxcxs4m5wh_OS2DTu7_LRKd9Mz39HZ7dMut494m2yEYBcgUeYtFo6BP_EpDEThYc9uLdDd_Pd01vX7kEfwCo0Wo_b21CKqY/s1600/Android_Notification2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm0dpVzF2QHeG-AH0U6wUT7y8f20YNOOxPcTYxlncC9R4ihxcxs4m5wh_OS2DTu7_LRKd9Mz39HZ7dMut494m2yEYBcgUeYtFo6BP_EpDEThYc9uLdDd_Pd01vX7kEfwCo0Wo_b21CKqY/s320/Android_Notification2.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvZnyNFJMGkk5Qiq9pDP3pt9D4Fekid1c11n0Rt1AIgGQ2K7HoKY8hRXMMZAknxkLrC9p6X8Lxr4xNWCKh-PrBeA3Lr2MzHOCe7RQbnjEWDM7P7vr2OdewJXk6gWclNJ_c9KxIuqP2dUQ/s1600/Android_Notification3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvZnyNFJMGkk5Qiq9pDP3pt9D4Fekid1c11n0Rt1AIgGQ2K7HoKY8hRXMMZAknxkLrC9p6X8Lxr4xNWCKh-PrBeA3Lr2MzHOCe7RQbnjEWDM7P7vr2OdewJXk6gWclNJ_c9KxIuqP2dUQ/s320/Android_Notification3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/1044209730881925016/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/06/android-notification.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/1044209730881925016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/1044209730881925016'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/06/android-notification.html' title='Android學習筆記 - 通知(Notification)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifyau-vfiTzGkzMkPAITGA70ek8sH9DxCuMXz6ywDjBwex_aIRvlD12w69zKE1HqPWcPH95wIGc2HND1CCQYDY4sbsGPtRff5yJuwrVxGBHO0hBWAPozOfAulAfnMahII8Xs90bTY0eC4/s72-c/Android_Notification1.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-8758853076935256136</id><published>2010-06-22T20:52:00.000-07:00</published><updated>2010-06-22T20:52:59.142-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 發送SMS訊息</title><content type='html'>&lt;b&gt;1. 若需使用發送SMS的服務，需在AndroidManifest.xml允許存取android.permission.SEND_SMS這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.SendSMSExample.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package tw.nicky.SendSMSExample;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class SendSMSExample extends Activity {
 private EditText phoneNumEditText;
 private EditText msgEditText;
 private Button sendButton;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //電話號碼
        phoneNumEditText = (EditText)findViewById(R.id.phoneNumEditText);
        //訊息
        msgEditText = (EditText)findViewById(R.id.msgEditText);
        sendButton = (Button)findViewById(R.id.sendButton);
        
        //按下發送按鈕
        sendButton.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    //取得預設的SmsManager
    SmsManager smsManager = SmsManager.getDefault();
    PendingIntent pendingIntent = PendingIntent.getBroadcast(SendSMSExample.this, 0, new Intent(), 0);
    //傳送SMS
    smsManager.sendTextMessage(phoneNumEditText.getText().toString(), null, msgEditText.getText().toString(), pendingIntent, null);
   }
  });
    }
}
&lt;/pre&gt;&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 android:orientation=&quot;vertical&quot; android:layout_width=&quot;fill_parent&quot;
 android:layout_height=&quot;fill_parent&quot;&amp;gt;
 &amp;lt;TextView 
     android:layout_width=&quot;fill_parent&quot;
  android:layout_height=&quot;wrap_content&quot; 
  android:text=&quot;@string/hello&quot; /&amp;gt;
 &amp;lt;EditText 
     android:id=&quot;@+id/phoneNumEditText&quot;
  android:layout_width=&quot;wrap_content&quot; 
  android:layout_height=&quot;wrap_content&quot;&amp;gt;&amp;lt;/EditText&amp;gt;
 &amp;lt;EditText 
     android:id=&quot;@+id/msgEditText&quot;
  android:layout_width=&quot;wrap_content&quot; 
  android:layout_height=&quot;wrap_content&quot;&amp;gt;&amp;lt;/EditText&amp;gt;
 &amp;lt;Button 
     android:id=&quot;@+id/sendButton&quot;
     android:text=&quot;發送&quot;
  android:layout_width=&quot;wrap_content&quot; 
  android:layout_height=&quot;wrap_content&quot;&amp;gt;&amp;lt;/Button&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
      package=&quot;tw.nicky.SendSMSExample&quot;
      android:versionCode=&quot;1&quot;
      android:versionName=&quot;1.0&quot;&amp;gt;
    &amp;lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&amp;gt;
        &amp;lt;activity android:name=&quot;.SendSMSExample&quot;
                  android:label=&quot;@string/app_name&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot; /&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.SEND_SMS&quot; /&amp;gt;
&amp;lt;/manifest&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行畫面&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwqILV8V3C2scFz7I4pKqGQao-ClrTONQ7retgbw5dC10lKH3e_3L7IgQDR1Ng-C5yoTdnDOrxCp4T18vc4H69K-FL2Hs5BbGAuUG_pWhZFrWJpnSIcbRjlwp1RgtgYol7jmXXns7MUQ/s1600/Android_SendSMS.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwqILV8V3C2scFz7I4pKqGQao-ClrTONQ7retgbw5dC10lKH3e_3L7IgQDR1Ng-C5yoTdnDOrxCp4T18vc4H69K-FL2Hs5BbGAuUG_pWhZFrWJpnSIcbRjlwp1RgtgYol7jmXXns7MUQ/s320/Android_SendSMS.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/8758853076935256136/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/06/android-sms.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8758853076935256136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8758853076935256136'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/06/android-sms.html' title='Android學習筆記 - 發送SMS訊息'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwqILV8V3C2scFz7I4pKqGQao-ClrTONQ7retgbw5dC10lKH3e_3L7IgQDR1Ng-C5yoTdnDOrxCp4T18vc4H69K-FL2Hs5BbGAuUG_pWhZFrWJpnSIcbRjlwp1RgtgYol7jmXXns7MUQ/s72-c/Android_SendSMS.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-5410610578537995057</id><published>2010-06-03T16:04:00.000-07:00</published><updated>2010-06-03T16:05:21.180-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>HTC Hero終於要升級Android 2.1了</title><content type='html'>來自官方Plurk的消息，確定於2010.06.04起開發軟體無線更新…&lt;br /&gt;
&lt;br /&gt;
而這次更新的內容就是大家所期待的Android 2.1作業系統升級…&lt;br /&gt;
&lt;br /&gt;
大家趕快去升級吧！&lt;br/&gt;&lt;br/&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/5410610578537995057/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/06/htc-heroandroid-21.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5410610578537995057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5410610578537995057'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/06/htc-heroandroid-21.html' title='HTC Hero終於要升級Android 2.1了'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-5717589066793010597</id><published>2010-05-27T23:35:00.000-07:00</published><updated>2010-05-27T23:38:26.605-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><title type='text'>建立Facebook應用程式 Java API (8) - 取得「張貼訊息到塗鴨牆」的權限</title><content type='html'>1. 如果你想要張貼訊息到使用者的塗鴨牆，則需要先取得使用者的同意才能夠張貼。&lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;
2. 要取得這個權限也不難，只要將網頁導到權限同意頁面而使用者按下同意的按鈕即可。&lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;
3. 至於怎麼取得「權限同意頁面」的網址，做法如下：&lt;ul&gt;&lt;/ul&gt;&lt;pre class=&quot;brush: java;&quot;&gt;//API_KEY為App的KEY
//FB_APP_ADDRESS即是使用者按下同意後要導到的網址
String url = Permission.authorizationUrl(API_KEY, Permission.PUBLISH_STREAM) + &quot;&amp;amp;next=&quot; + FB_APP_ADDRESS;
//利用Javascript導到權限同意頁面
response.getWriter().println(&quot;&amp;lt;script type=&#39;text/javascript&#39;&amp;gt;
parent.location.href=&#39;&quot; + url + &quot;&#39;
&amp;lt;/script&amp;gt;&quot;);
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/5717589066793010597/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/05/facebook-java-api-8.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5717589066793010597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5717589066793010597'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/05/facebook-java-api-8.html' title='建立Facebook應用程式 Java API (8) - 取得「張貼訊息到塗鴨牆」的權限'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-5601499549619324754</id><published>2010-05-18T04:52:00.000-07:00</published><updated>2010-05-18T04:54:06.675-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>Android Market線上搜尋(AndroSeek)</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;AndroSeek是利用關鍵字查詢，即時的從Android Market上搜尋你所要的App。&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ajhj2nZmaJ6ZWdyW_3XtiUBsUp6mR53Qo9CtRcKgbjxmegEwCihy3zkYMmg3ed0MJQBP5HlpZnBbql7mql9IakinlL30yGcNjp3Luu_nQzV-G0b8kc9aKRHpniuqjjW6xr3XOIMJe0Y/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ajhj2nZmaJ6ZWdyW_3XtiUBsUp6mR53Qo9CtRcKgbjxmegEwCihy3zkYMmg3ed0MJQBP5HlpZnBbql7mql9IakinlL30yGcNjp3Luu_nQzV-G0b8kc9aKRHpniuqjjW6xr3XOIMJe0Y/s640/1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;在搜尋結果頁面上會呈現每個App的名稱、圖示、下載量、評比、費用…等資訊。&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmWzIyvp2kvj2ItO4UgCmLHea61vsiWlf251tVQ-AO0g1EHBsMxSz3gRXyKwmzFRG4ZPEhHJ_c2Q_nN7ORWgwwLABtSxfd_3i_k2GjmXwRZH-ayQM4xM8IqwxX318HmOvqa2EXpKNWiY8/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmWzIyvp2kvj2ItO4UgCmLHea61vsiWlf251tVQ-AO0g1EHBsMxSz3gRXyKwmzFRG4ZPEhHJ_c2Q_nN7ORWgwwLABtSxfd_3i_k2GjmXwRZH-ayQM4xM8IqwxX318HmOvqa2EXpKNWiY8/s640/2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;再點進行其中一個App，則可以看到此App的縮圖、描述以及QR Code。&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbwLNVfUc-zzsVNDHtsci_925K_JONA3in_UVXvvffBw0v_GRHjjesnWJ2rN6j9JOAlEhyV7PW36hr8aYpha52y-GyJxl0g38NdiQG1zd9BIP0MbPGAtkwy6sFiFc3OhBF3eggl1U3LEk/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbwLNVfUc-zzsVNDHtsci_925K_JONA3in_UVXvvffBw0v_GRHjjesnWJ2rN6j9JOAlEhyV7PW36hr8aYpha52y-GyJxl0g38NdiQG1zd9BIP0MbPGAtkwy6sFiFc3OhBF3eggl1U3LEk/s640/3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/5601499549619324754/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/05/android-marketandroseek.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5601499549619324754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5601499549619324754'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/05/android-marketandroseek.html' title='Android Market線上搜尋(AndroSeek)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ajhj2nZmaJ6ZWdyW_3XtiUBsUp6mR53Qo9CtRcKgbjxmegEwCihy3zkYMmg3ed0MJQBP5HlpZnBbql7mql9IakinlL30yGcNjp3Luu_nQzV-G0b8kc9aKRHpniuqjjW6xr3XOIMJe0Y/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-5279470904759670473</id><published>2010-04-26T20:28:00.000-07:00</published><updated>2010-05-16T23:01:48.751-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 震動(Vibrator)</title><content type='html'>&lt;b&gt;1. 若要在應用程式內使用到震動這個服務，需先在AndroidManifest.xml允許存取android.permission.VIBRATE這個權限。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. MainActivity.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package org.me.android_vibrate;
import android.app.Activity;
import android.app.Service;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        Spinner spinner = (Spinner) findViewById(R.id.spinnner);
        ArrayAdapter&lt;string&gt; adapter = new ArrayAdapter&lt;string&gt;(this,android.R.layout.simple_spinner_item,new String[]{&quot;長震動&quot;,&quot;短震動&quot;,&quot;連續短震動&quot;});
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
            public void onItemSelected(AdapterView adapterView, View view, int position, long id){
                //取得震動服務
                Vibrator myVibrator = (Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE);
                switch(position) {
                    case 0:
                        //震動3秒
                        myVibrator.vibrate(3000);
                        break;
                    case 1:
                        //震動0.1秒
                        myVibrator.vibrate(100);
                        break;
                    case 2:
                        //停0.01秒之後震動0.1秒(重覆三次)
                        myVibrator.vibrate(new long[]{10, 100, 10, 100, 10, 100}, -1);
                        break;
                    default:
                        break;
                }
            }
            public void onNothingSelected(AdapterView arg0) {
                Toast.makeText(MainActivity.this, &quot;您沒有選擇任何項目&quot;, Toast.LENGTH_LONG).show();
            }
        });
    }
}
&lt;/string&gt;&lt;/string&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:orientation=&quot;vertical&quot;
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;fill_parent&quot;&amp;gt;&quot; 
    &amp;lt;Spinner
        android:id=&quot;@+id/spinnner&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;&amp;gt;
    &amp;lt;/Spinner&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
     package=&quot;org.me.android_vibrate&quot;&amp;gt;
    &amp;lt;application&amp;gt;
         &amp;lt;activity android:name=&quot;.MainActivity&quot; android:label=&quot;Vibrate&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot;/&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot;/&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
    &amp;lt;/application&amp;gt;
    &amp;lt;uses-permission android:name=&quot;android.permission.VIBRATE&quot; /&amp;gt;
&amp;lt;/manifest&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. 執行之後的畫面。&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO-5RV77OOrSb54IF2nWQXM_CJwsbKY7Xx0KNBa7rBZAfwPBQjDgXaLW5WPboIaf7mS3S1tfbyILqH6cbKhfMrHW3kf1l8mtg25qTos1dRo11tnAJmwvU9ztfsRzMhbWcSzIJKu3emOqM/s1600/andorid+Vibrator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO-5RV77OOrSb54IF2nWQXM_CJwsbKY7Xx0KNBa7rBZAfwPBQjDgXaLW5WPboIaf7mS3S1tfbyILqH6cbKhfMrHW3kf1l8mtg25qTos1dRo11tnAJmwvU9ztfsRzMhbWcSzIJKu3emOqM/s320/andorid+Vibrator.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/5279470904759670473/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-vibrator.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5279470904759670473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/5279470904759670473'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-vibrator.html' title='Android學習筆記 - 震動(Vibrator)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO-5RV77OOrSb54IF2nWQXM_CJwsbKY7Xx0KNBa7rBZAfwPBQjDgXaLW5WPboIaf7mS3S1tfbyILqH6cbKhfMrHW3kf1l8mtg25qTos1dRo11tnAJmwvU9ztfsRzMhbWcSzIJKu3emOqM/s72-c/andorid+Vibrator.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-4387207790988561370</id><published>2010-04-26T20:26:00.000-07:00</published><updated>2011-09-07T01:09:09.647-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android學習筆記 - 背景執行服務(Service)</title><content type='html'>&lt;b&gt;1. 大部分使用者在手機上看到的畫面都是前端的程式(Activity)，但是還是要有很多的服務需在背景執行。&lt;br /&gt;
如果是要在背景執行的程式，則需要寫成Service並繼承android.app.Service，由於是在背景執行所以是&lt;br /&gt;
要寫成Service而不是Activity，因此需在AndroidManifest新增一個Service。以下範例是按下Start Service之後會&lt;br /&gt;
在背景每隔一秒Log目前的時間，按下Stop Service後會停止Log的動作。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. MainActivity.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package org.me.android_service;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    private Button startButton;
    private Button stopButton;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        startButton = (Button) findViewById(R.id.startButton);
        stopButton = (Button) findViewById(R.id.stopButton);
        startButton.setOnClickListener(startClickListener);
        stopButton.setOnClickListener(stopClickListener);
    }

    private Button.OnClickListener startClickListener = new Button.OnClickListener() {
        public void onClick(View arg0) {
            //啟動服務
            Intent intent = new Intent(MainActivity.this, NickyService.class);
            startService(intent);
        }
    };

    private Button.OnClickListener stopClickListener = new Button.OnClickListener() {
        public void onClick(View arg0) {
            //停止服務
            Intent intent = new Intent(MainActivity.this, NickyService.class);
            stopService(intent);
        }
    };
}
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. NickyService.java&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java;&quot;&gt;package org.me.android_service;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import java.util.Date;

//繼承android.app.Service
public class NickyService extends Service {
    private Handler handler = new Handler();

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onStart(Intent intent, int startId) {
        handler.postDelayed(showTime, 1000);
        super.onStart(intent, startId);
    }

    @Override
    public void onDestroy() {
        handler.removeCallbacks(showTime);
        super.onDestroy();
    }
    
    private Runnable showTime = new Runnable() {
        public void run() {
            //log目前時間
            Log.i(&quot;time:&quot;, new Date().toString());
            handler.postDelayed(this, 1000);
        }
    };
}
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. main.xml(Layout)&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;AbsoluteLayout
android:id=&quot;@+id/widget0&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/startButton&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;Start Service&quot;
android:layout_x=&quot;40px&quot;
android:layout_y=&quot;67px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;Button
android:id=&quot;@+id/stopButton&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;Stop Service&quot;
android:layout_x=&quot;140px&quot;
android:layout_y=&quot;67px&quot;
&amp;gt;
&amp;lt;/Button&amp;gt;
&amp;lt;/AbsoluteLayout&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. AndroidManifest.xml&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:xml;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
     package=&quot;org.me.android_spinner&quot;&amp;gt;
    &amp;lt;application&amp;gt;
         &amp;lt;activity android:name=&quot;.MainActivity&quot; android:label=&quot;MainActivity&quot;&amp;gt;
            &amp;lt;intent-filter&amp;gt;
                &amp;lt;action android:name=&quot;android.intent.action.MAIN&quot;/&amp;gt;
                &amp;lt;category android:name=&quot;android.intent.category.LAUNCHER&quot;/&amp;gt;
            &amp;lt;/intent-filter&amp;gt;
        &amp;lt;/activity&amp;gt;
        &amp;lt;service android:name=&quot;.NickyService&quot;/&amp;gt;
    &amp;lt;/application&amp;gt;
&amp;lt;/manifest&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. 執行之後的畫面。&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj0KHkT6rOr21oEqU_LAK4o_wK1h3hWWVsF5BJczJrlbLqjklp-FGH9tAumWxWruRDMOowQOk1QqLtPgj6uouJq9aFRiX2OiUpFTFm-IoQzs1JDWKTAdC4z80Jr_jkuMzYsmWW8JuX0Ho/s1600/Android_Service.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj0KHkT6rOr21oEqU_LAK4o_wK1h3hWWVsF5BJczJrlbLqjklp-FGH9tAumWxWruRDMOowQOk1QqLtPgj6uouJq9aFRiX2OiUpFTFm-IoQzs1JDWKTAdC4z80Jr_jkuMzYsmWW8JuX0Ho/s320/Android_Service.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiadtr8OGmYy7lrQ0U9sAfMxHz7REC0mMdEjHB4Oztl11C0MFtGImB4rdwQ6W0t-1KOV8Yd_wdD3U_GCM4O24lXka34MoR1zeEOTGbRgruvWe-AInACEwI0AU7Mk_5okjngQpcDwwVlAuM/s1600/Android_Service_Log.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;70&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiadtr8OGmYy7lrQ0U9sAfMxHz7REC0mMdEjHB4Oztl11C0MFtGImB4rdwQ6W0t-1KOV8Yd_wdD3U_GCM4O24lXka34MoR1zeEOTGbRgruvWe-AInACEwI0AU7Mk_5okjngQpcDwwVlAuM/s400/Android_Service_Log.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/4387207790988561370/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-service.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/4387207790988561370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/4387207790988561370'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-service.html' title='Android學習筆記 - 背景執行服務(Service)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj0KHkT6rOr21oEqU_LAK4o_wK1h3hWWVsF5BJczJrlbLqjklp-FGH9tAumWxWruRDMOowQOk1QqLtPgj6uouJq9aFRiX2OiUpFTFm-IoQzs1JDWKTAdC4z80Jr_jkuMzYsmWW8JuX0Ho/s72-c/Android_Service.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-6522944616634429226</id><published>2010-04-23T20:04:00.000-07:00</published><updated>2010-05-19T00:04:03.629-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>Android 必裝軟體-應用程式分類(Apps Organizer)</title><content type='html'>你是不是常常因為安裝太多軟體，而導致常常找不到你要的軟體…&lt;br /&gt;
介紹一個軟體分類的工作Apps Organizer…&lt;br /&gt;
它可以將所有已安裝的軟體依照你的喜好進行分類…&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;QR Code&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWiU9U_ZLxJp1jE_wGHoUyX2FB__q0xpDuieoYiDVVoKlc6uI_qXq9Ml9Rn5tfuysXVzJD2wijcE06BShmRrSCoy1zKcqiISKYvmYWIDxY2-hVF7Ybr-wUNf1pB8o3dcaWpYqKNQTlEg/s1600/Apps+Organizer+QR+Code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWiU9U_ZLxJp1jE_wGHoUyX2FB__q0xpDuieoYiDVVoKlc6uI_qXq9Ml9Rn5tfuysXVzJD2wijcE06BShmRrSCoy1zKcqiISKYvmYWIDxY2-hVF7Ybr-wUNf1pB8o3dcaWpYqKNQTlEg/s320/Apps+Organizer+QR+Code.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;安裝後的畫面&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bM4PSJ5TlSEw6dXuZMZtew7II8OIYAvbG2C45De975RXCYBpRKgYp6YOPmq5fHq7vT539rgrCp_juOf8jSkw2TchIe9cYrIhAkzY2zazAZPpi-yy5hbrPnneWy6q4-cB7SpwVdOC4oM/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bM4PSJ5TlSEw6dXuZMZtew7II8OIYAvbG2C45De975RXCYBpRKgYp6YOPmq5fHq7vT539rgrCp_juOf8jSkw2TchIe9cYrIhAkzY2zazAZPpi-yy5hbrPnneWy6q4-cB7SpwVdOC4oM/s320/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;直接點選要歸類的應用程式，並選擇要歸類的標籤&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCC-W4n2j_FGd6a6Ed9mSIJaM938Pg3Kc7rig6LvBwW8GZb9xYLnNANdtLEohnImjTFAT8w-0pGlQ8WuzARAxIfMncisoaUg12QicYtq41qsIhvyHzX_Fg7pH5g-qwd-WGmhM3VX9w8M/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCC-W4n2j_FGd6a6Ed9mSIJaM938Pg3Kc7rig6LvBwW8GZb9xYLnNANdtLEohnImjTFAT8w-0pGlQ8WuzARAxIfMncisoaUg12QicYtq41qsIhvyHzX_Fg7pH5g-qwd-WGmhM3VX9w8M/s320/2.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNkGQNv05QNaR6p2xl7f-uKgsy2Q-DAtCNATSrwx1XZFu6DLvmJ-qP4yW-uL_7ExvaSH7FYuQFbo6nnxMRjbTt89OeO3KKBqn1fH4WgeK7k-pSEbt5YTNqAtCpc5rSZuqNkdO1X0YidUw/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNkGQNv05QNaR6p2xl7f-uKgsy2Q-DAtCNATSrwx1XZFu6DLvmJ-qP4yW-uL_7ExvaSH7FYuQFbo6nnxMRjbTt89OeO3KKBqn1fH4WgeK7k-pSEbt5YTNqAtCpc5rSZuqNkdO1X0YidUw/s320/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;也可以透過點選標籤Tab再按下Menu鍵並選擇New Label新增標籤&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBPFYokWJO2FsnasT2Ol1bfVfNmha1s0DQb7xfLtRDyc43yI6xDbcjCiIwnMH5MJfvEof8obKQdQSe-USxVoRyHSZTXJTAlgNuK4nl8hTZjuiPnLEWvbaO-sy8euSsUFR4_EtwIy48S1M/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBPFYokWJO2FsnasT2Ol1bfVfNmha1s0DQb7xfLtRDyc43yI6xDbcjCiIwnMH5MJfvEof8obKQdQSe-USxVoRyHSZTXJTAlgNuK4nl8hTZjuiPnLEWvbaO-sy8euSsUFR4_EtwIy48S1M/s320/4.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglmtDkNmVgA66sUUWM49Nw9MsnLFhBJZggE7xCDzrzr4AdELLYLYGeKyVenWlZhS4_NAIGJ50CJibSE-Jy5STz5VYk1Y8jbJ4IFHmoCIG-Z_4fZJ9dMIUQkZjShLAssy9mrjDnkvjxJJg/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglmtDkNmVgA66sUUWM49Nw9MsnLFhBJZggE7xCDzrzr4AdELLYLYGeKyVenWlZhS4_NAIGJ50CJibSE-Jy5STz5VYk1Y8jbJ4IFHmoCIG-Z_4fZJ9dMIUQkZjShLAssy9mrjDnkvjxJJg/s320/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;再透過新增捷徑將你要標籤新增到桌面&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZZTXPqe9qgQV3pdVkyopZzIOOO0KQodtvdX81rFLxsG4Asz9eY4I5NYaschCYxUstk6bHMC11RGzqcGN4iF8mMQ4819Ghtg9axPVbYhs7jWqm-ISGF8kwIecCUdXSENx70gPMglLuq8/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZZTXPqe9qgQV3pdVkyopZzIOOO0KQodtvdX81rFLxsG4Asz9eY4I5NYaschCYxUstk6bHMC11RGzqcGN4iF8mMQ4819Ghtg9axPVbYhs7jWqm-ISGF8kwIecCUdXSENx70gPMglLuq8/s320/6.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUJnI8scl3IDmiBLZ1v5K2mm2VFngGSkNxp2wtbb8Ff6j_I7_ees_Q4T7xc9wvedxwX93UIic6F8tyffFCQID_xHa713rylMyLSRSM4xUyA1kWfBFHyYzBX4KAyuWLK9oceZEALRTMwLI/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUJnI8scl3IDmiBLZ1v5K2mm2VFngGSkNxp2wtbb8Ff6j_I7_ees_Q4T7xc9wvedxwX93UIic6F8tyffFCQID_xHa713rylMyLSRSM4xUyA1kWfBFHyYzBX4KAyuWLK9oceZEALRTMwLI/s320/7.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH1mlt_OM1hdje6ApRr_Dr3ySqpN_PNpxaB3D2UuyKKgTsMwRUz69dfQaGwo_zOpw7D-VKEp40yewECBuZPFg08lo7crgGi2zet2zNz5eTtS-baK43CqFqQVafWBjPPSM3FJMv_sCO6a0/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH1mlt_OM1hdje6ApRr_Dr3ySqpN_PNpxaB3D2UuyKKgTsMwRUz69dfQaGwo_zOpw7D-VKEp40yewECBuZPFg08lo7crgGi2zet2zNz5eTtS-baK43CqFqQVafWBjPPSM3FJMv_sCO6a0/s320/8.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;之後只要點選此標籤，就能秀出所有該標籤的應用程式&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2dvwk6wgjhD56meHYaSds52a7xI52ADG0mVqKn07mAyQ_p1-LUavK9A3YqXXJ-upOvLlAEVf05XnH0TFrEOv_xcWt_qwnEPcabj0QK264cPVO3ED_DpG__FD5sNMzJCgEgKmKDhYlZjE/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2dvwk6wgjhD56meHYaSds52a7xI52ADG0mVqKn07mAyQ_p1-LUavK9A3YqXXJ-upOvLlAEVf05XnH0TFrEOv_xcWt_qwnEPcabj0QK264cPVO3ED_DpG__FD5sNMzJCgEgKmKDhYlZjE/s320/9.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9O5VGXHlM2jwFt1GFa1Fn6s05_q7hMyt2yum8nMpxT66VB21zI6WyQDwKObcdSIKnmujexMyoASxeRn5gkwIwtTm6dXfi0m8T_7JhBK9exRJC0meg3m3ZUl1B_eO2dHLRMAaaDR-ABQ8/s1600/10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9O5VGXHlM2jwFt1GFa1Fn6s05_q7hMyt2yum8nMpxT66VB21zI6WyQDwKObcdSIKnmujexMyoASxeRn5gkwIwtTm6dXfi0m8T_7JhBK9exRJC0meg3m3ZUl1B_eO2dHLRMAaaDR-ABQ8/s320/10.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://androseek.appspot.com/AppDetail?appId=-1797073747211601161&amp;lang=English&quot;&gt;Apps Organizer&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/6522944616634429226/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-apps-organizer.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/6522944616634429226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/6522944616634429226'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-apps-organizer.html' title='Android 必裝軟體-應用程式分類(Apps Organizer)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWiU9U_ZLxJp1jE_wGHoUyX2FB__q0xpDuieoYiDVVoKlc6uI_qXq9Ml9Rn5tfuysXVzJD2wijcE06BShmRrSCoy1zKcqiISKYvmYWIDxY2-hVF7Ybr-wUNf1pB8o3dcaWpYqKNQTlEg/s72-c/Apps+Organizer+QR+Code.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-8445556259036418116</id><published>2010-04-23T18:37:00.000-07:00</published><updated>2010-04-23T18:37:27.914-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>Android 必裝軟體-批次解除安裝軟體(AppManager)</title><content type='html'>如果你覺得一個一個解除已安裝的軟體太浪費時間…&lt;br /&gt;
可以試試AppManager，它可以讓你一次選擇所有要解除安裝的軟體…&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;QR Code&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigoQW8654LLsEVLn9Isx9BVgwfg93k9aBorqX7i01IO-nwnEYU0w458NJdAmqyPfTpdXccxg_B2N5sJw7HvJmiUD8qxxhqUCCoRdpgXzOMiF6d9WinB31A5wO8YWUTqDInS0eb4zccmlU/s1600/AppManager+QR+Code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;316&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigoQW8654LLsEVLn9Isx9BVgwfg93k9aBorqX7i01IO-nwnEYU0w458NJdAmqyPfTpdXccxg_B2N5sJw7HvJmiUD8qxxhqUCCoRdpgXzOMiF6d9WinB31A5wO8YWUTqDInS0eb4zccmlU/s320/AppManager+QR+Code.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;安裝完後的畫面&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixbxeUsowRPvN7K5S0ZELIHAVsvRAQePKtj5JRhqPTGLiermtZOAACWtbDlbNuqf4KMCHPzYf6FgioIVCs3ILde6Dth61LyjuxeYw7aNmICnujWfrxdzhtAeA_uGm7log12fLY8lquDPM/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixbxeUsowRPvN7K5S0ZELIHAVsvRAQePKtj5JRhqPTGLiermtZOAACWtbDlbNuqf4KMCHPzYf6FgioIVCs3ILde6Dth61LyjuxeYw7aNmICnujWfrxdzhtAeA_uGm7log12fLY8lquDPM/s320/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;執行之後直接點選所有要解除安裝的軟體&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj94OL8HPryywkx33_x6PnZBDhurMuzhHVnTeh5LpSY_LyJ84OtmCZOp6Bt7c8fNcnZLAPxoU1ccw94_U7FFoLRYUohZeJqlzH8JcirhO5LzmPenFJXuav1mHRFAjUbUOwGkaxcDK1NpRw/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj94OL8HPryywkx33_x6PnZBDhurMuzhHVnTeh5LpSY_LyJ84OtmCZOp6Bt7c8fNcnZLAPxoU1ccw94_U7FFoLRYUohZeJqlzH8JcirhO5LzmPenFJXuav1mHRFAjUbUOwGkaxcDK1NpRw/s320/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;點選Menu並選擇Batch uninstall，進行批次解除安裝&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlAHdR0txSCPfdyEHzjreRlTERF1DgcklZFjJsZFYoJZzRBtyn3jIFxeGnwz9V34mAxzkkgsVDTDQ4M1aviGdDuAhaRlwL5k0zQXerpHlMt1V_JuB5tuoBBXY2KWNR2eZ4dxg80qr7HE8/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlAHdR0txSCPfdyEHzjreRlTERF1DgcklZFjJsZFYoJZzRBtyn3jIFxeGnwz9V34mAxzkkgsVDTDQ4M1aviGdDuAhaRlwL5k0zQXerpHlMt1V_JuB5tuoBBXY2KWNR2eZ4dxg80qr7HE8/s320/3.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdnxvqNR2Vd-NUaweuKVp4nPMKK_sG8hqUCalvXbNKXHICsW4ZLvX19tDppAdP0lUZMm9_QvvsRaiOsqLHEbNLftt2hgdrtWb4b2xjhfy35A-nI6IV5YcQKNGZegjubFqZzW3NwOz_oic/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdnxvqNR2Vd-NUaweuKVp4nPMKK_sG8hqUCalvXbNKXHICsW4ZLvX19tDppAdP0lUZMm9_QvvsRaiOsqLHEbNLftt2hgdrtWb4b2xjhfy35A-nI6IV5YcQKNGZegjubFqZzW3NwOz_oic/s320/4.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmiKPAABEvhMu0CZjny8uh1bqbHntUTQAKDYbfoYV-BgD79OzW1RGNRiOakvkh92uhoZ1v13iG0t8Xmk-qxhQSTmiSu_Ppca54pkA7FijAuZxq9CZr0GPKxZMVPP_Kg0-AX2kAWDGUYE8/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmiKPAABEvhMu0CZjny8uh1bqbHntUTQAKDYbfoYV-BgD79OzW1RGNRiOakvkh92uhoZ1v13iG0t8Xmk-qxhQSTmiSu_Ppca54pkA7FijAuZxq9CZr0GPKxZMVPP_Kg0-AX2kAWDGUYE8/s320/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/8445556259036418116/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-appmanager.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8445556259036418116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8445556259036418116'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-appmanager.html' title='Android 必裝軟體-批次解除安裝軟體(AppManager)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigoQW8654LLsEVLn9Isx9BVgwfg93k9aBorqX7i01IO-nwnEYU0w458NJdAmqyPfTpdXccxg_B2N5sJw7HvJmiUD8qxxhqUCCoRdpgXzOMiF6d9WinB31A5wO8YWUTqDInS0eb4zccmlU/s72-c/AppManager+QR+Code.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-8855468686145415666</id><published>2010-04-23T18:18:00.000-07:00</published><updated>2010-04-23T18:20:37.624-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>Android 必裝軟體-安裝記憶卡上的apk檔(appInstaller)</title><content type='html'>如果你從網路上下載了一個apk檔… &lt;br /&gt;
或是你自己寫了一隻程式想要安裝在自己的手機上…&lt;br /&gt;
如果你有以上的需求，可以透過appInstaller直接安裝apk檔…&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;QR Code&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_P4XL4JusghC9G9YIzIEf0V7XGwv4YZq3fi2yGPJMfLZX4hloYuU-9KA3HoQ6Jzq6OYgdEhsevGJqSm6APIUZWxL_5QtKu2Q9if-4YZnAKnJqcGYkMaOhGbT6yd0FQPwUJYcydXjR1lc/s1600/appInstaller+QR+Code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_P4XL4JusghC9G9YIzIEf0V7XGwv4YZq3fi2yGPJMfLZX4hloYuU-9KA3HoQ6Jzq6OYgdEhsevGJqSm6APIUZWxL_5QtKu2Q9if-4YZnAKnJqcGYkMaOhGbT6yd0FQPwUJYcydXjR1lc/s320/appInstaller+QR+Code.png&quot; width=&quot;317&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;安裝完之後的畫面&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEo-CNEmNS5wtTSlXXH6dU9z5PgYLHO5cz3BkwvmHmy941ZuBukNUHEbS28hBuOP5YC5VEbzUSyWs4EtayVFI3sWy18tp4WQx1IobsQFMzt3T_dX52ee2-QGblZdW3Mh3r0vSDKOkX2Zw/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEo-CNEmNS5wtTSlXXH6dU9z5PgYLHO5cz3BkwvmHmy941ZuBukNUHEbS28hBuOP5YC5VEbzUSyWs4EtayVFI3sWy18tp4WQx1IobsQFMzt3T_dX52ee2-QGblZdW3Mh3r0vSDKOkX2Zw/s320/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;開啟後會自動搜尋記憶卡所有的apk檔&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfqBdUes9Zn6QfeANQMvhIx6SCk_OX02HowOHQRUBRASyIpeMoaYlX-SsKO8-sjZOvFhwW7A-cO4NmqW76GpGK_zr8CFgksuaeqlpOppP4jS5XEotWWIWtd8g6QkjnWp4A7PEd9Z-en5g/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfqBdUes9Zn6QfeANQMvhIx6SCk_OX02HowOHQRUBRASyIpeMoaYlX-SsKO8-sjZOvFhwW7A-cO4NmqW76GpGK_zr8CFgksuaeqlpOppP4jS5XEotWWIWtd8g6QkjnWp4A7PEd9Z-en5g/s320/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;直接點選欲安裝的程式進行安裝&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDSi238rvAOCG9q3dQQ0JasxkLtl26hwoFQ7eR4HE6QOczYUDZRiLflSR6sKIoX8-qQbEl7wbMTpM62rBveRobTBVhjtE70INJeJ9LXZ7y2M8dDTlX7Zq8f5pK82q8feYYfzhbFubPFpI/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDSi238rvAOCG9q3dQQ0JasxkLtl26hwoFQ7eR4HE6QOczYUDZRiLflSR6sKIoX8-qQbEl7wbMTpM62rBveRobTBVhjtE70INJeJ9LXZ7y2M8dDTlX7Zq8f5pK82q8feYYfzhbFubPFpI/s320/3.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDLX9zbvTsvt5O5FslwhVh7GTv_MeKmFvRVHK9y7zuh33b_R00Z3-RJdpk5Y-2HYEmKq7KwjzTl1hmsTiOFjwUMV31c_gsnc4B9I_ADRLTlAidD5ULemZDO843-G7PUJSnzourdw2BNEo/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDLX9zbvTsvt5O5FslwhVh7GTv_MeKmFvRVHK9y7zuh33b_R00Z3-RJdpk5Y-2HYEmKq7KwjzTl1hmsTiOFjwUMV31c_gsnc4B9I_ADRLTlAidD5ULemZDO843-G7PUJSnzourdw2BNEo/s320/4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/8855468686145415666/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-apkappinstaller.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8855468686145415666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8855468686145415666'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-apkappinstaller.html' title='Android 必裝軟體-安裝記憶卡上的apk檔(appInstaller)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_P4XL4JusghC9G9YIzIEf0V7XGwv4YZq3fi2yGPJMfLZX4hloYuU-9KA3HoQ6Jzq6OYgdEhsevGJqSm6APIUZWxL_5QtKu2Q9if-4YZnAKnJqcGYkMaOhGbT6yd0FQPwUJYcydXjR1lc/s72-c/appInstaller+QR+Code.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2130194637420270899.post-8534163580571220901</id><published>2010-04-23T17:55:00.000-07:00</published><updated>2010-04-23T18:19:46.334-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android軟體及新聞"/><title type='text'>Android必裝軟體-快速開關3G/2G網路(APNdroid)</title><content type='html'>APNdroid能夠讓你在不需使用網路的時候快速關閉網路，以延長電池待機時間。&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;QR Code&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span id=&quot;goog_1886386656&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1886386657&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooHbRO-D8N_JCxnvkVaac7zX2aLafF0kSmfy095amoMyduSlpeKcvE285hyphenhyphenAKShntIXOLuRmdEO3H0Ze6GOzWnLZyotdggclSRb4AKxi9vPxBlehBKQVL-XYilofUFjlHT3T0VG6bHsE/s1600/APNdroid_QR+Code.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooHbRO-D8N_JCxnvkVaac7zX2aLafF0kSmfy095amoMyduSlpeKcvE285hyphenhyphenAKShntIXOLuRmdEO3H0Ze6GOzWnLZyotdggclSRb4AKxi9vPxBlehBKQVL-XYilofUFjlHT3T0VG6bHsE/s320/APNdroid_QR+Code.png&quot; width=&quot;313&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;安裝完後的畫面&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu5tIERjsoIBFfcs95g3yxifQoMVStq7ZkgeTgBuFrONrhWUu-jWZ3cvZ9HezvMiTX42ZFIl62W4VP5RqL03QLzR_VloZKBCPB-04nJSTkttTfgfWEZQU33p0Oo53Dx2W6w9gZVbACNSQ/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu5tIERjsoIBFfcs95g3yxifQoMVStq7ZkgeTgBuFrONrhWUu-jWZ3cvZ9HezvMiTX42ZFIl62W4VP5RqL03QLzR_VloZKBCPB-04nJSTkttTfgfWEZQU33p0Oo53Dx2W6w9gZVbACNSQ/s320/1.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlhbL84BUKR_qQMsDHRR6hEBeJUlbLeeFJgMBExvyql82nHQk-Sttj4mHhMKVZLUe12JfiM2Jes33yIjgMVB-wY3dRRh2kTnMeNazAZlU9QUQWvHo8SzSnWxx15kRjuyYO-E69MqUCOEw/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlhbL84BUKR_qQMsDHRR6hEBeJUlbLeeFJgMBExvyql82nHQk-Sttj4mHhMKVZLUe12JfiM2Jes33yIjgMVB-wY3dRRh2kTnMeNazAZlU9QUQWvHo8SzSnWxx15kRjuyYO-E69MqUCOEw/s320/2.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIRe1Pv5bRGCwIW_JiBUKLm-TJwihvXbndH_TdzCAoLn4C6FU4QS055wRfBQ8zEqjn5A3pY2mQSw6c_9EJtdnh1ZhYqs_u3p-IxHia8t5WkiA9P8T2obzPRz1AXoBn150-BjYR_OTVMMM/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIRe1Pv5bRGCwIW_JiBUKLm-TJwihvXbndH_TdzCAoLn4C6FU4QS055wRfBQ8zEqjn5A3pY2mQSw6c_9EJtdnh1ZhYqs_u3p-IxHia8t5WkiA9P8T2obzPRz1AXoBn150-BjYR_OTVMMM/s320/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;可以透過在桌面新增小工具來達到一鍵開關網路&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxwJbfLEPIC_-936XlKIi2WER7GdVWBpXr7WlgOpYMVikAuz2LPzS5YwxrWPbFKNngp_qghjkqvLF34h485HymsLM_WQw4sPxo4PeqGzCj3ppz-yljgCL-jY5I0EldXd42UDn-MMtrmcg/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxwJbfLEPIC_-936XlKIi2WER7GdVWBpXr7WlgOpYMVikAuz2LPzS5YwxrWPbFKNngp_qghjkqvLF34h485HymsLM_WQw4sPxo4PeqGzCj3ppz-yljgCL-jY5I0EldXd42UDn-MMtrmcg/s320/4.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIKCzEoD2BMOiQS_oiW4aap8WetBTp_Iny15nRWj6wGgaarJ51z0Hh8mVFYf6XlLXJRp9tt1axxU5NU_JC3q5Kb04KRVDj9cCSURIgUjrysgcDvUGQaB50iLsN4tBTsNqboLfakE4RvIQ/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIKCzEoD2BMOiQS_oiW4aap8WetBTp_Iny15nRWj6wGgaarJ51z0Hh8mVFYf6XlLXJRp9tt1axxU5NU_JC3q5Kb04KRVDj9cCSURIgUjrysgcDvUGQaB50iLsN4tBTsNqboLfakE4RvIQ/s320/5.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHNEgAvZya-_a6nLMhsDfAkiHUCfISPFnjrBx7MQoWfpcuD3Fl8iNgHVIOqB4aBhFe-6cn8yxBAGKpTy-LnFaft1fy5IiLrh-46Od0vCRkgOdPsYcXKVhc9TIBbeYCTlLyMKa4KmMpK-o/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHNEgAvZya-_a6nLMhsDfAkiHUCfISPFnjrBx7MQoWfpcuD3Fl8iNgHVIOqB4aBhFe-6cn8yxBAGKpTy-LnFaft1fy5IiLrh-46Od0vCRkgOdPsYcXKVhc9TIBbeYCTlLyMKa4KmMpK-o/s320/6.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgygaB82nmuxoIpGj132mubwDGGSDKzN78XbD13gi37fl5GSus5lx4guYCkgDmauyW4MyXSBSx6pnXOAXxEQ13dTtiJZInLUicgrRQChx_W4EQN2pA6qwHGrJXMNm6PIcwKHtjNlXGjHkY/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgygaB82nmuxoIpGj132mubwDGGSDKzN78XbD13gi37fl5GSus5lx4guYCkgDmauyW4MyXSBSx6pnXOAXxEQ13dTtiJZInLUicgrRQChx_W4EQN2pA6qwHGrJXMNm6PIcwKHtjNlXGjHkY/s320/7.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cooking-java.blogspot.com/feeds/8534163580571220901/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-3g2gapndroid.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8534163580571220901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2130194637420270899/posts/default/8534163580571220901'/><link rel='alternate' type='text/html' href='http://cooking-java.blogspot.com/2010/04/android-3g2gapndroid.html' title='Android必裝軟體-快速開關3G/2G網路(APNdroid)'/><author><name>Nicky</name><uri>http://www.blogger.com/profile/03976895842570948954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiooHbRO-D8N_JCxnvkVaac7zX2aLafF0kSmfy095amoMyduSlpeKcvE285hyphenhyphenAKShntIXOLuRmdEO3H0Ze6GOzWnLZyotdggclSRb4AKxi9vPxBlehBKQVL-XYilofUFjlHT3T0VG6bHsE/s72-c/APNdroid_QR+Code.png" height="72" width="72"/><thr:total>1</thr:total></entry></feed>