原创 Git 學習(二):Mac OS X 下 Git 安裝教程

前言:《Git學習(一)(二)(三)》分別介紹git,git相關常識和git安裝步驟 檢查Mac是否已經存在Git ~ Elsa$ git --version 安裝(最新版)Git 官網下載 檢查SSH Key 沒有id_r

原创 Java 中的 ByteArrayOutputStream 應用風險

前言:看到 ByteArrayOutputStream的內存溢出問題 一文,內心捏了一把汗,當初爲了實現Socket長連接接收數據並處理,調用了ByteArrayOutputStream類讀取輸入流,根本沒有考慮過關閉、存儲、內存

原创 Android應用性能優化的小技巧

本篇文檔主要涵蓋了一些能夠提升App整體性能的小的優化技巧,但對應用的性能不會造成大幅度的改進。大的提升和改進首要的還是選擇正確的算法和數據結構,但這兩條並不在本篇文檔的描述範圍內。在平時的編碼過程中,你就應當運用文檔中提到的技巧

原创 Android 通過UDP廣播建立Socket

前言:項目中遇到的實際問題,Android手機想要和局域網中的某個主機進行Socket通信,但是Socket連接前卻無法獲知該主機的IP, 爲了建立Socket,就需要Android手機在局域網內發送UDP廣播,從而獲得目的主機的

原创 JRE And Required Android API

問題 向Eclipse導入一個Project,以前都是正常編譯的,今天突然在很多語句中報錯: “…change project compliance and JRE to 1.7” 修改了JRE版本,又報錯: “Using

原创 使用Java正則表達式匹配IP

前言:在Android 通過UDP廣播建立Socket中介紹了通過在局域網內發UDP廣播,返回同一局域網下,Wifi模塊當前IP的方法。但是接下來又有新的問題,局域網內有多個這樣的Wifi模塊,還需要在一衆IP+MAC的回覆中過濾

原创 Eclipse下Logcat顯示Android日誌攻略一

在開發Android應用程序時,經常要用到日誌查看工具Logcat。Logcat工具內置在Android系統中,可以通過Eclipse的窗口或主機上的adb logcat命令來查看運行在模擬機/真機上的日誌。關於Logcat的學習

原创 通俗的理解Gradle

Android開發,打算從Eclipse+ADT遷移到Android Studio+Gradle,首先了解Gradle 什麼是Gradle? 軟件開發的整個過程,編程和編譯只是其中的一部分。軟件最終是要發佈併產生商業價值的,面對

原创 Java中的byte/char/String數據類型轉換

前言:項目中遇到了一個問題,Android手機和硬件建立Socket通信,當手機批量發送數據時,發送頻率高於單片機接收報文進入中斷處理的頻率,導致硬件處理不過來。解決的方法是將原先的String類型的大量報文包含的信息,簡化成一條

原创 Android GUI 單線程消息隊列機制 —— 多線程GUI工具箱:一個破碎的夢

前言:Android、Swing、MFC等的GUI庫都採用了單線程消息隊列機制來處理繪製界面、事件響應等消息《GUI爲什麼不設計多線程》,文章中提到了負責Swing開發的一個大師的一篇博客《Multithreaded toolki

原创 Android OTG (USB Hos) 編程

前言:最近在做一個汽車發動機故障檢測的項目,負責APP開發。汽車發動機將各種數據通過OTG傳輸到Android手機,APP可以實時顯示數據。 一、權限 1. 聲明支持USB Hos模式 在AndroidManifest中聲明該

原创 Android: 調用LayoutInflater方法時warning和exception

前言:Layout Inflation的作用正如inflate字面意思表示的一樣:膨脹,充氣。將XML文件轉換成View結構對象。在繪製界面時,經常會出現以下幾類問題,總的來說,還是因爲對Android的View結構和Layout

原创 Android 平臺上的 ARP 和 ARP欺騙

前言:想要做的功能是在Android某個應用中加入arp,使Android手機和指定MAC的設備進行Socket連接前,能夠向路由請求獲得該MAC對應IP,前提是手機和設備在同一局域網下。寫一篇非常詳細的學習Android平臺上的

原创 Mac上配置Gradle

安裝Android Studio並且新建Hello World程序時,grade就自動安裝到了Android Studio上,但是這時的gradle版本是2.4,並且沒有配置到系統環境變量中。想使用最新版本,並且可以在Consol

原创 android.graphics.path的侷限

前言: 用戶需求使得應用必須通過Socket InputStream快速接收大約800K的數據,並將800K數據分成7個數組繪製成折線圖顯示在界面上。界面卡頓,各種警告、GC、skip frames……泡在Stack Overfl