by Danny | Apr 12, 2014 | Android
專案共用 appcompat Library 至從ADT 改版後,建立新專案會依照你選定支援的版本來決定是否要有appcompat的相容套件,如果需要的話會自動建立appcompat 與 _v7命名而成的的專案Library並與自行建立的專案關聯,其中_v7是appcompat的版本命名規則,不過,建立的專案一多就會像下圖一樣多很多appcompat_v7為首的專案名稱: 每次建立專案時你也可以自行刪除多餘的appcompat_v7為首的專案,只留下一個讓專案引用,下面就要簡單的說明一下該如何做。...
by Danny | Apr 12, 2014 | Android
ADT 更新22.6後出現無法Build程式 ADT更新到22.6之後一開始建立新的Project時卻出現下面的問題,這發生什了什麼事? 下面會依照這個方式來解決它或是使用其他方式來符合自已的需求。 Android 4.0後發生UI上面的改變,為了其他舊版本能夠相容並且符合UI設計規範之下,Google另外設計了相容的函數庫,並且規納在Android SDK Manager的Extra中。 但在ADT更新後建立新的Project時會讓你選擇要使用哪種的Theme,並會建立相關的Code,...
by Danny | Apr 9, 2014 | Android
讀取Android內建GPS的NMEA資訊 如何在Android取得GPS定位資料在很多文章或是教學中都很容易了解及使用,但要如何像其他APP一樣可以取得更詳細的內容呢?這就要利用Android在GpsStatus物件中的Listener:GpsStatus.NmeaListener,當GPS啟動時就會立即的收到GPS統一規格NMEA0831格式資料,解析這些資料就能得到:座標、衛星有效數量、速度…等一些GPS的詳細資訊,所以自已要寫一個了解GPS狀態並不是難事! 取得LocationManager服務...
by Danny | Apr 2, 2014 | Android
ADB (Android Debug Bridge)為Android平台上的除錯工具,它可以讓你連線至模擬器或是實際的Android裝置,所以提供了三種模式: Client 客戶端,DDMS會執行很多的Client連線至伺服端並取得資料 Server 伺服端,執行在裝置或模擬器上提供客戶端的連線與客戶端互動 Daemon 背景程式,這是以背景模式執行在伺服端 當裝置開啟除錯模式時,裝置上的adb會執行在USB模式與電腦上的adb操作互動,以下的命令都是執行在電腦端上的角色並對裝置下命令,利用命令方式最後可以達成ADB Over...
by Danny | Apr 1, 2014 | Bluetooth
CoreBluetooth For Central (4) Connect BLE Device 承前面Discover BLE Device所介紹內容,我們修改這個專案更名為BluetoothLE-Connect,這節要完成的項目是從發現裝置之後,符合自已設定的周邊名稱後就自動連線至週邊,不過,Xcode的操作細節就不像先前一樣做介紹。 取得連線周邊的名稱 依照之前完成的程式碼,當按下Scan時就可以取得周邊訊息,範例如下: 2014-03-31 16:33:48.935...
by Danny | Mar 29, 2014 | Android
Android Studio 上瀏覽SDK原始碼 當你在寫Android APP時,有的開發者會習慣參照Framework原始碼來知道程式撰寫功能與方向,如何像Eclipse一樣能在自已程式中使用到有關於Framework時也能直接查照原始碼呢? 下載原始碼 選擇Configure 選擇SDK Manager 選擇你要下載版本的Sources for Android SDK,在SDK管理員中提供原始碼下載的方式是在Android...
by Danny | Mar 26, 2014 | Linux
製作 iBeacon for Linux 版本 iOS7之後,apple提出一個室內定位的解決方案iBeacon,它利用藍牙低功耗(BLE)的通訊方式,進行接收訊號,經過訊號強度來辦別距離,所以iBeacon可以達成趨近偵測、定位的功能,間接解決當初Apple未加入NFC時,產生的一些疑問。 但iBeacon究竟是怎麼完成的?其實它只是在藍牙發射的封包做一些結構,當收到封包時將它解成有義意的資訊。以下為iBeacon封包的結構,我們會在Linux製作出相容的封包完成iBeacon的功能, 藍牙Dongle...
by Danny | Mar 24, 2014 | Bluetooth
藍牙 BLE CoreBluetooth 初探 藍牙 Bluetooth 4.0之後就將通訊模式分為高速及低速,低速低耗能簡稱為BLE,可以連接一些量測型的感測器類型像:心跳計、血壓…等,使得iDevice可以不用再使用Dock方式製作產品,也不需要再經過MFi認證才能與iDevice連接,如此一來可以增加APP型態的多元,也能間階的降低一些成本,如果想要跟BLE週邊連接,iOS 5之後提供corebluetooth...
by Danny | Mar 11, 2014 | Linux, macOS
命令列查詢對外IP 要知道對外IP位址時,平常都是利用Browser進入checkip.dyndns.org取得IP。 剛好有個情況是必需要在Console下查詢自已對外IP,所以這時該怎麼做呢? 當下看您的環境有wget或curl 選擇其一就行,再配合sed命令過濾訊息後就可以直接得到對外的IP wget ``` wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e...
by Danny | Mar 10, 2014 | Linux
cp 拷貝檔案有進度顯示 Linux下使用cp指令拷貝檔案時,往往都會不確定檔案在何時拷貝完成或是狀態如何?如何時使才能像Windows一樣有類似的狀態顯示?如果只靠cp的指令參數是無法達成的,下面的列子是利用rsync功能完成的方法: 方法1: rsync -avP /來源目錄名稱 /目的路徑/ 將資料夾來源目錄名稱複製到 /目的路徑/來源目錄名稱 下,意指會在目的路徑建一個目錄名稱與來源目錄名稱相同的目錄,並將目錄內檔案拷貝過去,較能理解的就是下面指令: mkdir /目的路徑/來源目錄名稱 cp -R /來源目錄名稱/....