今天下午花了點時間來體驗Android,本以為5分鐘就可以完成的Helloworld,卻用了將近1個半小時的時間,實在有些不爽?,F在暫時記下一些不爽的地方,希望大家能指出問題在哪里?有什么更好的辦法?
前面按照文檔,下載sdk和eclipse plugin,安裝配置安裝文檔一路順風。馬上新建工程,編寫Helloworld代碼,啟動運行。想著應該大工告成,看的到效果收工了。誰知道問題出來了。
代碼如下:
package person.pengjun.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("過河卒, 每天進步1%");
setContentView(tv);
}
}
不爽1:HelloWorld需啟動兩次
在Eclipse的run菜單里面配置了Android Appliaction的運行配置,一切OK,啟動工程。一切啟動正常,按照文檔的說發,我就應該能夠看到屏幕中顯示出來的“過河卒,每天進步1%”的字樣了。而我實踐看到的確實手機桌面,不解。在手機菜單里面找了好幾遍也沒有找到相應的啟動選項。(PS:到時里面的API DEMO吸引我看了好久)。沒辦法,沒看到效果。只好回頭檢查是否有錯誤。
發現Eclipse里面的啟動信息如下:
[2007-11-19 18:10:52 - HelloAndroid] ------------------------------
[2007-11-19 18:10:52 - HelloAndroid] Android Launch!
[2007-11-19 18:10:52 - HelloAndroid] Launching: person.pengjun.hello.HelloAndroid
[2007-11-19 18:10:52 - HelloAndroid] Launching the emulator.
回想doc里面說的,啟動會先啟動emulator,之后才會啟動application。
看到這里,我又Ctrl+F11再啟動了一次Android Application,結果挺好。終于出現了,我希望看到的界面。
啟動信息如下:
[2007-11-19 18:12:30 - HelloAndroid] ------------------------------
[2007-11-19 18:12:30 - HelloAndroid] Android Launch!
[2007-11-19 18:12:31 - HelloAndroid] Launching: person.pengjun.hello.HelloAndroid
[2007-11-19 18:12:31 - HelloAndroid] Pushing HelloAndroid.apk to /data/app on the device
[2007-11-19 18:12:31 - HelloAndroid] Starting activity on device: person.pengjun.hello.HelloAndroid
[2007-11-19 18:12:33 - HelloAndroid] ActivityManager: Starting: Intent { comp={person.pengjun.hello/person.pengjun.hello.HelloAndroid} }
雖然這沒有浪費我什么時間,但是文檔里面居然一個字也沒有提。不爽。
不爽2:修改居然不會自動更新
看到效果了,心里面也不免小興奮一把。修改了“過河卒,每天進步1%”為“Android,I love you”以表慶祝。啟動運行,問題還是依舊,看到的還就手機桌面,心里面不免暗暗嘆息。再次Ctrl+F11,這回出來了。但是出來了的字符讓我傷心,居然還是“過河卒,,每天進步1%”,這有點受不了了。嘗試關閉程序再次嘗試,問題依舊。于是想是不是和Web瀏覽器的緩存一樣,那有記錄下來了。于是查找一番,果然讓我查到了,在手機桌面的Application里面出現了 我的AndroidApplication,啟動依然是“過河卒,每天進步1%”。
沒辦法只好查文檔了,折騰了一會,終于讓我查到。
http://code.google.com/android/reference/emulator.html#controlling
里面有這樣的記錄:
Only the first emulator instance can preserve user data across sessions. It stores the user data in a file — by default, it stores the data in the file ~/.android/userdata.img (on Linux and Mac)
or C:\Documents and Settings\<user>\Local Settings\Android\userdata.img
(on Windows) in your development computer. You can control the storage (and loading) location of the user data file by using the -data
option when starting the emulator 。
原來在這里C:\Documents and Settings\<user>\Local Settings\Android\userdata.img
去到這里,發現什么也沒有。不甘心,查找了一下。原來它在C:\Documents and Settings\<user>\Local Settings\Application Data\Android\userdata.img 。找到它,毫不客氣刪除重運AndroidApplication,終于見到“Android,I love you”??磥磉€是那句歌唱的好啊,“想說愛你不容易”。
找到問題經過多次嘗試,仍然不會自動隨修改更新,心里面很是不爽啊。每次修改只好刪除,userdata.img再試,實在麻煩。不過暫時也沒有更好的辦法,只好如此。
由于默認目錄太偏,而且會影響所有的Android的運行,所以想了個替代的辦法。在Eclipse的run菜單里面配置emulator的啟動配置。在工程文件下面建一個data文件夾,把這個user data file 指定到這個位置上面。這樣每個Application都配置的話相互之間也就不會影響了。配置如下圖,
不管配置的多好,總之還是那個詞,不爽。
上面是我今天初用Android遇到的問題,這可能和我機器的運行環境有關系。不知道大家是否也有遇到,不知道大家是否有更好好的處理辦法? 請大家多多指點。
11月20日晨
早上換了臺機器,重新解壓了個eclipse,版本3.3.再次嘗試HelloAndroid,居然上面的問題,一個也沒有出現。這可能和系統的環境有關
系。因為昨天的那臺機器上面東西比較雜,也疏于打理。具體是什么方面的影響還不清楚,不過昨天機器的Eclipse是3.1的版本。
平凡而簡單的人一個,無權無勢也無牽無掛。一路廝殺,只進不退,死而后已,豈不爽哉!
收起對“車”日行千里的羨慕;收起對“馬”左右逢緣的感嘆;目標記在心里面,向前進。一次一步,一步一腳印,跬步千里。
這個角色很適合現在的我。
posted on 2007-11-19 19:21
過河卒 閱讀(9282)
評論(5) 編輯 收藏 所屬分類:
Android/gPhone