發表文章

【 Android 】Studio 編譯錯誤(非法字符: \65279)

在轉換code到studio的時候,遇到一個錯誤如下範例: java: F:\android\Lock_QinZDLock\src\com\qin\lock\SliderRelativeLayout.java:1:  illegal character   \65279 解決方式:使用Notpad++打開有問題的檔案,然後將這個檔案編碼選擇成無BOM的UTF-8碼來表示字節順序,但可以用BOM來表明編碼方式;然後再將檔案重新放回專案裡就可以編譯過了。 參考來源: http://blog.csdn.net/shixing_11/article/details/6976900

【 Android 】Eclipse 轉 Studio 使用 jar、so及第三方的開源庫

圖片
在專案上遇到一個轉換後UnsatisfiedLinkError的問題 就是在eclipse上開發完的專案有包含一個外部的so檔,原本eclipse上開發是沒問題的,但轉換成studio後卻發生找不到so檔的問題(如下):     java.lang.UnsatisfiedLinkError: Couldn't load ov780wifi from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.hw.wificamhd-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.hw.wificamhd-2, /vendor/lib, /system/lib]]]: findLibrary returned null 會出現這個問題最主要的就是在eclipse在export後的"gradle"目前還不支持.so檔打包入apk,所以就會出現程式在run的時候出錯。 目前解決方式如下: 1. 先在裝置任何一處建立一個空的資料夾,名稱叫"lib" (不是"libs") 2. 再把原在在libs下的armeabi資料夾複製到剛建立的lib資料夾內(連同armeabi資料夾裡的.so檔也會一併複製) 3. 再將"lib"這個資料夾壓縮成 .zip檔,並將檔名和副檔名改為"armeabi.jar" 4. 將"armeabi.jar"放入原來的libs目錄下 以上操作即可解決上述的問題。

APP開發成本參考

開發一款合格的 app,成本是多少? 【創業揭秘】一款App的開發成本是多少? 要花多少錢才能開發一個好的iPhone App?以Twitterrific為例 How Much to Make an APP?   此網站借由一些步驟來計算一個app需要多少錢。 寫一個iphoneipad-app要花多少錢? 以上都是網路上分享的文章,可以供大家參考!!

【 Android 】EditText 鍵盤設定

圖片
通當EditText在輸入時,enter鍵預設為換行,不過通常換行不是第一個選項,那要如何設定成其他動作呢? 一、在layout上加入andorid:imeoption屬性,並且設為單行 < EditText     android:id = "@+id/sysName"     android:layout_width = "match_parent"     android:layout_height = "wrap_content"     android:imeOptions = "actionDone"       android:singleLine = "true"     android:text = "System Name" /> 二、並在EditText加入事件去偵測action down動作 sysName . setOnEditorActionListener ( new OnEditorActionListener () { @Override public boolean onEditorAction( TextView v , int actionId , KeyEvent event ) { if ( actionId == EditorInfo . IME_ACTION_DONE ) { sysName . setCursorVisible ( false ) ; } return false ;      } }) ; 三、enter鍵可以設定的動作如下: 參考來源: Google Developer

【 Android 】float / double 計算失去精度

圖片
今天在數值運算的時候,發現一個問題: getValue = 1619; seekbarInvalue = getValue * 0.01 ; seekbarInvalue += 0.1 ; 運算出來的結果是: 為什麼浮點數會失去精度? A: 二進制表示可能不夠精確,浮點數值沒辦法用十進制來精確表示的原因可能是cpu表示的浮點數的方法,若是這樣就需要在運算的時候犧牲一些精度; 例如2.4的二進制表示並非是2.4,而是最接近的表示是 2.3999999999999999。 您可以使用Binary Coded Decimal (BCD)来保持精度。BCD數字編碼方法會把每一个十進制數字單獨編碼; BCD碼的主要優點是在機器格式與人可讀的格式之間轉換容易,以及十進制數值的高精度表示。BCD碼的主要缺點是增加了實現算術運算的電路的複雜度,以及儲存效率低。 而在android裡有以下方法可以運算浮點數: 1.  Math . round ( value * 100 ) / 100.0;   // 返回x最接近的整数,如果x的小数部分大于等于0.5,返回值是大于x的最小整数,否则round函数返回小于等于x的最大整数 2.  Math . floor ( seekbarInvalue * 100 ) / 100.0;  // Math.floor()方法會傳回小於或等於給定數值(輸入參數)的最大整數。 3.  DecimalFormat df = new DecimalFormat ( "#0.00" ) ;    double Value = new Double ( df . format ( value )) ; // DecimalFormat用法 4. 使用 math.BigDecimal 的運算是精度較高的方式,並且一定要轉作string /**      * 提供精确的加法运算。      * @param v1 被加数      * @param v2 加数   ...

