發表文章

[Android] Android Studio 修改PackageName 和專案資料結構

圖片
今天看到FB上有人在問怎麼修改在Android Studio已建立的專案PackageName 這裡就來教學一下 狀況: com.company.name 改成 com.company.sample.sub Step 1: 去修改Gradle 裡的 application id 修改完後按下Sync Now Step 2: 修改資料夾結構 原本一般在Android模式下來看,資料結構會長的下面這張圖一樣,但我們要先按右上角那個齒輪->Compact Empty Middle Package 按下之後會長這樣 Step 3: Refactor 在需要修改的資料夾上按下右鍵->選擇Refactor->Rename   AS會問你只要改資料夾名稱就好還是要連原本在這個資料夾內的內容都一併做修正 這邊預設就選Rename package 接著輸入要修改的名字(Ex: 這裡要把name改成sample) 另外他也問你要不要連字串中有包含這個舊的資料夾名稱一併也一起改成新的資料夾名稱 這裡選擇性勾選 看你的需求 再來,貼心的AS還是會再列出來一次你曾經在哪使用過這個舊的資料夾名稱  如果都確認後就按下 Do Refactor  這時你可以看到原本資料夾結構為com.company.name的已經變成com.company.sample了 Step 4: 新增資料夾 這時我們還差一個資料夾就完成了 在sample資料夾上按右鍵->New->Package 輸入資料夾名稱 這個時候可以看到資料夾結構已經變成com.company.sample.sub了 Step 5: 搬移原本檔案 此時新增的資料夾會跟原本在name底下的class在同一層 可以視情況搬移檔案 選取要搬移的檔案後 拖曳至剛剛新增的資料夾sub內 做確認動作  再來就可以看到class和class內的package都更改了 Step 6: 換回預設顯示方式 修改好之後一樣點選右上角的齒輪->Compact Empty Middle ...

[Android]Google I/O 2017 新亮點統整 持續更新

圖片
一年一度的 Google I/O 盛會在昨天開跑啦!!! 以下是今天凌晨的Google Keynote直播 身為Android開發者的我 先來說一下今年最大的亮點!! KOTLIN!!!!! (但說實在的...不是很好念...我可以叫他"kolin歌林"嗎??XD) 話說他已經存在大約6年了 今年谷底大翻身出來跟大家亮相了 正式被Google選為Android的語言 當Stephanie姊姊大聲地講出 KOTLIN!!!!! 現場歡聲雷動!! 下面這兩位就是Kotlin的發明家囉!! 下面是我為大家整理Kotlin的文章資料 大家一起來學習新語言吧!! 1. Kotlin官網 https://kotlinlang.org/ 2. Kotlin討論區,裡面有好多國家都有討論區,但唯獨台灣沒有,那我們就看看偉大的對岸程序猿大大們的翻譯結晶吧!! http://kotlinlang.org/community/user-groups.html#kotlin-user-groups-47 3. Kotlin北京討論區 http://www.kotliner.cn/ 4. Kotlin成都討論區 http://www.kotliner.cn/chengdu/ 5. Kotlin上海討論區(官網列的討論區中沒有上海的,不果其實北京成都和上海的都在一起喔!!左側漢堡選單可以切換喔!!) http://shanghai.kotliner.cn/ 6. Kotlin書單,天瓏書局有兩本喔!! https://kotlinlang.org/docs/books.html 先乖乖來上班啦~ 晚點再更新喔!!

[Android]ADB指令大全-錯誤排解-could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037:

圖片
在使用ADB指令時難免會遇到一些錯誤 今天來瞧瞧這個錯誤該如何解決 錯誤訊息: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 原因: 5037端口被占用(不一定會是5037每個人的狀況不同) 解法: Step1: 輸入指令來找找5037端口被誰占用了 netstat -aon | findstr 5037 輸入完畢之後,你會發現進程編號13792這個程式佔用了5037這個端口 Step2: 進一步了解13792是哪個程式,輸入 tasklist /fi "PID eq 13972" 你可以看到PID為13676的程式是什麼(這邊小妹我已經先kill掉了,截圖時已經替換為adb.exe) Step 3: 強制退出進程,輸入(/f代表強制) taskkill /pid 13972 /f kill成功後會出現 Step 4: 重啟adb adb kill-server adb start-server 完成!!

[Android]Android 7.1.1 Preview版可以更新囉!! 多了什麼功能??一起來看看!!

