2017年3月31日 星期五

Android studio 如何禁止橫屏

如題,在android studio 開發APP時,有時為了使用者體驗,需要禁止使用者將手機擺橫的時候,畫面跟著轉動(英文稱橫屏為landscape,意思為看風景模式),解法如下:

將原先androidmanifest 中的activity更改如下
<activity android:name=".MainActivity" 
  android:screenOrientation="portrait"/>



即可完成,相反的,若須確保使用者只能用橫屏,則是增加android:screenOrientation="lanscape",
還有許多功能,可參閱
https://developer.android.com/guide/topics/manifest/activity-element.html#screen

PS. 須注意orientaiton 的 O 必須大寫, 否則編譯不會過, 此為所謂 camel case,意指在英文單字裡,有特定的字須以大寫開頭,就像camel(駱駝)的駝峰一樣,有高低起伏

2017年3月26日 星期日

android studio 如何更改app 封面圖案

一個好的APP一定要有好的封面圖片(app icon),才能吸引下載,雖然我覺得原本的小綠人也不錯,可是為了避免跟別人重複,還是改一下比較好,改圖方法如下


1. 先找到android studio project 所在位置,小弟是放在桌面,也有可能在其他地方, 真的不行就用搜尋吧XD
2. 打開資料夾,點 app -> src -> main -> res


3. res 下有許多資料夾, 其中mipmap開頭就是我們要的(共有五個)
4. 將自己的圖片和五個mipmap開頭的資料夾內的圖片調成大小相同(例如48*48,72*72之類的)
5. 取代可愛的小綠人圖片,記得檔名要和原本小綠人的檔名一樣(ic_laucher.png)
6. 重新 run app, 應可看到app 封面圖片改變


大功告成,祝各位改圖愉快

2017年3月24日 星期五

我的日檢N1之路-1 入門

距離我通過日檢N1也有一段時間了,當初花了整整兩年,考了四次考試(N3->N2->N1->N1)才拿到N1證書,其中的過程想跟大家分享,我本身的專業和日文毫不相關,憑著一股對日文(謎之音:是日劇和動漫吧XD)的熱愛,一直到現在都還有接觸日文


其實我覺得日文學習主要可分為兩大部分,應該說任何語言都一樣, 就是文法和詞彙,其中文法部分就是要透過教材系統性學習,至於詞彙部分雖然也有教材,但我認為透過大量接觸日文相關題材,學起來會更加有趣,更加得心應手


語言這種東西,有點像練武功一樣,文法規則一開始需要背誦,但隨著閱讀量不斷增加,到最後規則都會被內化,此時無招勝有招,就是大家常說的語感,當練到這種程度時,通過N1可說是輕而易舉


以上扯遠了XD 還是先一步一步,從基礎開始介紹如何學日文吧XD




大家常說日文學習有三大關卡,五十音,五段動詞和敬語,其他先不說,光是基本的五十音就使許多人知難而退了,我當時學日文時,還特地買了五十音的書,如連結
http://www.kingstone.com.tw/book/book_page.asp?kmcode=2018030775711


其實我覺得五十音的書買來是強迫自己學的手段,畢竟花了錢,不把書看完好像是種罪過XD,我大概花了一個月照書中練習走完一遍,背熟後才往下一步出發,其實在背五十音的過程中,除了看書,也有一些小撇步,比如說在日常生活,看到有日文時,就可以試著把它唸出來,或者是愛聽日文歌的朋友,可以搜尋歌名+hiragana(ひらがな),就會跑出日文歌用平假名拼音,可以試著哼哼看,增加背五十音的熟練度


當熟悉了五十音後,應該會開始覺得怪怪的吧XD,怎麼あなた,不是念成anata,而是anada,對於這個問題,我們下次再來解答XD,下期再會!
p.s. 第二期連結: 連結點此

2017年3月21日 星期二

OOP入門-1 object介紹


何謂OOP, OOP是objective oriented programming 的縮寫,翻成中文就是物件導向程式設計,但我想這樣根本沒有釋任何東西(笑)

所以為了讓各位看官繼續看下去,來舉點實際例子, 這種程式設計方法並非憑空想出來的,而是透過對日常生活的觀察,大家仔細想想,對一般日常生活的東西,我們會如何描述呢?


舉例來說,今天教室的門,我們會如何描述它呢?小學作文時常說,教室的門是白色的,寬度為50cm,高度為200cm,而且還沒打開,早上要打開門才能去上課,這裡有描述狀態的東西(包括顏色,長度,高度),以及一個能改變門狀態的動作(打開),而所謂的物件(object)導向就是將一切想要定義的東西(也就是程式中的物件)用兩種形式表示,其一是它的狀態,其二是改變狀態的方法或是能藉由原本描述的性質得到新的性質的方法(ex. 高度乘與寬度為門的面積)




而在C++/java/python, 狀態通常用變數(variable)表示,而方法(method)用函數(fuction)表示

看到這裡,讀者也許有個疑問,一間學校有許多門,要一一描述是否太累了,於是聰明的物件導向設計師想出另一個概念,類別(class),至於詳細概念,我們下期再會


p.s 下一集網址:連結點此

android studio 裝置偵測不到排除方法

想必許多人在安裝android studio 時, 都會發生偵測不到裝置的問題,這可能是因為許多原因,當然,首先需要排除的是電腦沒有安裝手機driver的問題,可至以下網站安裝:
https://developer.android.com/studio/run/oem-usb.html#InstallingDriver


其中網址有寫get OEM driver, 在其中找到符合自己手機的部分,連結至相關網站,即可完成安裝




另外,就是有時候明明之前偵測的到手機,卻突然偵測不到,可能也有許多原因,其中就是手機是否有把開發人員選項的debug模式打開,以及android studio 工具列下的run -> edit configuration->app->target->選擇open target... 的選項,應可排除問題,希望這篇分享對大家有幫助

2017年3月20日 星期一

app 開發

想必很多人和小弟一樣,一直想寫個APP,卻不知如何下手,最近發現Udacity 上android 開發課程不錯, 推薦給大家,課程分為許多部份,一開始先教XML,後來開始導入OOP的概念,上的有點快,不過小弟有學過C++,所以還好,建議有點程式底子再聽比較好




網址如下:
https://www.udacity.com/courses/android


其中如果點下去連結,會發現還是有許多課程,建議從basic開始,因為進度真的頗快,不過優點是有中文字幕,可以跨速學習XD