1. 程式人生 > >Android開發記錄

Android開發記錄

1.ImageView的圖片自適應拉伸,但出現上下或左右空白時,新增android:adjustViewBounds="true"

2.GestureDetector,旨在將傳遞給View/ViewGroup的OnTouchEvent處理的觸控事件,有效地轉換為scroll、fling等具有行為意義的二次事件,並在起響應方法中實現。只需要在View/ViewGroup的OnTouchEvent方法中,直接return gestureDetector.OnTouchEvent(ev),將ev訊息傳遞給gestureDectector間接處理。

3.統佈局相關檔案,存放路徑:..\androidsdk\platforms\android-7\data\res\layout

4.Service在任何Thread啟動(startService(intent)),它都同時有一個例項(同一個ID),當其stopService方法銷燬後,再次啟動,才會有一個新的例項產生。Service符合單例模式。Service預設和申明它的應用程式使用同一個程序並且執行在主執行緒中,因此如果你的Service比較耗時的話,那麼這個Service會影響到應用的使用者響應效能。為避免這種現象,你應用在Service中建立新執行緒。

5.多執行緒開發過程中,經常會用到ThreadPool的概念。Android的API中一般使用Excutor或ExcutorService介面的實現類快速實現ThreadPool的管理控制,Excutors內部方法可以建立Excutor或ExcutorService的實現物件。另外,常用的非同步任務類AsyncTask也是由Excutor去控制任務池(也是ThreadPool),它使用的是SerialExcutor。

6.Thread可執行Runnable和Callable,兩者的區別在於Runnable無非同步返回結果,而Callable有非同步返回結果Future<T>,且需要Thread.submit方法執行。

7.橫豎屏的切換可以利用setRequestOrientation方法,但每次切換屏會預設銷燬原來的Activity,Activity會呼叫兩次onCreate。如果Activity內有Fragment,會導致Fragment完整呼叫兩次onCreateView,會可能導致某種異常。避免的方法是,在AndroidManifest.xml中相應的activity新增android:configChanges="keyboardHidden|orientation",這樣Activity在切換螢幕時就不會銷燬。然而,其中的fragment仍然有2次呼叫onCreateView,解決方法是用getActivity().getRequestedOrientation()判斷螢幕方向然後return null。

8.編寫layout xml檔案時,如果發現所寫標籤屬性與其預想不符(例如LinearLayout的divider),可檢查Androidmanifest.xml中<application>標籤下的theme屬性是否使用了系統指定的風格,這將影響很多預設的屬性表現。

9.WebService實際上是基於soap協議的http post操作,android用ksoap2包有webservice的相關操作類。

10.Fragment.getActivity()在父Activity被系統回收的情況下回返回null,屬於系統級BUG,一般需要額外處理。

11.同步程式碼塊,可使用synchronized(object)或Lock物件的方式進行

12.View的Canvas物件,總是在measure之後被確定大小,如果利用其canvas繪製任何內容,都不能超出該canvas範圍,否則繪製無效

13.用Canvas繪製NinePathDrawable的時候,如果發現繪製出來的.9png透明的地方變黑,那麼很可能是和繪製時呼叫的Paint物件的PorterDuff.Mode有關

14.如果希望用View.setEnabled()或XML中android:enabled屬性設定View在Enabled不同情況下的互動樣式,那麼應該可以用Button而不是ImageView等

相關推薦

【Linux/Android開發記錄】學習、記錄、分享Linux/Android開發技術

專欄達人 授予成功建立個人部落格專欄

Linux/Android開發記錄

ftrace官方文件在kernel/Documentation/trace/ftrace.txt檔案中。 使用ftrace介面之前,如果系統沒有自動掛載debugfs檔案系統,則要先手動掛載。 # mount -t debugfs nodev /sys/kernel/de

Android開發記錄

1.ImageView的圖片自適應拉伸,但出現上下或左右空白時,新增android:adjustViewBounds="true" 2.GestureDetector,旨在將傳遞給View/ViewGroup的OnTouchEvent處理的觸控事件,有效地轉換為scrol

android開發記錄2013-8-21

這是我的第一篇部落格,感覺學android開發有一段時間了,作為一個菜鳥,一路走來,可謂是坎坷不斷,喜悅和淚水都自己一個人品嚐,總感覺應該讓自己的生活留下點痕跡,於是就有了這篇部落格。後續的部落格將主要記錄每天開發遇到的問題及解決方案,當然,遇到生活中好玩的、或感觸深的,我

Android開發】找樂,一個笑話App的制作過程記錄