圖片
剛剛上班休息時間逛了一下G+ 發現 Android 7.1.1 開發預覽版開放更新啦!!!! 二話不說立馬來下載 Step 1: 用不管用電腦或手機輸入以下網址 http://www.android.com/beta 進入後會先請你登入Google帳號 Google會依據你所登入的帳號去找到你所使用的裝置 然後確認你的裝置是否符合升級條件 這次似乎只有 Nexus 5x / Nexus 6P 還有最新的 Pixel 可以更新 畫面如下: 當然小妹我已經下載安裝完畢了所以上面的按鈕顯示為 "為裝置取消註冊" 如果還沒下載的會顯示 "為此裝置註冊" 之類的字眼(小妹我記性不好啊!!><") Step 2: 當你按下註冊後 沒一會的時間馬上就會收到通知 進到設定後 會看到右下角有個下載後安裝 接著就會看到這個畫面囉!! Step 3: 等!!! 體驗囉!!! 下載完後 感覺有點小失望!! 因為以為會跟Pixel一樣 殊不知沒變化!!! 好吧!!還是得看看有那些小地方不一樣!! 1. 長按App Logo出現快選選單 可以看到每個App出現的快選選單都不一樣 要開發者針對自己的App做出相對應的快捷功能 這個功能有點像iPhone的3D Touch 更酷的是!!這些快捷功能還能在拖曳到桌面上建立捷徑喔!! 這樣就不用每次都要再長按Logo囉!! 因為才剛開放更新SDK也才剛可以下載 所以可以發現目前只有Google開發的App有這個功能喔 後面有機會再跟大家探討這個功能如何實現 2. 終於可以重新啟動手機啦!!!!! 有拿Nexus 5x的大大們一定對它有一個怨念 為什麼電源鍵長按卻只出現關機的選項呢?? 我想重開機不行嗎?? 真的是 " 藍瘦!! 香菇!! " (跟流行一下!!XD) 但終於!!在這次更新時出現了!!有點感人!! 3....

[Android]Android Studio 錯誤處理大全 The number of method references in a .dex file cannot exceed 64K

圖片
今天小妹我在Build APK的時候遇到了這個問題 原來是我所使用的Library加上自身APP內的Method數量太多,超過65535個了!!也太驚人了吧!!!要找時間好好瘦身一下!! 解決方式如下: Step 1: 在你的build.gradle加入以下幾行 android {     defaultConfig {         ...         // Enabling multidex support.         multiDexEnabled true     }     ... } dependencies {     compile 'com.android.support:multidex:1.0.0' } Step 2: 如果你有自己的Application的話將它改成extends MutiDexApplication 如果還沒有自己的Application的話就新建一個吧 然後複寫attachBaseContext這個類別 程式碼如下: public class MyApplication extends MultiDexApplication {     @Override     public void onCreate() {         super.onCreate();     }     @Override     protected void attachBaseC...

[Android]Android Studio 2.2 Preview版下載及體驗

圖片
今天!!就在今天!!! Google I/O 2016發表會結束後 Android Studio 2.2 Preview版出來啦!! 趕快來安裝看看吧 Step 1: 至官網下載2.2 Preview版 網址: 點我去官網 選擇你的平台之後下載(小妹我是用Windows) Step 2: 解壓縮 Step 3: 開始使用 Preview版的不像正式版的是用安裝的,而是直接解壓縮後就可以用囉~ exe檔路徑如下: /android-studio/bin/ 32位元選studio.exe 64位元選studio64.exe Step 4: 建立新專案 建立新專案後第一個感到不一樣的就是設置Layout的部分 而且仔細看起來...是不是給他有點像iOS開發工具XCode中Storyboard拉Layout的方式呢?? (左圖為Preview版 右圖為舊版) (左圖為Android Studio 2.2 Preview版 右圖為XCode Storyboard) 原來是Android新增了一個叫做ConstraintLayout的元件並向下相容至2.3的版本 據說是能方便工程師製作Layout,用拖拉的方式就能輕易完成Layout的布局 目前還沒有任何的官方文件,不過已經可以在Preview版上使用 呼叫的方式如下: 一些效果如下: 我們可以看到有許多相關的屬性是我們從前沒看過的 這幾天玩完再跟大家說明 大家要持續關注唷!!! 參考資料: http://tools.android.com/tech-docs/layout-editor http://tools.android.com/download/studio/builds/android-studio-2-2-preview-1

[Android]判斷手機或平板

哈囉大家~ 今天小妹我在程式上需要判斷目前的裝置是手機或平板 網路上找了找 判斷螢幕尺寸、分辨率、能不能打電話、有沒有IMEI等等方式 都沒辦法正確的判斷出手機或平板 因為現在有的大尺寸的手機或平板都能打電話也都有IMEI 繼續在網路上找答案 發現其實官方有釋出判斷方法 如下: public static boolean isPad(Context context) {     return (context.getResources().getConfiguration().screenLayout         & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; } 回傳true就是平板 回傳false就是手機囉 目前試過幾種裝置都蠻正確的 如果大家有更好的方法也歡迎大家提出唷~ 感恩~