Get Paid To Promote, Get Paid To Popup, Get Paid Display Banner

Thursday, July 29, 2010

Compaq Presario CQ60-219TU Windows XP Driver

CHIPSET:
Compaq Presario CQ60-219TU Chipset XP Driver
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

GRAPHIC:
Compaq Presario CQ60-219TU Graphic XP Driver
=====================
If you have Nvidia Graphic
NVIDIA GeForce 9200M GE Graphics Driver:
Download

if you have intel graphic:
Mobile Intel 4 Series Express Chipset Family Graphics Driver (32-bit)
Download (mediafire)
==========================


AUDIO:
Compaq Presario CQ60-219TU AUDIO XP Driver AND INSTALLATION GUIDE
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

after download , install MS-UAA, restart then download and install the following
Both Conexant Audio & Modem Driver:
Download (mediafire)
or
Download (rapidshare)
or
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP


WIRELESS:
Compaq Presario CQ60-219TU Wireless XP Driver
=======================
If you have intel wireless
Intel: Download
(requires windows installer 3.0 installed first)

If you have Atheros wireless
Wireless Atheros AR5009:
Download

If you have Broadcom Wireless
Broadcom: Download
========================

BLUETOOTH
Compaq Presario CQ60-219TU Bluetooth XP Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

HP Wireless Assitant:
Download

CARD READER:
Compaq Presario CQ60-219TU Card Reader XP Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

ETHERNET:
Compaq Presario CQ60-219TU LAN/Ethernet XP Driver
Realtek RTL8101E Family PCI-E Fast Ethernet NIC
Download

WEBCAM:
Compaq Presario CQ60-219TU Webcam/Camera XP Driver
(Automatically installed)
if not here is the drivers: Download

Net framework 2.0
(require before Quicklauch)
Download

BUTTON DRIVER
Compaq Presario CQ60 Quicklaunch XP Driver
HP Quick Launch Buttons
Download

TOUCHPAD
Compaq Presario CQ60 Touchpad XP Driver
Download

LIGHTSCRIBE
Compaq Presario CQ60 lightscribe software
Lightscribe system software
Download

Compaq Presario CQ60-140AD Windows XP Driver

CHIPSET:
Compaq Presario CQ60-140AD Chipset XP Driver
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

GRAPHIC:
Compaq Presario CQ60-140AD Graphic XP Driver
=====================
If you have Nvidia Graphic
NVIDIA GeForce 9200M GE Graphics Driver:
Download

if you have intel graphic:
Mobile Intel 4 Series Express Chipset Family Graphics Driver (32-bit)
Download (mediafire)
==========================


AUDIO:
Compaq Presario CQ60-140AD AUDIO XP Driver AND INSTALLATION GUIDE
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

after download , install MS-UAA, restart then download and install the following
Both Conexant Audio & Modem Driver:
Download (mediafire)
or
Download (rapidshare)
or
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP


WIRELESS:
Compaq Presario CQ60-140AD Wireless XP Driver
=======================
If you have intel wireless
Intel: Download
(requires windows installer 3.0 installed first)

If you have Atheros wireless
Wireless Atheros AR5009:
Download

If you have Broadcom Wireless
Broadcom: Download
========================

BLUETOOTH
Compaq Presario CQ60-140AD Bluetooth XP Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

HP Wireless Assitant:
Download

CARD READER:
Compaq Presario CQ60-140AD Card Reader XP Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

ETHERNET:
Compaq Presario CQ60-140AD LAN/Ethernet XP Driver
Realtek RTL8101E Family PCI-E Fast Ethernet NIC
Download

WEBCAM:
Compaq Presario CQ60-140AD Webcam/Camera XP Driver
(Automatically installed)
if not here is the drivers: Download

Net framework 2.0
(require before Quicklauch)
Download

BUTTON DRIVER
Compaq Presario CQ60 Quicklaunch XP Driver
HP Quick Launch Buttons
Download

TOUCHPAD
Compaq Presario CQ60 Touchpad XP Driver
Download

LIGHTSCRIBE
Compaq Presario CQ60 lightscribe software
Lightscribe system software
Download

Compaq Presario CQ60-410SA Windows XP Driver

 NOTE:
1. Please Install according to order given:
2.Note that the ETHERNET is installed along with the Chipset driver  installation.

Net framework 2.0
Download 

Nvidia Chipset:
Compaq Presario CQ60-410SA Chipset Driver
Nforce driver 15.24 WHQL
Download

AUDIO:
Compaq Presario CQ60-410SA Audio Driver
----------------------------------------------------------------
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download  (KB835221)

Both Conexant Audio & Modem Driver:
Download (mediafire)
Download  (rapidshare)
Download  (easy-share)

after download, extract the folder and install both audio and modem, if  failed read the instruction here:
Installing  conextant smart audio 221 Windows XP
--------------------------------------------------------------------
 
GRAPHIC:
Compaq Presario CQ60-410SA Nvidia graphic driver
Nvidia Geforce8200M G Graphics Card:
Download
If direct install failed  follow guide here

WIRELESS:
Compaq Presario CQ60-410SA Wireless Driver
-------------------------------
If you have intel wireless
Intel: Download  || (medifire)||
(requires  windows installer 3.0 installed first)

If you have Broadcom Wireless
Broadcom: Download  || Mediafire ||
---------------------------------------------

BLUETOOH:
Compaq Presario CQ60-410SA Bluetooth Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

WIRELESS SOFTWARE:
HP Wireless Assistant:
Download

CARD READER:
Compaq Presario CQ60-410SA Card Reader Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

WEBCAM/CAMERA:
Compaq Presario CQ60-410SA Webcam Driver
Cyberlink youcam 2.0
(Automatically installed)
if not here is the drivers: Download

BUTTONS:
HP Quick Launch Buttons
Download

LIGHTSCRIBE:
Lightscribe system software
Download

Compaq Presario CQ60-409CA Windows XP Driver

 NOTE:
1. Please Install according to order given:
2.Note that the ETHERNET is installed along with the Chipset driver  installation.

Net framework 2.0
Download 

Nvidia Chipset:
Compaq Presario CQ60-409CA Chipset Driver
Nforce driver 15.24 WHQL
Download

