Time of Update: 2017-01-19
1、完整生命週期上圖是Android
Time of Update: 2017-01-19
本文較為深入的分析了android中UI主線程與子線程。分享給大家供大家參考。具體如下:在一個Android 程式開始啟動並執行時候,會單獨啟動一個Process。預設的情況下,所有這個程式中的Activity或者Service(Service和 Activity只是Android提供的Components中的兩種,除此之外還有Content Provider和Broadcast Receiver)都會跑在這個Process。一個Android
Time of Update: 2017-01-19
本文執行個體講述了Android實現點擊AlertDialog上按鈕時不關閉對話方塊的方法。分享給大家供大家參考。具體如下:開發過程中,有時候會有這樣的需求:點擊某個按鈕之後顯示一個對話方塊,對話方塊上面有一個輸入框,並且有“確認”和“取消”兩個按鈕。當使用者點擊確認按鈕時,需要對輸入框的內容進行判斷。如果內容為空白則不關閉對話方塊,並toast提示。使用AlertDialog.Builder建立對話方塊時,可以使用builder.setNegativeButton和builder.setPos
Time of Update: 2017-01-19
本文執行個體講述了Android擷取手機螢幕寬高、狀態列高度以及字串寬高資訊的方法。分享給大家供大家參考。具體如下:首先定義TextView對象commentText擷取文字的寬高:TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);textPaint.setTextSize(commentText.getTextSize());textPaint.setColor(Color.WHITE);FontMetrics
Time of Update: 2017-01-19
本文執行個體講述了android自由改變Dialog視窗位置的方法。分享給大家供大家參考。具體如下:Dialog dialog = new Dialog(this);dialog.setContentView(R.layout.dialog_layout);dialog.setTitle("Custom Dialog"); //獲得當前表單Window window = dialog.getWindow();//重新設定WindowManager.LayoutParams lp =
Time of Update: 2017-01-19
前言相信很多朋友在開發中都會遇到圖片上傳的情況,尤其是多圖上傳,最經典的莫過於微信的圖片選擇了。所有很多情況下會使用到多圖選擇,所以就有了這篇文章,今天抽點時間寫了個控制項。 •支援自訂選擇圖片的樣式 •支援設定圖片選擇數量 •支援圖片預覽,刪除 •支援圖片拍照 先來看看效果實現分析假如不定義控制項,我們要實現這樣一個功能,無非是寫個GridView在item點擊的時候去顯示圖片進行選擇,在返回介面
Time of Update: 2017-01-19
Android提供了很多控制項便於開發人員進行UI相關的程式設計。但是很多時候,預設的一些UI設定不足以滿足我們的需求,要麼不好看,要麼高度不夠,亦或者是與應用介面不協調。於是這時候需要通過自訂樣式或者自訂控制項來實現。當然,在空間足以滿足需求的情況下,通常需要定義樣式就可以搞定。本文將簡單介紹如何通過自訂樣式來實現定義Window Title。先看一下效果圖逐步實現在res/values/styles.xml檔案中加入下列代碼複製代碼 代碼如下:<style
Time of Update: 2017-01-19
本文執行個體講述了Android基於TextView屬性android:ellipsize實現跑馬燈效果的方法。分享給大家供大家參考,具體如下:Android系統中TextView實現跑馬燈效果,必須具備以下幾個條件:1、android:ellipsize="marquee"2、TextView必須單行顯示,即內容必須超出TextView大小3、TextView要獲得焦點才能滾動XML代碼:android:ellipsize="marquee",android:singleLine="true"
Time of Update: 2017-01-19
前言作為 Android 開發人員,想必多多少少要接觸啟動速度最佳化相關的事情,當使用者越來越多,產品的功能也隨著迭代越來越多,App 逐漸層得臃腫是一件很常見的現象,甚至可以說是不可避免的現象,隨之而來的工作就是最佳化 App 效能,其中最主要的一項就是啟動速度最佳化。但本文的主角並不是啟動速度最佳化,而是啟動時間統計。一、啟動類型工欲善其事,必先利其器。想要最佳化 App 的啟動速度,必須有準確衡量啟動時間的方法,否則最佳化完之後效果怎樣,自己都不知道,說出去別人也不信服不是。在做 App
Time of Update: 2017-01-19
本文執行個體講述了Android簡單記錄和恢複ListView滾動位置的方法。分享給大家供大家參考,具體如下:有時候我們需要記錄當前ListView滾動到的位置,重新載入的時候要回到原位,不羅嗦,給出代碼://列表滾動private OnScrollListener ScrollLis = new OnScrollListener() { @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3
Time of Update: 2017-01-19
Android Service 詳細介紹:1、Service的概念 2、Service的生命週期
Time of Update: 2017-01-19
AVD的全稱為:Android Virtual Device,就是Android啟動並執行虛擬設備,他是Android的模擬器識別。建立的Android要運行,必須建立AVD,每個AVD上可以配置很多的運行項目。建立AVD的方法有兩種。一是通過eclipse開發環境,二是通過命令列建立。1.1版本的emulator在設定好環境變數後,直接在命令列中輸入 emulator就可以啟動了,但是1.5版本中加了個所謂的AVD(Android Virtual Device),AVD就相當於是一個模擬器的,
Time of Update: 2017-01-19
本文介紹了如何使用緩衝來提高UI的載入輸入和滑動的流暢性。使用記憶體緩衝、使用磁碟緩衝、處理配置改變事件等方法將會有效解決這個問題。在您的UI中顯示單個圖片是非常簡單的,如果您需要一次顯示很多圖片就有點複雜了。在很多情況下(例如使用 ListView, GridView 或者 ViewPager控制項),顯示在螢幕上的圖片以及即將顯示在螢幕上的圖片數量是非常大的(例如在圖庫中瀏覽大量圖片)。在這些控制項中,當一個子控制項不顯示的時候,系統會重用該控制項來迴圈顯示
Time of Update: 2017-01-19
記得在2013年12月的時候,有系列文章是介紹怎麼開發一個智能手錶的App,讓使用者可以在足球比賽中記錄停表時間。隨著Android Wear的問世,在穿戴式裝置中開發一款這樣的App確實是個很不錯的想法,但是按照目前對於Android Wear的架構瞭解來說,似乎有些困難。所以本系列文章我們就重寫這個應用,帶領大家進入Android
Time of Update: 2017-01-19
本文執行個體講述了Android使用WebView播放flash及判斷是否安裝flash外掛程式的方法。分享給大家供大家參考。具體實現方法如下:一、問題:最近幫一個同學做一個項目,斷斷續續的一些知識點記錄一下。一個頁面中有一個WebView,用來播放swf,如果系統中未安裝flash外掛程式,必須提示使用者到market中安裝。二、解決方案:下面做一個demo,效果圖如下:圖1:圖2:圖3:首先布局檔案,很簡單:複製代碼 代碼如下:<RelativeLayout
Time of Update: 2017-01-19
在使用eclipse進行安卓java的編程的時候,有時候我們會遇到這樣的問題:那就是無故彈出aapt.exe停止工作的提示,雖然程式不會崩潰,但是這個提示經常彈出很是煩人。今天,小編就來教大家aapt.exe停止工作如何解決android異常——aapt.exe已停止工作在android開發時,當build項目時,發生如下異常:aapt.exe已停止工作,其他無任何錯誤提示,發生這個錯誤一般是資源檔或是xml檔案中有錯誤造成的。解決方案:clean一下,可以發現console中會有錯誤提示,然後
Time of Update: 2017-01-19
在Android中通常用MediaPlayer來播放一些媒體檔案,對於音頻檔案來說只需直接使用MeidaPlayer結合幾句代碼即可,但是對於視頻檔案來說稍微複雜一些。單獨的MediaPlayer只能播放音頻檔案,要想播放視頻還需要SurfaceView來配合顯示畫面。而對於SurfacView而言,在Android中採用了顯示與控制分離機制,即SurfaceView只是負責顯示畫面,而不負責控制視頻流,因此還需要SurfaceHolder來控制視頻流。關鍵代碼如下:複製代碼
Time of Update: 2017-01-19
1.檢查系統總記憶體複製代碼 代碼如下:liuhx@uc ~ $ adb shell cat /proc/meminfoMemTotal: 840868 kBMemFree: 457344 kBBuffers: &
Time of Update: 2017-01-19
看見網上一些回調的解釋都很複雜的,特別基於Android的自訂回調,感覺一頭霧水,於是乎,我也寫了這篇基於我對回調的解釋。先來看一個簡單的例子:有兩個類 ClassA ,和 ClassB, ClassA調用ClassB裡面的方法,public class ClassB { public void method_from_classB(){ for(int i=0;i<10;i++) System.out.print("..."+i); }}public
Time of Update: 2017-01-19
方法1:使用內部APIs該方法和其他所有內部沒有向外正式公布的APIs一樣存在它自己的風險。原理是通過獲得WindowManager的一個執行個體來訪問injectKeyEvent/injectPointerEvent這兩個事件注入方法。複製代碼 代碼如下:IBinder wmbinder = ServiceManager.getService( "window" ); IWindowManager m_WndManager = IWindowManager.Stub.asInterface(