臍帶血

由於自已的寶寶快要出生了,而有長輩建議我們去儲存臍帶血,但由於目前儲存臍帶血的話題非常新穎和熱門,但我相信大部份的家長還是會搞不清楚是否儲存臍帶血,儲存臍帶血要幹嘛?儲存了是否真的有用? ; 我自已也是這一部份的家長,所以利用了一點點的時間上網爬了一下文章,在這裡與大家分享一下, 如果有錯誤再請大家不吝指教,非常感謝 。 一、何謂臍帶血?          嬰兒出生後留在胎盤與臍帶靜脈的血,即為臍帶血 。傳統上胎盤在生產完後立即丟棄。 二、為何要儲存臍帶血?         臍帶血富含「零歲」的「幹細胞」,幹細胞是一種介於胚胎細胞和分化細胞的中間細胞,是一群未分化的細胞,具有再生新細胞及分化特定的組織器官的能力 ,於是具有無限制的分裂能力,可分化成特定組織 。 如同骨髓一樣,臍帶血中含有豐富且是最接近胚胎的幹細胞,稱為造血幹細胞。它能製造人體血液、骨髓與免疫系統內的主要成分。       臍帶血造血幹細胞可以用來治療白血病、淋巴瘤、地中海型貧血、黏多醣症、血液再生不良、先天性免疫不全及自體免疫疾病,也可以在癌症化學治療或放射線治療後,幫助病人造血系統的再生。間質幹細胞具有分化成脂肪、軟骨細胞、硬骨細胞、星形細胞、肌腱細胞、造血細胞支持基質、骨骼肌細胞、平滑肌細胞、心肌細胞、神經細胞及神經膠質細胞的功能,因此臍帶血具有造血功能和修補組織的用途。 三、到底需不需要儲存臍帶血?         臍帶血儲存的用途,一直有「自存自用」或「互助醫療」等不一的看法,  但是 據美國紐約捐血中心的估計,新生兒將來需要用到自己臍帶血的機率是1/10000,而美國國家衛生研究院估計自存自用的比率只有1/20000 。目前全世界已有200家公私立的臍帶血庫,非親屬間的臍帶血移植超過數千例,手足間的臍帶血移植也有數百例,自體移植機率更是小,如果成年人需要臍帶血移植,現今會面臨臍帶血量不足的問題,需合併使用他人的臍帶血。        目前台灣3個公益性質的臍帶血庫,累計的臍帶血達17400袋。而發展較早的日本的臍帶血庫有11家,完成4000例臍帶血移植,同時對臍...

【 Android 】GridLayout

圖片
繼上篇 Grid View 之後,順便測試一下android 4.0以上才有的grid layout,這裡也拿計算機的 鍵盤來當排版練習: 一、首先先建立gridlayout < GridLayout xmlns:android = "http://schemas.android.com/apk/res/android"     xmlns:tools = "http://schemas.android.com/tools"     android:layout_width = "wrap_content"     android:layout_height = "wrap_content"     android:layout_gravity = "center"     android:columnCount = "4"     android:orientation = "horizontal" > 這裡指定為"4列",並且是水平排列 二、接下來就將每個按鍵按順序排列出來 ,這裡需注意元件排列的順序,是按照順序排列的,跟linearlayout的用法是一樣的。      < Button         android:layout_width = "wrap_content"         android:layout_height = "wrap_content"         android:text = "1" />     < Button         android:layout_width = "wrap_content"         android:layout_height = "wrap_content"       ...