AUDIO:
Compaq Presario CQ60-409CA Audio Driver
----------------------------------------------------------------
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download  (KB835221)

Both Conexant Audio & Modem Driver:
Download (mediafire)
Download  (rapidshare)
Download  (easy-share)

after download, extract the folder and install both audio and modem, if  failed read the instruction here:
Installing  conextant smart audio 221 Windows XP
--------------------------------------------------------------------
 
GRAPHIC:
Compaq Presario CQ60-409CA Nvidia graphic driver
Nvidia Geforce8200M G Graphics Card:
Download
If direct install failed  follow guide here

WIRELESS:
Compaq Presario CQ60-409CA Wireless Driver
-------------------------------
If you have intel wireless
Intel: Download  || (medifire)||
(requires  windows installer 3.0 installed first)

If you have Broadcom Wireless
Broadcom: Download  || Mediafire ||
---------------------------------------------

BLUETOOH:
Compaq Presario CQ60-409CA Bluetooth Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

WIRELESS SOFTWARE:
HP Wireless Assistant:
Download

CARD READER:
Compaq Presario CQ60-409CA Card Reader Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

WEBCAM/CAMERA:
Compaq Presario CQ60-409CA Webcam Driver
Cyberlink youcam 2.0
(Automatically installed)
if not here is the drivers: Download

BUTTONS:
HP Quick Launch Buttons
Download

LIGHTSCRIBE:
Lightscribe system software
Download

Compaq Presario CQ60-416AU Windows XP Driver

 NOTE:
1. Please Install according to order given:
2.Note that the ETHERNET is installed along with the Chipset driver installation.

Net framework 2.0
Download

Nvidia Chipset:
Compaq Presario CQ60-416AU Chipset Driver
Nforce driver 15.24 WHQL
Download

AUDIO:
Compaq Presario CQ60-416AU Audio Driver
----------------------------------------------------------------
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

Both Conexant Audio & Modem Driver:
Download (mediafire)
Download (rapidshare)
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP
--------------------------------------------------------------------
 
GRAPHIC:
Compaq Presario CQ60-416AU Nvidia graphic driver
Nvidia Geforce8200M G Graphics Card:
Download
If direct install failed follow guide here

WIRELESS:
Compaq Presario CQ60-416AU Wireless Driver
-------------------------------
If you have intel wireless
Intel: Download || (medifire)||
(requires windows installer 3.0 installed first)

If you have Broadcom Wireless
Broadcom: Download || Mediafire ||
---------------------------------------------

BLUETOOH:
Compaq Presario CQ60-416AU Bluetooth Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

WIRELESS SOFTWARE:
HP Wireless Assistant:
Download

CARD READER:
Compaq Presario CQ60-416AU Card Reader Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

WEBCAM/CAMERA:
Compaq Presario CQ60-416AU Webcam Driver
Cyberlink youcam 2.0
(Automatically installed)
if not here is the drivers: Download

BUTTONS:
HP Quick Launch Buttons
Download

LIGHTSCRIBE:
Lightscribe system software
Download

Compaq Presario CQ60-410SS Windows XP Driver

 NOTE:
1. Please Install according to order given:
2.Note that the ETHERNET is installed along with the Chipset driver installation.

Net framework 2.0
Download

Nvidia Chipset:
Compaq Presario CQ60-410SS Chipset Driver
Nforce driver 15.24 WHQL
Download

AUDIO:
Compaq Presario CQ60-410SS Audio Driver
----------------------------------------------------------------
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

Both Conexant Audio & Modem Driver:
Download (mediafire)
Download (rapidshare)
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP
--------------------------------------------------------------------
 
GRAPHIC:
Compaq Presario CQ60-410SS Nvidia graphic driver
Nvidia Geforce8200M G Graphics Card:
Download
If direct install failed follow guide here

WIRELESS:
Compaq Presario CQ60-410SS Wireless Driver
-------------------------------
If you have intel wireless
Intel: Download || (medifire)||
(requires windows installer 3.0 installed first)

If you have Broadcom Wireless
Broadcom: Download || Mediafire ||
---------------------------------------------

BLUETOOH:
Compaq Presario CQ60-410SS Bluetooth Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

WIRELESS SOFTWARE:
HP Wireless Assistant:
Download

CARD READER:
Compaq Presario CQ60-410SS Card Reader Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

WEBCAM/CAMERA:
Compaq Presario CQ60-410SS Webcam Driver
Cyberlink youcam 2.0
(Automatically installed)
if not here is the drivers: Download

BUTTONS:
HP Quick Launch Buttons
Download

LIGHTSCRIBE:
Lightscribe system software
Download

Compaq Presario CQ60-209TU Windows XP Driver

CHIPSET:
Compaq Presario CQ60-209TU Chipset XP Driver
INF Update  Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download  (intel website)
Download(mediafire)

GRAPHIC:
Compaq  Presario CQ60-209TU Graphic XP Driver
=====================
If  you have Nvidia Graphic
NVIDIA GeForce 9200M GE Graphics Driver:
Download

if  you have intel graphic:
        Mobile Intel 4 Series Express Chipset Family Graphics Driver  (32-bit)
Download  (mediafire)
==========================


AUDIO:
Compaq  Presario CQ60-209TU AUDIO XP Driver AND INSTALLATION GUIDE
UAA  drivers (Must be installed before installing the audio driver):
Download
Windows  XP SP3: Download  (KB835221)

after download , install MS-UAA, restart then  download and install the following
Both Conexant Audio & Modem  Driver:
Download (mediafire)
or
Download  (rapidshare)
or
Download  (easy-share)

after download, extract the folder and install both  audio and modem, if failed read the instruction here:
Installing  conextant smart audio 221 Windows XP


WIRELESS:
Compaq  Presario CQ60-209TU Wireless XP Driver
=======================
If  you have intel wireless
Intel: Download
(requires  windows installer 3.0 installed first)

If you have Atheros  wireless
Wireless Atheros AR5009:
Download

If  you have Broadcom Wireless
Broadcom: Download
========================

BLUETOOTH
Compaq  Presario CQ60-209TU Bluetooth XP Driver
HP Integrated Module with  Bluetooth Wireless for Windows XP:
Download