override pbo rdm data root 恰恰 功能 sql htm 緣起 想做一個笑話App的原因是由於在知乎上看過一個帖子。做Android能夠有哪些數據能夠練手,裏面推薦了幾個數據開放平臺。在這些平臺中無一不是有公共的笑話接口,當時心

Android開發問題記錄

ren 說明 platform 替代 mbo 內斂函數 android開發 解決方法 led 1.升級NDK10後在Android4.0以下機型運行報錯failed:cannot locate symbol "atof"referenced by ‘xxxxx.so‘   

[Android開發] Android Studio問題以及解決記錄

bool found contex -i 設置 o-c mave expect andro http://blog.csdn.net/niubitianping/article/details/51400721 1、真機運行報錯Multi dex requires Buil

尋找bug並消滅系列——記錄Android開發所遇到的bug(一)

ont 屬性 XML android oid content 事件監聽器 監聽 設置 之前使用了Android Studio的插件直接為button綁定了監聽器,並實現onClick方法(我的onClick方法無論點擊哪一個都是要實現setcontentview這個方法設置

尋找bug並消滅系列——記錄Android開發所遇到的bug(二)

col blog 出現 sql數據庫 默認值 資料 獲取 新建 圖片大小 bug 1:     bug描述:     無法成功地將edittext中的內容傳入數據庫中   bug動圖:      經過:     最近寫了個項目,項目要使用到SQL數據

記錄Android開發一個小坑,佈局檔案TextView中新增onClick後,點選無效問題

自己寫東西的時候,在TextView上添加了onClick去增加點選事件,去跳轉另一個Activity,執行後結果點選無效,新增Toast,Toast也不顯示,程式碼如下: <TextView android:layout_width="wrap_content"

android 開發 歷程記錄

https://developer.android.google.cn/index.html  安卓谷歌中文開發平臺 https://segmentfault.com/a/1190000005871376  常用開發工具 adb shell dumpsys activit

記錄Android開發大牛博客,獻給那些Android開發路上學習的人

smi href android開發 www any don use sim androi 羅升陽 :https://blog.csdn.net/Luoshengyang鄧凡平 :https://blog.csdn.net/innost魏祝林:https://blog.cs

記錄Android開發常用框架

目前比較流行的開發方式組合:RxJava+Retrofit+MVP,這個可以看看下面這個使用https://github.com/youxin11544/MVP-RxJava-Hybride;https://github.com/ReactiveX/RxJavahttps://github.com/

記錄Android開發過程中遇到的問題。

01-20 04:05:16.637:E / AndroidRuntime(1372):程序:com.jetsun.hbfc:webview,PID:1372 01-20 04:05:16.637:E / AndroidRuntime(1372):java.lang.RuntimeException :無法例

android開發 獲取logcat日誌並記錄(方便離線除錯)

案例:當我們的軟體安裝在手機上的時候,或許還需要知道整個軟體執行的情況,那麼我們就需要一種把軟體執行的狀況記錄下來,儲存在某個地方(本地檔案,以下就是解決方法 直接上程式碼: package com.ifeng.fhdt.service;  import java.io.BufferedReader; 

記錄Android開發中使用HorizontalScrollView的坑

前言 對於Android中的HorizontalScrollView控制元件,第一感覺是不怎麼熟悉的,在以往的專案開發基本沒有使用到. 橫向的滾動佈局也可以使用RecyclerView控制元件,所以HorizontalScrollView的使用頻率確實不高.

Android開發小問題記錄

1. http://www.cnblogs.com/beginor/archive/2013/01/13/2858228.html 使用 Intel HAXM 為 Android 模擬器加速,媲美真機 下載並安裝 Intel HAXM 擴充套件 啟動 Android SDK

android開發記憶體溢位處理記錄

在Android開發中,記憶體洩漏是比較常見的問題,有過一些Android程式設計經歷的童鞋應該都遇到過,但為什麼會出現記憶體洩漏呢?記憶體洩漏又有什麼影響呢? 在Android程式開發中,當一個物件已經不需要再使用了,本該被回收時,而另外一個正在使用的物件持有它的引用從而導致它不能被回收,

Android開發問題點記錄

1、AndroidManifest.xml檔案中android:theme="@android:style/Theme.Translucent"作用:如果在一個Activity中彈出一個非全屏的Activity,這個設定必要,去掉後導致背景為黑色 2、Edit設定全選後仍然

Android開發效能優化(記錄、自用)

雖然做Android開發已經有一段時間了,但是開發過程中經常是忙著實現功能,卻忽略了效能上的優化。以下都是來自於各位前輩的總結。特此總結記錄一下。  一、Android效能優化之佈局優化技巧 佈局優化就是用最少的view實現一樣的效果layout。最少的view也就是