早上開發有感:事情原本可以變的簡單

來源:互聯網
上載者:User

  前一段時間,在作android裡app項目修改的時候,上面希望得到一個自訂的titlebar介面。這個問題看似簡單,不深入分析,還是會走不少彎路的。首先拿到這個問題,我有一下想法:

  第一個種替換,就是最直接的也是我最開始想到的:寫一個layout檔案,來替換到這個應用的這個activity的titlebar,那麼android系統應該會提供關於titlebar的參數,我們什麼時候用到titlebar呢,對,就在設定檔和activity介面可以修改.在我嘗試在一個活動裡面用上自訂布局的titlebar後發現,我的layout無法完整填充這個titlebar,存在醜陋的間隙,不符合要求。這一條路失敗。

      第二種先刪除,再添加。這一種看似於第一種有點相同 ,其實,思考方式上有很大的區別。上一種我老想的是在該應用替換掉系統的titlebar,於是我就陷入了一種思維裡:尋找系統提供操作titlebar的介面,然後把它替換掉就可以了。這個思維的可怕之處就是讓你不會思考別的途徑來解決這個問題,並且它強迫你進入到一個迴圈:要解決a,發現要先解決b,要解決b,再發現要解決c問題等,最後呢,你發現你走的這條路的最後還是沒有解決掉你的問題,那麼你之前做的一些努力對這個項目來說或許就是無用功。那麼為什麼沒有想到刪除比修改要靈活很多呢?我覺得這個或許就是大多數人思考的方式(至少我是這樣)。好,還是先說這個問題,採用這個方法後,出現了一個新問題:從一個介面到另一個介面,或者程式啟動的時候,這段時間也許螢幕黑屏等,出現了titlebar,當介面完全展示出來時,titlebar就消失了,我的一個同事呢就是尋找activity的毛病。其實這個還是基礎知識的問題:介面要想展示出來,必須調用onResume,而他在onResume裡面設定視窗是沒有titlebar的,問題顯而易見,應該在設定檔的時候,把這個介面該為titlebar的主題即可。

 

  今天還有一個問題,也是非常簡單:我想根據設定檔裡面的屬性值,來啟動或取消android的應用的許可權。

  拿到這個問題,你或許在想:啟動好實現,取消怎麼做呢?於是乎我就去找怎麼取消應用中已經註冊了的許可權(比如關閉網路接受相關的許可權,使用者不想用流量了),然後這個我突然又發覺,我幹什麼去找這個呢?什麼都不坐不就等於取消嗎。

  這段時間,我經常遇到這些類似的問題:接到一個任務,心想立刻把它作出來,而沒有仔細的,按照一定的思維好好分析它。或許有的人會說,你如果不去走彎路,你怎麼知道你在走彎路呢?這個也有一點的道理,但是有誰願意走彎路呢,我們有捷徑不走,難道去走彎路?  

  幹什麼事情,都事先都應該有個思路,就想初中高中的時候,數學老師給我們講:求最大值問題有三種思路:a,b,c.....。經驗豐富的開發人員思考問題肯定有他自己的思維邏輯。我就在想:這個思維邏輯才是最重要的,而不是所謂的經驗。就像我一年前我的boss對我講:解決問題,要有你自己的思路,即使搜尋也要有你的技巧在裡面。這句話對我的印象很深,有時候我也跟我的同事交流,但是現在發現我也做的不行。

  一旦有了自己的解決問題的思維方式之後,不管裡做什麼開發,你都可以輕鬆應對。這思路不再這裡,就在你的心裡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.