HP  Wireless Assitant:
Download

CARD  READER:
Compaq Presario CQ60-209TU Card Reader XP Driver
Realtek  USB 2.0 Card Reader:
Download
or
Download
if  the above drivers didn't work use this:
Download

ETHERNET:
Compaq  Presario CQ60-209TU LAN/Ethernet XP Driver
Realtek RTL8101E Family  PCI-E Fast Ethernet NIC
Download

WEBCAM:
Compaq  Presario CQ60-209TU Webcam/Camera XP Driver
(Automatically  installed)
if not here is the drivers: Download

Net  framework 2.0
(require before Quicklauch)
Download

BUTTON  DRIVER
Compaq Presario CQ60 Quicklaunch XP Driver
HP Quick Launch Buttons
Download

TOUCHPAD
Compaq Presario CQ60  Touchpad XP Driver
Download

LIGHTSCRIBE
Compaq  Presario CQ60 lightscribe software
Lightscribe system software
Download

Compaq Presario CQ60-118TX Windows XP Driver

CHIPSET:
Compaq Presario CQ60-118TX Chipset XP Driver
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

GRAPHIC:
Compaq Presario CQ60-118TX Graphic XP Driver
=====================
If you have Nvidia Graphic
NVIDIA GeForce 9200M GE Graphics Driver:
Download

if you have intel graphic:
Mobile Intel 4 Series Express Chipset Family Graphics Driver (32-bit)
Download (mediafire)
==========================


AUDIO:
Compaq Presario CQ60-118TX AUDIO XP Driver AND INSTALLATION GUIDE
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

after download , install MS-UAA, restart then download and install the following
Both Conexant Audio & Modem Driver:
Download (mediafire)
or
Download (rapidshare)
or
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP


WIRELESS:
Compaq Presario CQ60-118TX Wireless XP Driver
=======================
If you have intel wireless
Intel: Download
(requires windows installer 3.0 installed first)

If you have Atheros wireless
Wireless Atheros AR5009:
Download

If you have Broadcom Wireless
Broadcom: Download
========================

BLUETOOTH
Compaq Presario CQ60-118TX Bluetooth XP Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

HP Wireless Assitant:
Download

CARD READER:
Compaq Presario CQ60-118TX Card Reader XP Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

ETHERNET:
Compaq Presario CQ60-118TX LAN/Ethernet XP Driver
Realtek RTL8101E Family PCI-E Fast Ethernet NIC
Download

WEBCAM:
Compaq Presario CQ60-118TX Webcam/Camera XP Driver
(Automatically installed)
if not here is the drivers: Download

Net framework 2.0
(require before Quicklauch)
Download

BUTTON DRIVER
Compaq Presario CQ60 Quicklaunch XP Driver
HP Quick Launch Buttons
Download

TOUCHPAD
Compaq Presario CQ60 Touchpad XP Driver
Download

LIGHTSCRIBE
Compaq Presario CQ60 lightscribe software
Lightscribe system software
Download

Compaq Presario CQ60-211DX Windows XP Driver

CHIPSET:
Compaq Presario CQ60-211DX Chipset XP Driver
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

GRAPHIC:
Compaq Presario CQ60-211DX Graphic XP Driver
=====================
If you have Nvidia Graphic
NVIDIA GeForce 9200M GE Graphics Driver:
Download

if you have intel graphic:
Mobile Intel 4 Series Express Chipset Family Graphics Driver (32-bit)
Download (mediafire)
==========================


AUDIO:
Compaq Presario CQ60-211DX AUDIO XP Driver AND INSTALLATION GUIDE
UAA drivers (Must be installed before installing the audio driver):
Download
Windows XP SP3: Download (KB835221)

after download , install MS-UAA, restart then download and install the following
Both Conexant Audio & Modem Driver:
Download (mediafire)
or
Download (rapidshare)
or
Download (easy-share)

after download, extract the folder and install both audio and modem, if failed read the instruction here:
Installing conextant smart audio 221 Windows XP


WIRELESS:
Compaq Presario CQ60-211DX Wireless XP Driver
=======================
If you have intel wireless
Intel: Download
(requires windows installer 3.0 installed first)

If you have Atheros wireless
Wireless Atheros AR5009:
Download

If you have Broadcom Wireless
Broadcom: Download
========================

BLUETOOTH
Compaq Presario CQ60-211DX Bluetooth XP Driver
HP Integrated Module with Bluetooth Wireless for Windows XP:
Download

HP Wireless Assitant:
Download

CARD READER:
Compaq Presario CQ60-211DX Card Reader XP Driver
Realtek USB 2.0 Card Reader:
Download
or
Download
if the above drivers didn't work use this:
Download

ETHERNET:
Compaq Presario CQ60-211DX LAN/Ethernet XP Driver
Realtek RTL8101E Family PCI-E Fast Ethernet NIC
Download

WEBCAM:
Compaq Presario CQ60-211DX Webcam/Camera XP Driver
(Automatically installed)
if not here is the drivers: Download

Net framework 2.0
(require before Quicklauch)
Download

BUTTON DRIVER
Compaq Presario CQ60 Quicklaunch XP Driver
HP Quick Launch Buttons
Download

TOUCHPAD
Compaq Presario CQ60 Touchpad XP Driver
Download

LIGHTSCRIBE
Compaq Presario CQ60 lightscribe software
Lightscribe system software
Download

Compaq Presario CQ40-516TX Windows XP Driver

First Install Netframework:
Net framework 2.0
Download

BUTTON DRIVER
HP Quick Launch Buttons
Download

INTEL CHIPSET:
Compaq Presario CQ40-516TX Chipset Driver
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

Intel matrix storage manager:
Download (intel site)
Download (mediafire)

GRAPHIC
Compaq Presario CQ40-516TX Graphic Driver
if you have intel graphic:
Mobile Intel 45 Express Chipset Family Graphics Driver
Intel graphic accelerator 4500MHD
Download

If you have Nvidia graphic:
NVIDIA GeForce G 103M/ G 105M Graphics Driver (186.81 WHQL XP 32-bit)
Download

