本文
實驗報告寫了很多,博文倒是第一次寫,可能廢話頗多,望多多包涵。。。
當得知交作業的期限時我表示驚訝和慚愧,因為那個時候大概也只有我還沒有搭好環境吧。。android總是以在圖書館找不到書為借口一拖再拖。。其實我是在去上海的飛機上才搭好了環境,看到模擬器彈出的介面稍感欣慰,雖然速度極其之慢。。因為難得去找男朋友所以沒有做任何學習的打算,8號歸來補覺一天,在網上買的書現在還沒有寄到!找俱樂部借基礎的書又借出去了。。傳的視頻資料目前正在續傳中。。好吧。。我承認這是我懶惰的借口。。不過我好不容易找玉姐(即楊蕭玉同學)借到一本。。於是今天!做完資料結構的實驗後!我毅然決然決定著手android的學習!(我是個誠實的孩子。。說實話需要勇氣。。)第一次廢話多些,算是給自己的懶惰找點借口嘿嘿~下面言歸正傳。。。先來個介面的吧。。不得不承認它真的很醜。。作為女生我很慚愧。。
首先確定了布局,計算機自然想到表格版面配置了,但是我一直以為表格版面配置必須每行每列很規範,一行的格少的話就只在左邊顯示了,比如clear和“《-”在“7"和"8"的正上方。。於是我就想下面規範的那一群用表格,上面是兩個線性布局。。其實我是受java裡面panel的啟發。。面板上可以有面板嘛。。(請原諒一個初學者的無知。。)就那一本有限的參考書,我表示內容太過言簡意賅。。沒有看懂怎麼組合布局。。上網google一下。。發現有一個android:layout_span的東西(eclipse的Button標籤裡的提示沒有這個啊!強烈抗議!)。。於是實現剛開始設想的這個介面就容易了。。先是EditText,然後<TableRow>一行一行放,clear是將layout_span="3"了。。”《—”這個剛開始報錯,因為<用的英文的所以應該是和標籤有衝突吧,我異想天開加個轉義的\也不行就弄成中文的了。。哦對,stretchColumns=“*”要展開一下,不然很醜。。另外這些布局都是在main.xml裡寫的。。
EditText的值剛開始是"0.",但是預設顯示在左邊,不符合習慣,加了android:gravity="center_vertical|right" 就好了。。個人覺得google比書好用多了。。在java檔案裡,構造了private String tmp,用來改變EditText的內容,每次onclick時,將該button的值追加在tmp後並settext顯示出來,clear就是set成"0."了,tmp也要跟著清空一下,“《—”就是用一下substring,反正是java,猜也能猜出來了~BUG:clear的時候我把tmp=""了,但是再點按鈕的時候還是追加在原來的tmp上唉。。我沒有燈好不方便,明天再說吧~
加減乘除就是先把string轉化數字運算後在輸出,都是在onClick()裡寫的。對每個按鈕的處理很類似,代碼感覺好重複啊。。
其實我還沒有編完。。bug總是會有的。。至於聲音的添加還沒有弄,版本控制器也沒有來得及看,這周事情比較多,本來想先把這個放一放呢,但是看大家都交了實在是大勢所趨。。。所以交一篇雛形的雛形。。。
總體感覺,有了java的基礎還是蠻好的,今天大概瞭解了android開發到底怎麼回事,還是比較容易上手的。。博文我肯定還會追加內容的,要做的東西還很多,這個實在是拿不出手唉。。先湊合這看吧。。PS:希望我的書快點寄到,還有求協助文檔~~~~
/*****************************************************************************************
第二天
*****************************************************************************************/
今天著手進行聲音的添加和版本控制器的學習。。另外把很水很水的計算機變成了比較水的計算機。。
由於昨天急著交博文做的很倉促,bug果然很多,比如只能算一種運算,算另一種的時候會結果有誤。因為只能在單擊運算子和等號的時候進行計算,獲得result的值,所以先算減再算加就會忽視最後一次減法運算,就聲明了char(為了switch) flag=' ';然後每次單擊會設定flag的值,這樣就知道之前的運算是什麼了。還有一個問題我還不知道怎麼回事。。計算含小數點的數有時錯有時對,我沒找到出錯的規律,沒搞明白。。用的都是double類型來進行加減,5-3.2=1.79999999999998,但是30-3.2就等於26.8,我問任震宇他拿出來自己的手機,開啟了內建的計算機(是android
2.1版本的)計算12.43-12.4=0.02999999999999,於是我有些釋懷了。。我輸出了計算前的減數和被減數,都是對的,算了就可能出現上述結果,估計還是double精度的事兒吧。。
添加聲音我弄了快一天了就是沒聲!書上講的都是MediaPlayer,感覺這都是播放音樂的,又在網上搜出來SoundPool,兩個我都試了還是不行!我先是把.mid的音效檔拖到res/raw下,然後試了兩種方法都失敗了。。有時候是強制退出。。網上的資料內容都一樣,沒幾個不同的版本,還沒搞明白。。明天上午英語演講還沒準備。。聲音暫且放一放。。。
然後是版本控制器。。群共用上的檔案打不開。。在網上找到了不錯的教程~記得當時講的要設為倉庫然後檔案夾上就會有個對號~不過沒有設也能正常操作啊。。可以擷取網上的資源,也可以本地複製。。也能上傳到伺服器上,配置一下就好。。不過沒有試過和同學互相pull,push東西。。趕緊準備speech去了...早知道不選進階口語了⊙﹏⊙b汗。。。
後話時隔一年多,安卓課的第一個實驗居然恰好是計算機,就把這個程式又扒了出來,實在寫的太噁心。。對代碼進行了重構,修複了一下bug,功能還是比較簡單,重構後的工程的為:http://download.csdn.net/detail/felicitia/5367521 不要再下之前的那個工程了。。好丟人。。新版介面如下,極其樸素,使用的TableLayout,適合初學者,有bug歡迎反饋~