Android多線程研究(7)Java5中的線程並發庫

從這一篇開始我們將看看Java 5之後給我們添加的新的對線程操作的API,首先看看api文檔:java.util.concurrent包含許多安全執行緒、測試良好、高效能的並發構建塊,我們先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger; public class AtomicIntegerTest { private static AtomicInteger data =

Android多線程研究(5)線程之間共用資料

一、如果是每個線程都執行相同的代碼,則可以使用同一個Runnable來實現共用public class MultiThreadShareData { public static void main(String[] args) { new Thread(new ShareData()).start(); new Thread(new ShareData()).start(); } static class

Android多線程研究(3)線程同步和互斥及死結

為什麼會有線程同步的概念呢?為什麼要同步?什麼是線程同步?先看一段代碼:package com.maso.test; public class ThreadTest2 implements Runnable{ private TestObj testObj = new TestObj(); public static void main(String[] args) { ThreadTest2 tt = new

Android實現帶進度條的WebView

如果不使用系統內建的TitleBar(即Activity被設定@android:style/Theme.NoTitleBar),那就需要自己來寫進度條了,這裡封裝了一個自訂控制項和載入網頁的公用Activity,方便使用。一、截圖 二、自訂控制項/** * 帶進度條的WebView * @author 農民伯伯 * @see http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html * */@SuppressWarnings(

Android中使用SearchView時軟鍵盤不支援actionSearch的問題

變態問題常有,今年特別多,,, - - # 今天遇到的這個非處理不可,不然沒法在HTC One S使用SearchView,其軟鍵盤不支援action設定。問題裝置:HTC One Ssearchable.xml<searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/search_label"

Android異常:The specified child already has a parent.

【Android異常】The specified child already has a parent. You must call removeView() on the child's parent first.錯誤資訊:Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent

Android中不依賴焦點和選中的TextView跑馬燈

承TextView,並仿照源碼修改而來,主要是取消了焦點和選中了判斷,也不依賴文本的寬度。import java.lang.ref.WeakReference; import android.content.Context;import android.graphics.Canvas;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;import

Android:友盟的自動更新組件

又好又專業的服務能幫開發人員省很多時間。一開始做項目也準備自己來統計資料、自己做自動更新,隨著使用友盟服務的時間增加,漸漸放棄了這種想法,轉而研究如何更充分的使用,這裡分享一下使用自動更新組件的心得。一、缺少res導致不能升級的問題由於缺少瞭解,官網文檔也沒用提醒,僅僅拷貝了SDK的jar到工程裡,一直不知道到底升級功能是否已經實現,關鍵是也不報錯!今天又拿出來測試了一下,監聽了一下UmengUpdateListener介面,發現用戶端已經檢測到了更新,但是沒用彈出更新的對話方塊,然後就注意到了

Android:Fragment真正意義上的onResume和onPause

前言Fragment雖然有onResume和onPause的,但是這兩個方法是Activity的方法,調用時機也是與Activity相同,和ViewPager搭配使用這個方法就很雞肋了,根本不是你想要的效果,這裡介紹一種方法。繼承setUserVisibleHint方法:@Override public void setUserVisibleHint(boolean isVisibleToUser) {

做Android 系統/應用開發需要掌握自動化測試知識

接觸Andorid有幾個月了,一直認為做系統,應用開發根本不需要懂 Android自動化測試之道,認為那都是測試人員需要掌握的東西,我們只要懂開發,只要讀懂系統,根據客戶的需求可以做相應的更改就可以了,只要熟悉了 API,寫出的應用可以實現某功能就可以了。其實不是的。舉個例子說,我們偉大的客戶,瘋狂地更換硬體設定,那麼我們的驅動就跟著來回換,相關功能的c實現也要換,上層java對應稍作修改,碰上膩歪點的客戶提出膩歪的需求,那麼只有Good Luck了……幸運的整完了,

android視窗管理架構簡介

視窗管理是android的一個核心內容。它管理著視窗的建立和銷毀,布局和大小,焦點的控制等等。視窗可以分為兩類:一種是應用視窗,即由具體應用建立的視窗,其實其中還可以細分出父視窗和子視窗。視窗一般都會對應一個activity。一種是系統視窗,如狀態列,這類視窗由系統直接通過windowManager來建立,和activity無關。在這裡,視窗的概念其實可以說由三部分構成,一部分是用來描述視窗資訊的,由WindowState對象表示。一個WindowState對象對應一個視窗,它擁有繪製視窗所需要

Android Contacts(一) 讀取連絡人

Introduction To Android ContactsLearn to work with the Android contacts database. Basic knowledge of accessing SQLite in Android along with using Cursors is expected. See the Android SQLite and Cursor Article for more information. Google changed the

Android如何防止apk程式被反編譯

作為Android應用開發人員,不得不面對一個尷尬的局面,就是自己辛辛苦苦開發的應用可以被別人很輕易的就反編譯出來。Google似乎也發現了這個問題,從SDK2.3開始我們可以看到在android-sdk-windows\tools\下面多了一個proguard檔案夾proguard是一個java代碼混淆的工具,通過proguard,別人即使反編譯你的apk包,也只會看到一些讓人很難看懂的代碼,從

使用Mina架構開發QQ Android 用戶端(3) 登陸功能的實現

在部落格中有登陸介面的文章http://blog.csdn.net/vestigge/article/details/8124674就不在重複了,直接看登陸的代碼,用Mina傳遞字串上節已經看過了,要實現傳遞對象,也非常簡單,只需要修改一下過濾器:chain.addLast("codec", new ProtocolCodecFilter(new

Android GUI系統之SurfaceFlinger(17) handleRepaint

1.1.1 handleRepaint經過handleTransaction和handlePageFlip等步驟的準備工作後,現在可以合成各圖層資料了。void SurfaceFlinger::handleRepaint(){…mSwapRegion.orSelf(mDirtyRegion);   const DisplayHardware&hw(graphicPlane(0).displayHardware()); 

Android GUI系統之SurfaceFlinger(16) handleRefresh

1.1.1 handleRefresh從名稱上看,這個函數處理“重新整理”。經過比對新老版本的差異,我們覺得這個地方應該是老版本遺留下來的“廢料”。換句話說,它對MessageQueue::REFRESH事件的處理沒有起到作用。void SurfaceFlinger::handleRefresh(){bool needInvalidate =false;const

Android GUI系統之SurfaceFlinger(13) VSync訊號的處理

1.1.1 VSync訊號的處理經過上一小節的分析,現在我們已經明白了系統是如何通過硬體裝置或者軟體類比來產生VSync訊號的,也明白了它的流轉過程。VSync最終會被EventThread::threadLoop()分發給各監聽者,在目前的版本中是MessageQueue。MessageQueue通過與EventThread建立一個Connection來監聽事件,簡圖如下:圖 11?35 Connection代表了EventThread和對事件感興趣的對象的串連對VSYNC等事件感興趣的對象,

Android GUI系統之SurfaceFlinger(4)

opengl es本地視窗SurfaceTextureClient1.1.1 SurfaceTextureClient針對應用程式端的本地視窗是SurfaceTextureClient,和FramebufferNativeWindow一樣,它必須繼承ANativeWindow:class SurfaceTextureClient   : publicANativeObjectBase<ANativeWindow,

Android GUI系統之SurfaceFlinger(3)

Android中的本地視窗FramebufferNativewindow 1.1 Android中的本地視窗在OpenGL的學習過程中,我們不斷提及“本地視窗”(NativeWindow)這一概念。那麼對於Android系統來說,它是如何將OpenGL

Android 4.3將支援更多緩衝區對象

Google已經開始秘密測試Android 4.3了,這似乎暗示即將開幕的I/O開發人員大會上,我們將看不到Android 5.0的身影了?HTC的工程師透露,Android 4.3將會加入Bluetooth Low

總頁數: 2771 1 .... 1571 1572 1573 1574 1575 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.