FOR NVDIA: if resulting in error use modded driver below:
Download
3-step process to install:
1. Download driver, double click and select extract,
2. Download modded INF and replace original INF in extracted folder,
3. Install and  reboot.

===============
AUDIO:
Compaq Presario CQ40-516TX Audio Driver
===============
Install MS-UAA first:
both ms-uaa sp33867 and kb888111 are similar files.
Windows XP SP2: Download  (SP33867.exe)
Download (KB888111)
Windows XP SP3: Download (KB835221)

Then restart, and install AUDIO Drivers:

IDT - High Definition Audio Codecs (SP39671)
Download (ftp)
Download (mediafire)

First install your audio.
Installing the Audio normally resulting in error, ignore it and proceed by manually install the drivers, read the guide here;
Manually install Audio Drivers.

High-Definition Audio (HDA) Modem Installer and Driver
Download

WIRELESS:
===========
Choose one of the wireless driver base on your specs, if you dont know, just try each driver (there are no risk and will not harm your system)
---------------------------------------------------------
Broadcom: Download

if error try newer version -
Broadcom BCM9431HMG
Broadcom: Download

Intel: Download
(requires windows installer 3.0 installed first)
=================

BLUETOOTH
Compaq Presario CQ40-516TX Bluetooth Driver
HP Integrated Module with Bluetooth Wireless Technology
Download

HP Wireless Assitant:
Download

ETHERNET/LAN
Compaq Presario CQ40-516TX Ethernet Driver
Realtek RTL8102E Family PCI-E Fast Ethernet NIC
Download(direct) or Download

CARD READER
JMB38X Card Reader Host Controller
Download

ALPS Touchpad
Download

Synaptics Touchpad
Download
Download

WEBCAM
Cyberlink youcam software 2.0
Download

LIGHTSCRIBE:
Lightscribe system software
Download  

If you have 7 unknown device:
Unknown devices:
Download

Unzip files, open folder and right click at machine.inf, select install.

Compaq Presario CQ40-314BR Windows XP Driver

First Install Netframework:
Net framework 2.0
Download

HP Quick Launch Buttons
Download

INTEL CHIPSET:
INF Update Utility - Primarily for Intel® 5, 4, 3, 900 Series Chipsets
Download (intel website)
Download(mediafire)

Intel matrix storage manager:
Download (intel site)
Download (mediafire)

GRAPHIC
if you have intel graphic:
Mobile Intel 45 Express Chipset Family Graphics Driver
Intel graphic accelerator 4500MHD
Download

If you have Nvidia graphic:
NVIDIA GeForce G 103M/ G 105M Graphics Driver (186.81 WHQL XP 32-bit)
Download

FOR NVDIA: if resulting in error use modded driver below:
Download
3-step process to install:
1. Download driver, double click and select extract,
2. Download modded INF and replace original INF in extracted folder,
3. Install and  reboot.

===============
AUDIO:
===============
Install MS-UAA first:
both ms-uaa sp33867 and kb888111 are similar files.
Windows XP SP2: Download  (SP33867.exe)
Download (KB888111)
Windows XP SP3: Download (KB835221)

Then restart, and install AUDIO Drivers:

IDT - High Definition Audio Codecs (SP39671)
Download (ftp)
Download (mediafire)

First install your audio.
Installing the Audio normally resulting in error, ignore it and proceed by manually install the drivers, read the guide here;
Manually install Audio Drivers.

High-Definition Audio (HDA) Modem Installer and Driver
Download

WIRELESS:
===========
Choose one of the wireless driver base on your specs, if you dont know, just try each driver (there are no risk and will not harm your system)
---------------------------------------------------------
Broadcom: Download

if error try newer version -
Broadcom BCM9431HMG
Broadcom: Download

Intel: Download
(requires windows installer 3.0 installed first)
=================

HP Integrated Module with Bluetooth Wireless Technology
Download

HP Wireless Assitant:
Download

Realtek RTL8102E Family PCI-E Fast Ethernet NIC
Download(direct) or Download

CARD READER
JMB38X Card Reader Host Controller
Download

ALPS Touchpad
Download

Synaptics Touchpad
Download
Download

WEBCAM
Cyberlink youcam software 2.0
Download

LIGHTSCRIBE:
Lightscribe system software
Download  

If you have 7 unknown device:
Unknown devices:
Download

Unzip files, open folder and right click at machine.inf, select install.

Tuesday, July 27, 2010

Licensing Service Technology Highlights

We’ve just announced the introduction of a licensing server for Android Market. This should address one of the concerns we’ve heard repeatedly from the Android developer community.

The impact and intent, as outlined in the announcement, are straightforward. If you want to enable your app to use the licensing server, there’s no substitute for reading the authoritative documentation: Licensing Your Applications. Here are some technical highlights.

  • This capability has been in the Android Market client app since 1.5, so you don’t have to be running the latest Android flavor to use it.

  • It’s secure, based on a public/private key pair. Your requests to the server are signed with the public key and the responses from the server with the private key. There’s one key pair per publisher account.

  • Your app doesn’t talk directly to the licensing server; it IPCs to the Android Market client, which in turn takes care of talking to the server.

  • There’s a substantial tool-set that will ship with the SDK, the License Verification Library (LVL). It provides straightforward entry points for querying the server and handling results. Also, it includes modules that you can use to implement certain licensing policies that we expect to be popular.

  • LVL is provided in source form as an Android Library project. It also comes with a testing framework.

  • There’s a Web UI on the publisher-facing part of the Market’s Web site for key management; it includes setup for production and testing.

  • Obviously, you can’t call out to the server when the device is off-network. In this situation you have to decide what to do; one option is to cache licensing status, and LVL includes prebuilt modules to support that.

We think this is a major improvement over the copy-protection option we’ve offered up to this point, and look forward to feedback from developers.

Licensing Service For Android Applications

[This post is by Eric Chu, Android Developer Ecosystem. — Tim Bray]

In my conversations with Android developers, I often hear that you’d like better protection against unauthorized use of your applications. So today, I’m pleased to announce the release of a licensing service for applications in Android Market.

