Thursday, July 29, 2010
Compaq Presario CQ60-219TU Windows XP Driver
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
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
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
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
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
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
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
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
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
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
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
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
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 Name | dv9917cl |
---|---|
Product Number | FE699UA#ABA |
Microprocessor | 2.10 GHz AMD Turion X2 TL-62 Dual-Core Mobile Processor |
Microprocessor Cache | 512 KB + 512 KB L2 Cache |
Memory | 3072 MB |
Memory Max | Up to 4GB DDR2 (Up to 1 GB may not be available due to 32-bit operating system resource requirements) |
Video Graphics | NVIDIA GeForce 7150M |
Video Memory | Up to 1071 MB |
Hard Drive | 250 GB (5400 rpm) |
Multimedia Drive | LightScribe Super Multi 8X DVD±R/RW with Double Layer Support |
Display | 17.0" WXGA High-Definition BrightView Widescreen (1440 x 900) Display |
Fax/Modem | High speed 56K modem |
Network Card | Integrated 10/100 Ethernet LAN |
Wireless Connectivity | Wireless LAN 802.11b/g |
Sound | Altec Lansing speakers |
Keyboard | 101-key compatible |
Pointing Device | Touch Pad with dedicated vertical and horizontal Scroll Up/Down pad |
PC Card Slots |
|
External Ports |
|
Dimensions | 15.16 (L) X 11.22" (W) X 1.65"(H) |
Weight | 7.7lbs |
Security |
|
Power |
|
What's In The Box | HP 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
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!
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.