This simple and free service provides a secure mechanism to manage access to all Android Market paid applications targeting Android 1.5 or higher. At run time, with the inclusion of a set of libraries provided by us, your application can query the Android Market licensing server to determine the license status of your users. It returns information on whether your users are authorized to use the app based on stored sales records.

This licensing service operating real time over the network provides more flexibility in choosing license-enforcement strategies, and a more secure approach in protecting your applications from unauthorized use, than copy protection.

The licensing service is available now; our plan is for it to replace the current Android Market copy-protection mechanism over the next few months. I encourage you to check out the Licensing Your Applications section of our Developer Guide and the Android Market Help Center to learn how you can take advantage of this new service immediately.

Friday, July 23, 2010

Adjustment to Market Legals

Please note that we have updated the Android Market Developer Distribution Agreement (DDA). This is in preparation for some work we’re doing on introducing new payment options, which we think developers will like.

In the spirit of transparency, we wanted to highlight the changes:

  • In Section 13.1, “authorized carriers” have been added as an indemnified party.

  • Section 13.2 is new in its entirety, covering indemnity for payment processors for claims related to tax accrual.

These new terms apply immediately to anyone joining Android Market as a new publisher. Existing publishers have been notified of this change via email; they have up to 30 days to sign into the Android Market developer console to accept the new terms.

Sunday, July 18, 2010

Acer Aspire 4745G Windows XP Driver

UPDATE 2 : 19 feb 2012
I didn't notice that this mdoel have dual independent graphic which is INTEL HD graphic and ATI HD5470. So i update this post by adding the driver for Intel HD Graphic and Manuual Installation for the graphic.

For Compaq model which use dula graphic mode, i manage to install the driver by update windows XP after patch it with SP 2 (service pack 2). So, I assume that you need SP2 bedore installing the driver.

Then i also recomend to get .neframework 2.0 and windows installer 3.1

Lauch manager (Dritek 4.0.5)
size: 6MB
Download

GRAPHIC: UPDATE 1..
ATI Mobility Radeon HD 5650/ ATI Mobility Radeon HD 5470
version: 8.692.1.0000
Download

INTEL HD Graphic:
14.46.9.5394  22MB
Downloadx86 (32-bit)
Downloadx64 (64-bit)

TOUCHPAD:
Synaptics PS/2 Port Compatible TouchPad
Download

CHIPSET:
1. Intel Chipset
Download


2. TURBO boost
Download

SATA DRIVER
Intel sata AHCI 9.5.6.1001
Download

WEBCAM
camera suyin 5.2.11
Download

BLUETOOTH
Broadcom 2046 Bluetooth 2.1 USB Dongle
Download

(make sure your model has bluetooth devices or youll end up with blue screen after installing this driver)

WIRELESS:
Atheros AR5009 802.11a/g/n Wireless Network Adapter
Download

ETHERNET/LAN:
lan_atheros_1.0.0.23
Download 

CARD READER
cardreader_alcor_1.0.10.48
Download

AUDIO:
Realtek Audio Driver Audio_Realtek_6.0.1.5958_XP.rar
Since i have problems to upload version:_6.0.1.6050,  i think the previous version also compatible fot your model:
Download

NOTE:

1. ATI GRAPHIC - If installing the driver above resulting in error, try manual installation by extracting the driver file.
2.  Then right click on VGA mark with yellow (make sure you install Intel HD Graphic first.) and select update driver.
3. No to connect , advance and select don't search i will choose the driver to install, next, have disk, point to the extracted driver folder and select the inf file.

More solution for ATI graphic read here: http://laptop-driver.blogspot.com/2009/11/ati-mobility-radeon-hd3200-xp-driver.html

The link refering to HD 3200 but support installation for HD 5700 series.

any feedback would be gratefully appreciate.
(special thanks to akmaller for the Hardware ID and others who give valuable feedback)

Saturday, July 17, 2010

HP Pavilion dv9917cl Windows XP Driver

HP Pavilion dv9917cl Entertainment Notebook PC  

CHIPSET:
HP Pavilion dv9917c chipset driver
NVIDIA nForce Chipset Driver and Network Controller
Download

AUDIO:
HP Pavilion dv9917c Audio Driver
Install Audio MS-UAA and restart, and then install Conextant audio

Microsoft Universal Audio Architecture (UAA) Bus Driver for High Definition Audio
Download

Conexant High Definition Audio Sound Driver
Download

MODEM:
HP Pavilion dv9917c Modem Driver
HDAUDIO Soft Data Fax Modem with SmartCP
Download

GRAPHIC
HP Pavilion dv9917c Graphic/VGA driver
NVIDIA GeForce Series Graphics Video VGA Driver
Download

OTHERS:
HP Quick Launch Buttons
Download

Synaptics Touchpad
Download

HP 1.3 MegaPixel (MP) Webcam Camera Software Driver
Download

HP Optical USB Mobile Mouse
Download

HP Wireless Laser Mini Mouse Software Driver
Download

Yuan EC300 DVB-T TV Tuner Driver
Download

Yuan EC680 Analog TV Tuner Driver
Download

WIRELESS:
Broadcom Wireless LAN WLAN Driver
Download

Software Support for HP Integrated Module with Bluetooth Wireless Technology
Download

SPECIFICATIONS:
Product Namedv9917cl
Product NumberFE699UA#ABA
Microprocessor2.10 GHz AMD Turion X2 TL-62 Dual-Core Mobile Processor
Microprocessor Cache512 KB + 512 KB L2 Cache
Memory3072 MB
Memory MaxUp to 4GB DDR2 (Up to 1 GB may not be available due to 32-bit operating system resource requirements)
Video GraphicsNVIDIA GeForce 7150M
Video MemoryUp to 1071 MB
Hard Drive250 GB (5400 rpm)
Multimedia DriveLightScribe Super Multi 8X DVD±R/RW with Double Layer Support
Display17.0" WXGA High-Definition BrightView Widescreen (1440 x 900) Display
Fax/ModemHigh speed 56K modem
Network CardIntegrated 10/100 Ethernet LAN
Wireless ConnectivityWireless LAN 802.11b/g
SoundAltec Lansing speakers
Keyboard101-key compatible
Pointing DeviceTouch Pad with dedicated vertical and horizontal Scroll Up/Down pad
PC Card Slots
  • One ExpressCard/54 slot (also supports ExpressCard/34)
External Ports
  • 5-in-1 integrated Digital Media Reader for Secure Digital cards, MultiMedia cards, Memory Stick, Memory Stick Pro, or xD Picture cards
  • 4 Universal Serial Bus USB 2.0
  • 1 VGA (15-pin)
  • 1 RJ-11 (modem)
  • 1 TV-Out (S-video)
  • 1 RJ -45 (LAN)
  • 2 headphone-out
  • 1 microphone-in
  • 1 notebook expansion port 3
  • 1 IEEE 1394 Firewire (4-pin)
  • 1 Consumer IR
Dimensions15.16 (L) X 11.22" (W) X 1.65"(H)
Weight7.7lbs
Security
  • Kensington MicroSaver lock slot
  • Power-on password
  • Accepts 3rd party security lock devices
Power
  • 65 W AC Adapter
  • 8-cell Lithium-Ion (Li-Ion)
What's In The BoxHP Pavilion WebCam with stereo Integrated Microphones

Mobile Stereo Earbud Headphones (1 pair)

HP Mobile Remote Control

Friday, July 16, 2010

ASUS M1000 M1A Windows XP Driver

INFORMATION AND FAQ BEFORE DOWNLOAD THE DRIVERS:

Do I have to download all the drivers?
YES, Utilities is optional

Can I use this driver for win Vista or XP?
Strongly not recommended, some drivers may work but too risky.

Which link to download FTP or Mediafire?
ftp is from provider (Asus) and Mediafire link  is the mirror.


AUDIO
M1 Audio driver for Windows 98SE/ME/2000/XP.
Download (ftp)
Download (mediafire)

GRAPHIC
IntelR GMCH2-M VGA Driver for Windows 2000/XP.
Download (ftp)
Download (mediafire)

CIR (infrared)
Infrared Driver for Windows 2000/XP
Download (ftp)
Download (mediafire)

LAN / ETHERNET
IntelR 82562ET 10/100Mbps LAN driver for Windows XP
Download (ftp)
Download (mediafire)

MODEM
Pctel Modem Driver for Windows XP.
Download (ftp)
Dowmload (mediafire)

TOUCHPAD
TouchPad Driver for Windows XP.
Download (ftp)
Dowmload (mediafire)

---------------------------------------------------
UTILITIES:

1. Hotkey Utility for Windows 98SE/ME/2000/XP
Download (ftp)
Dowmload (mediafire)

2. ATK0100 Driver for Windows XP (ACPI)
Download (ftp)
Download (mediafire)

3. ASUS Probe V2
Download (ftp)
Download (mediafire)

Thursday, July 15, 2010

Market Statistics Adjustments

If you look closely today, you'll notice that some per-app Android Market statistics have lower values; not big differences, but noticeable in a few cases. We discovered last week that, starting in early June, certain events had been double-counted: installs, uninstalls, impressions, and so on. The most obvious symptom was (for paid apps) a discrepancy between the number of installs and the number of reported sales through Checkout.

The underlying problem has been corrected and following data repair, the reported statistics should now be accurate. Our apologies for the glitch.

Android Market Welcomes Korea!

As of today, Android Market is open for business to application buyers in the Republic of Korea. We hope that this will make the outstanding Android devices now available in that nation even more useful and fun. We welcome the people of Korea, acknowledged everywhere as one of the world's most-wired societies, to the world of Android.

Monday, July 12, 2010

How to have your (Cup)cake and eat it too

[This post is by Adam Powell, his second touchy-feely outing in just a few weeks. I asked him to send me a better picture than we ran last time, and got this in response. Photo by our own Romain Guy. — Tim Bray]

Android developers concerned with targeting every last device with their apps are no doubt familiar with this chart:

On July 1, 2010 this was the breakdown of active devices running different versions of the Android platform. With all of the new platform features added to the Android SDK in each version, this chart has many developers shouting the F-word when they are forced to choose between integrating newer platform features and providing their app to the widest possible audience.

Savvy Android developers already know that these two options aren’t really mutually exclusive, but that straddling between them can be painful. In this post I’m going to show you that it doesn’t have to be that way.

Several weeks ago we took a look at how to handle multitouch on Android 2.0 (Eclair) and above, and by the end we had a simple demo app. That app uses features exclusive to Android 2.2 (Froyo) which as of this writing hasn’t had a chance to reach many devices yet. In this post we’re going to refactor that demo to run on devices all the way back to Android 1.5 (Cupcake). If you’d like to follow along, start off by grabbing the code in the trunk of the android-touchexample project on Google Code.

The problem manifests

The uses-sdk tag in your AndroidManifest.xml can specify both a minSdkVersion and a targetSdkVersion. You can use this to declare that while your app is prepared to run on an older version of the platform, it knows about newer versions. Your app can now build against newer SDKs. However, if your code accesses newer platform functionality directly you will probably see something like this in the system log of devices running an older version of Android:

E/dalvikvm(  792): Could not find method android.view.MotionEvent.getX, referenced from method com.example.android.touchexample.TouchExampleView.onTouchEvent
W/dalvikvm( 792): VFY: unable to resolve virtual method 17: Landroid/view/MotionEvent;.getX (I)F
W/dalvikvm( 792): VFY: rejecting opcode 0x6e at 0x0006
W/dalvikvm( 792): VFY: rejected Lcom/example/android/touchexample/TouchExampleView;.onTouchEvent (Landroid/view/MotionEvent;)Z
W/dalvikvm( 792): Verifier rejected class Lcom/example/android/touchexample/TouchExampleView;
D/AndroidRuntime( 792): Shutting down VM
W/dalvikvm( 792): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)

We broke the contract of minSdkVersion, and here is the result. When we build our app against SDK 8 (Froyo) but declare minSdkVersion="3" (Cupcake) we promise the system that we know what we’re doing and we won’t try to access anything that doesn’t exist. If we mess this up, we see the above, and our users see an ugly error message.

Cue a lot of frustrated users and one-star ratings on Market. We need a safe way of accessing newer platform functionality without making the verifier angry on older platform versions.

Stop and reflect

Many Android developers are already familiar with the practice of accomplishing this through reflection. Reflection lets your code interface with the runtime, detect when certain methods or classes are present, and invoke or instantiate them without touching them directly.

The prospect of querying each platform feature individually and conditionally invoking it using reflection isn’t pretty. It’s ugly. It’s slow. It’s cumbersome. Most of all, heavy use can turn your app’s codebase into an unmaintainable mess. What if I said there is a way to write Android apps that target Android 1.5 (Cupcake) through 2.2 (Froyo) and beyond with a single codebase and no reflection at all?

Lazy Loading

Computer science researcher Bill Pugh published and popularized a method of writing singletons in Java that takes advantage of the laziness of ClassLoaders. Wikipedia explains his solution further. The code looks like this:

public class Singleton {
// Private constructor prevents instantiation from other classes
private Singleton() {}

/**
* SingletonHolder is loaded on the first execution of Singleton.getInstance()
* or the first access to SingletonHolder.INSTANCE, not before.
*/
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}

public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}

There is a very important guaranteed behavior at work here explained by the comment above SingletonHolder. Java classes are loaded and initialized on first access - instantiating the class or accessing one of its static fields or methods for the first time. This is relevant to us because classes are verified by the VM when they are loaded, not before. We now have everything we need to write Android apps that span versions without reflection.

Designing for compatibility

As it turns out this is fairly simple to apply. You generally will want your app to degrade gracefully on older platform versions, dropping features or providing alternate functionality when the platform support isn’t available. Since Android platform features are tied to the API level you have only one axis to consider when designing for compatibility.

In most cases this version support can be expressed as a simple class hierarchy. You can design your app to access version-sensitive functionality through a version-independent interface or abstract class. Subclasses of that interface intended to run on newer platform versions will support newer platform features, and subclasses intended for older versions might need to present alternate ways for your users to access app functionality.

Your app can use a factory method, abstract factory, or other object creation pattern to instantiate the proper subclass at runtime based on the information exposed by android.os.Build.VERSION. This last step insures that the system will never attempt to load a class it can’t verify, preserving compatibility.

The principle in practice

At the beginning of this post I said that we are going to refactor the touch example app from Making Sense of Multitouch to be compatible from API level 3 (Cupcake) on through API level 8 (Froyo). In that post I pointed out that GestureDetectors can be a useful pattern for abstracting the processing of touch events. At the time I didn’t realize how soon that statement would be put to the test. We can refactor the version-specific elements of the demo app’s touch handling into an abstract GestureDetector.

Before we begin the real work, we need to change our manifest to declare that we support API level 3 devices with minSdkVersion in the uses-sdk tag. Keep in mind that we’re still targeting SDK 8, both with targetSdkVersion in our manifest and in our project configuration. Our manifest now looks like this:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.touchexample"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TouchExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="8" />
</manifest>

Our TouchExampleView class isn’t compatible with Android versions prior to Froyo thanks to its use of ScaleGestureDetector, and it isn’t compatible with versions prior to Eclair thanks to its use of the newer MotionEvent methods that return multitouch data. We need to abstract that functionality out into classes that will not be loaded on versions of the platform that don’t support it. To do this, we will create the abstract class VersionedGestureDetector.

The example app allows the user to perform two gestures, drag and scale. VersionedGestureDetector will therefore publish two events to an attached listener, onDrag and onScale. TouchExampleView will obtain a VersionedGestureDetector instance appropriate to the platform version, filter incoming touch events through it, and respond to the resulting onDrag and onScale events accordingly.

The first pass of VersionedGestureDetector looks like this:

public abstract class VersionedGestureDetector {
OnGestureListener mListener;

public abstract boolean onTouchEvent(MotionEvent ev);

public interface OnGestureListener {
public void onDrag(float dx, float dy);
public void onScale(float scaleFactor);
}
}

We’ll start with the simplest functionality first, the VersionedGestureDetector for Cupcake. For simplicity’s sake in this example we will implement each version as a private static inner class of VersionedGestureDetector. You can organize this however you please, of course, as long as you use the lazy loading technique shown above or some equivalent. Don’t touch any class that directly accesses functionality not supported by your platform version.

private static class CupcakeDetector extends VersionedGestureDetector {
float mLastTouchX;
float mLastTouchY;

@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
mLastTouchX = ev.getX();
mLastTouchY = ev.getY();
break;
}
case MotionEvent.ACTION_MOVE: {
final float x = ev.getX();
final float y = ev.getY();

mListener.onDrag(x - mLastTouchX, y - mLastTouchY);

mLastTouchX = x;
mLastTouchY = y;
break;
}
}
return true;
}
}

This simple implementation dispatches onDrag events whenever a pointer is dragged across the touchscreen. The values it passes are the X and Y distances traveled by the pointer.

In Eclair and later we will need to properly track pointer IDs during drags so that our draggable object doesn’t jump around as extra pointers enter and leave the touchscreen. The base implementation of onTouchEvent in CupcakeDetector can handle drag events for us with a few tweaks. We’ll add the methods getActiveX and getActiveY to fetch the appropriate touch coordinates and override them in EclairDetector to get the coordinates from the correct pointer:

private static class CupcakeDetector extends VersionedGestureDetector {
float mLastTouchX;
float mLastTouchY;

float getActiveX(MotionEvent ev) {
return ev.getX();
}

float getActiveY(MotionEvent ev) {
return ev.getY();
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
mLastTouchX = getActiveX(ev);
mLastTouchY = getActiveY(ev);
break;
}
case MotionEvent.ACTION_MOVE: {
final float x = getActiveX(ev);
final float y = getActiveY(ev);

mListener.onDrag(x - mLastTouchX, y - mLastTouchY);

mLastTouchX = x;
mLastTouchY = y;
break;
}
}
return true;
}
}

And now EclairDetector, overriding the new getActiveX and getActiveY methods. Most of this code should be familiar from the original touch example:

private static class EclairDetector extends CupcakeDetector {
private static final int INVALID_POINTER_ID = -1;
private int mActivePointerId = INVALID_POINTER_ID;
private int mActivePointerIndex = 0;

@Override
float getActiveX(MotionEvent ev) {
return ev.getX(mActivePointerIndex);
}

@Override
float getActiveY(MotionEvent ev) {
return ev.getY(mActivePointerIndex);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
mActivePointerId = ev.getPointerId(0);
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
mActivePointerId = INVALID_POINTER_ID;
break;
case MotionEvent.ACTION_POINTER_UP:
final int pointerIndex = (ev.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK)
>> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
final int pointerId = ev.getPointerId(pointerIndex);
if (pointerId == mActivePointerId) {
// This was our active pointer going up. Choose a new
// active pointer and adjust accordingly.
final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
mActivePointerId = ev.getPointerId(newPointerIndex);
mLastTouchX = ev.getX(newPointerIndex);
mLastTouchY = ev.getY(newPointerIndex);
}
break;
}

mActivePointerIndex = ev.findPointerIndex(mActivePointerId);
return super.onTouchEvent(ev);
}
}

EclairDetector calls super.onTouchEvent after determining the active pointer index and lets CupcakeDetector take care of dispatching the drag event. Supporting multiple platform versions doesn’t have to mean code duplication.

Finally, let’s add scale gesture support for Froyo devices that have ScaleGestureDetector. We’ll need a couple more changes to CupcakeDetector first; we don’t want to drag normally while scaling. Some devices have touchscreens that don’t deal well with it, and we would want to handle it differently on devices that do anyway. We’ll add a shouldDrag method to CupcakeDetector that we’ll check before dispatching onDrag events.

The final CupcakeDetector:

private static class CupcakeDetector extends VersionedGestureDetector {
float mLastTouchX;
float mLastTouchY;

float getActiveX(MotionEvent ev) {
return ev.getX();
}

float getActiveY(MotionEvent ev) {
return ev.getY();
}

boolean shouldDrag() {
return true;
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
mLastTouchX = getActiveX(ev);
mLastTouchY = getActiveY(ev);
break;
}
case MotionEvent.ACTION_MOVE: {
final float x = getActiveX(ev);
final float y = getActiveY(ev);

if (shouldDrag()) {
mListener.onDrag(x - mLastTouchX, y - mLastTouchY);
}

mLastTouchX = x;
mLastTouchY = y;
break;
}
}
return true;
}
}

EclairDetector remains unchanged. FroyoDetector is below. shouldDrag will return true as long as we do not have a scale gesture in progress:

private static class FroyoDetector extends EclairDetector {
private ScaleGestureDetector mDetector;

public FroyoDetector(Context context) {
mDetector = new ScaleGestureDetector(context,
new ScaleGestureDetector.SimpleOnScaleGestureListener() {
@Override public boolean onScale(ScaleGestureDetector detector) {
mListener.onScale(detector.getScaleFactor());
return true;
}
});
}

@Override
boolean shouldDrag() {
return !mDetector.isInProgress();
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
mDetector.onTouchEvent(ev);
return super.onTouchEvent(ev);
}
}

Now that we have our detector implementations in order we need a way to create them. Let’s add a factory method to VersionedGestureDetector:

public static VersionedGestureDetector newInstance(Context context,
OnGestureListener listener) {
final int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
VersionedGestureDetector detector = null;
if (sdkVersion < Build.VERSION_CODES.ECLAIR) {
detector = new CupcakeDetector();
} else if (sdkVersion < Build.VERSION_CODES.FROYO) {
detector = new EclairDetector();
} else {
detector = new FroyoDetector(context);
}

detector.mListener = listener;

return detector;
}

Since we’re targeting Cupcake, we don’t have access to Build.VERSION.SDK_INT yet. We have to parse the now-deprecated Build.VERSION.SDK instead. But why is accessing Build.VERSION_CODES.ECLAIR and Build.VERSION_CODES.FROYO safe? As primitive static final int constants, these are inlined by the compiler at build time.

Our VersionedGestureDetector is ready. Now we just need to hook it up to TouchExampleView, which has become considerably shorter:

public class TouchExampleView extends View {
private Drawable mIcon;
private float mPosX;
private float mPosY;

private VersionedGestureDetector mDetector;
private float mScaleFactor = 1.f;

public TouchExampleView(Context context) {
this(context, null, 0);
}

public TouchExampleView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}

public TouchExampleView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mIcon = context.getResources().getDrawable(R.drawable.icon);
mIcon.setBounds(0, 0, mIcon.getIntrinsicWidth(), mIcon.getIntrinsicHeight());

mDetector = VersionedGestureDetector.newInstance(context, new GestureCallback());
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
mDetector.onTouchEvent(ev);
return true;
}

@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);

canvas.save();
canvas.translate(mPosX, mPosY);
canvas.scale(mScaleFactor, mScaleFactor);
mIcon.draw(canvas);
canvas.restore();
}

private class GestureCallback implements VersionedGestureDetector.OnGestureListener {
public void onDrag(float dx, float dy) {
mPosX += dx;
mPosY += dy;
invalidate();
}

public void onScale(float scaleFactor) {
mScaleFactor *= scaleFactor;

// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));

invalidate();
}
}
}

Wrapping up

We’ve now adapted the touch example app to work from Android 1.5 on through the latest and greatest, taking advantage of newer platform features as available without a single reflective call. The same principles shown here can apply to any new Android feature that you want to use while still allowing your app to run on older platform versions:

  • The ClassLoader loads classes lazily and will only load and verify classes on first access.

  • Factor out app functionality that can differ between platform versions with a version-independent interface or abstract class.

  • Instantiate a version-dependent implementation of it based on the platform version detected at runtime. This keeps the ClassLoader from ever touching a class that it will not be able to verify.

To see the final cross-version touch example app, check out the “cupcake” branch of the android-touchexample project on Google Code.

Extra Credit

In this example we didn’t provide another way for pre-Froyo users to zoom since ScaleGestureDetector was only added as a public API for 2.2. For a real app we would want to offer some alternate affordance to users. Traditionally Android offers a set of small tappable zoom buttons along the bottom of the screen. The ZoomControls and ZoomButtonsController classes in the framework can help you present these controls to the user in a standard way. Implementing this is left as an exercise for the reader.