Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Sunday 13 November 2011

Android's Face Unlock security fooled by photograph?

The Face Unlock security feature in Google's Ice Cream Sandwich OS can reportedly be tricked into unlocking a phone by showing it a digital image of the user's face.

The Face Unlock feature raised a few eyebrows when it was unveiled along with the rest of the Ice Cream Sandwich edition of Android. Using your smartphone's front-facing camera, the phone side-steps the need for passwords or traditional unlock screens by scanning the user's face to identify its owner from Joe Public, and only granting access to the face it recognises.

At the time, cynics were asking how an Ice Cream Sandwich phone would be able to tell the difference between a real-world face and a photograph, although Google rebuffed the idea that the system could be so simply exploited. However, a new video that's cropped up on YouTube suggests that Face Unlock might be more vulnerable than Google are willing to admit, with one user unlocking his ICS-powered mobile with a picture taken of himself on a Samsung Galaxy Note.

While there are accusations in the YouTube comments that the uploader could have set up his phone deliberately to unlock when presented with a 2D picture of himself, we imagine the experiment is being busily recreated at Google HQ as we speak. Fake or legit? Check out the video for yourself below.

Friday 14 October 2011

GTA 3 Coming to Android, iOS "This Fall"

Rockstar is bringing its classic Grand Theft Auto III game to specific iOS and Android devices, possibly next week.

Thursday Rockstar Games said that Grand Theft Auto III will be heading to select Android and iOS devices sometime "this fall." However, there's a good chance the game will be released on October 22, as that's the date the original Grand Theft Auto III game landed on the PlayStation 2, Xbox, Windows PC and Mac OS back in 2001.


"10 years ago, this month, the revolutionary open-world epic Grand Theft Auto III was released to the world – a game that set players loose as a small-time criminal at the bottom of the food chain in Liberty City, a sprawling metropolis where anything can happen – and probably will," the studio said Thursday.

For now the game is slated to land on eleven devices: the iPad 2 and iPhone 4S for Apple's iOS, the Droid X2, HTC Evo 2, LG Optimus X2, Motorola Atrix and Samsung Galaxy S2 for Android smartphones front, and the Acer Iconia, Asus Eee Pad, Motorola Zoom and Samsung Galaxy Tab 10.1 for Android tablets.

Rockstar also said that beginning Thursday, a limited-edition action figure of lead character Claude, created by collectible manufacturer Sideshow, will be available for pre-order in limited quantities at the Rockstar Warehouse. This figure costs $149.99, but Social Club members have an opportunity to get one for free. Head here and fill out the entry form by this Sunday October 16th for a chance to be one of three lucky winners.

Thursday 13 October 2011

Android 'Ice Cream Sandwich' arrives Oct. 19 in Hong Kong

Computerworld - The big Google-Samsung event to launch Ice Cream Sandwich -- postponed at CTIA earlier this week -- will take place next Wednesday in Hong Kong, according to an invitation sent by the two companies.

It will be held Oct. 19 in Hong Kong at 10 a.m. local time, which translates to 10 p.m. ET on Tuesday in the U.S.

While Android 4.0 was always rumored to be the subject of the event, it now seems certain, since the invitation shows off an Ice Cream Sandwich in the shape of the familiar Android creature.
Also, recent reports pegged Verizon Wireless as the exclusive carrier for the Samsung Galaxy Nexus, which would run on 4G LTE and Android 4.0. (The Galaxy nexus is also known as the Nexus Prime.)

That device is expected to include a Texas Instruments OMAP 4460 dual-core 1.2GHz processor, putting it at the top of recent smartphones in speed. It's also expected to sport 1GB of memory and 32GB of internal storage, far ahead of most recent smartphones, and two cameras. One of the cameras is expected to be a 5-megapixel version, though that is below the 8-megapixel rear-facing camera in the iPhone 4S.

The iPhone 4S goes on sale Friday.

The somewhat impressionistic tickler advertisement for the Galaxy Nexus shows a curved device with a curved face.

A livestream of the Galaxy-Samsung event will be posted online.

Next week's event was delayed as a tribute to the death of Steve Jobs, Google officially said.
A Google official who asked not to be identified later said the delay was solely because of Jobs' death, not due to technical or patent concerns as some had suggested.

Wednesday 12 October 2011

Top Torrent client apps for Android

Android phones are all over the market and almost all android phone has 3G+Wi-Fi which enables enough data speed to download big data files directly to mobile. Torrents have completely changed the way of downloading things from Internet. P2P sharing tools like torrent clients have developed to something that any Internet user would look for. You can download games, apps, video, mp3 and almost everything on Torrent. There are many apps for downloading torrent files on your Android phone. I have already tested 4 of them which are available to Android tablets and phones.



1. Transdroid

Transdroid for Android OS is an app that can act as a remote control for the Torrent clients on your PC. Once installed on your Android phone Transdroid lets you add downloads remotely and it starts instantly on your computer. You can also search for torrents from within Transdroid. If you find an interesting product having a barcode you can capture it and the app searches the web for suitable torrent. You can also control the speed and performance of the download. All popular clients are supported, including µTorrent, Transmission, rTorrent, Vuze, Deluge and BitTorrent 6.

2. uTorrent

 uTorrent is a famous for PC but they have an app for Android devices as well. They have done it simple and well and the app is easy to use. You will need Android 2.1 or higher to run it. It has almost all management features built in the apps that can be seen in the screenshot below.

3. AndTorrent

This free Android based torrent client lets you search torrents. And while queuing things on the download list, you can set the priorities. The feature that have worked on is the speed. The latest version of AndTorrent offers you with best of connectivity. you can also purchase the full pro version for $2.49.

4. Remote Transmission

Remote Transmission app for Android lets you queue torrents to remote transmission client. All you need to do is activate transmission’s web client and the authentication. Being still in beta with Remote Transmission app you can view torrents list and pause or resume them. Soon you can expect more features, like adding or remove torrents and detail view for each torrent.

5. aBTC

aBTC supports all the Android 1.6 and all other above versions. The best feature offered by this free Android torrent client is the fact that you can make it download using torrents even when you are not using the phone, may be when you are sleeping. It also offers you with DHT. This app is best for those who have previous version that Android 2.1

How to Install android 2.2 froyo in Nexus one

Google has already rolled out android 2.2 Froyo updates for Nexus one users as an OTA update, but as we know OTA updates are random, so you may not receive the update. But you can always install it manually; just follow the following simple steps :

1. Firstly download Android 2.2 Froyo from one of the following links :
http://www.romraid.com/paul/nexusone/update-nexusone-FRF50-signed.zip (ROMraid / CoBlitz) MD5: 946229291ed8e24cd80aeb4a66ca2fc7

2. Rename the file as update.zip .

 How to Install android 2.2 froyo in Nexus one3. Hold the trackball & press power button once to boot your device ( in recovery mode ).

4. Select Bootloader –> Recovery  .

5. Wait for the device to reboot. ( you will see a sign of a triangle with an exclamation mark in the centre ) .

6. Now press the power & volume up button ( at the same time ) .

7. Now select apply sdcard:update.zip

Now you are done. Your Nexus one is now updated with the all new Android Froyo 2.2; keep enjoying it..

Android’s HTTP Clients

Most network-connected Android apps will use HTTP to send and receive data. Android includes two HTTP clients: HttpURLConnection and Apache HTTP Client. Both support HTTPS, streaming uploads and downloads, configurable timeouts, IPv6 and connection pooling.

Apache HTTP Client

DefaultHttpClient and its sibling AndroidHttpClient are extensible HTTP clients suitable for web browsers. They have large and flexible APIs. Their implementation is stable and they have few bugs.
But the large size of this API makes it difficult for us to improve it without breaking compatibility. The Android team is not actively working on Apache HTTP Client.

HttpURLConnection

HttpURLConnection is a general-purpose, lightweight HTTP client suitable for most applications. This class has humble beginnings, but its focused API has made it easy for us to improve steadily.
Prior to Froyo, HttpURLConnection had some frustrating bugs. In particular, calling close() on a readable InputStream could poison the connection pool. Work around this by disabling connection pooling:
private void disableConnectionReuseIfNecessary() {
    // HTTP connection reuse which was buggy pre-froyo
    if (Integer.parseInt(Build.VERSION.SDK) < Build.VERSION_CODES.FROYO) {
        System.setProperty("http.keepAlive", "false");
    }
}
In Gingerbread, we added transparent response compression. HttpURLConnection will automatically add this header to outgoing requests, and handle the corresponding response:
Accept-Encoding: gzip
Take advantage of this by configuring your Web server to compress responses for clients that can support it. If response compression is problematic, the class documentation shows how to disable it.
Since HTTP’s Content-Length header returns the compressed size, it is an error to use getContentLength() to size buffers for the uncompressed data. Instead, read bytes from the response until InputStream.read() returns -1.
We also made several improvements to HTTPS in Gingerbread. HttpsURLConnection attempts to connect with Server Name Indication (SNI) which allows multiple HTTPS hosts to share an IP address. It also enables compression and session tickets. Should the connection fail, it is automatically retried without these features. This makes HttpsURLConnection efficient when connecting to up-to-date servers, without breaking compatibility with older ones.
In Ice Cream Sandwich, we are adding a response cache. With the cache installed, HTTP requests will be satisfied in one of three ways:
  • Fully cached responses are served directly from local storage. Because no network connection needs to be made such responses are available immediately.
  • Conditionally cached responses must have their freshness validated by the webserver. The client sends a request like “Give me /foo.png if it changed since yesterday” and the server replies with either the updated content or a 304 Not Modified status. If the content is unchanged it will not be downloaded!
  • Uncached responses are served from the web. These responses will get stored in the response cache for later.
Use reflection to enable HTTP response caching on devices that support it. This sample code will turn on the response cache on Ice Cream Sandwich without affecting earlier releases:
private void enableHttpResponseCache() {
    try {
        long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
        File httpCacheDir = new File(getCacheDir(), "http");
        Class.forName("android.net.http.HttpResponseCache")
            .getMethod("install", File.class, long.class)
            .invoke(null, httpCacheDir, httpCacheSize);
    } catch (Exception httpResponseCacheNotAvailable) {
    }
}
You should also configure your Web server to set cache headers on its HTTP responses.

Which client is best?

Apache HTTP client has fewer bugs on Eclair and Froyo. It is the best choice for these releases.
For Gingerbread and better, HttpURLConnection is the best choice. Its simple API and small size makes it great fit for Android. Transparent compression and response caching reduce network use, improve speed and save battery. New applications should use HttpURLConnection; it is where we will be spending our energy going forward.

Topic taken from http://android-developers.blogspot.com/?hl=en

What is Android?

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

Features

  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android Architecture

The following diagram shows the major components of the Android operating system. Each section is described in more detail below.



Android System Architecture

Applications


Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.

Application Framework

By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Underlying all applications is a set of services and systems, including:
  • A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
  • Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
  • A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
  • A Notification Manager that enables all applications to display custom alerts in the status bar
  • An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
For more details and a walkthrough of an application, see the Notepad Tutorial.

Libraries

Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:
  • System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics engine
  • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational database engine available to all applications

Android Runtime

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux Kernel

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Creating An Android Application For Your WordPress Blog

I came to know from one of my friends that building Android apps is no sweat but of course one should have an in-depth knowledge about two the computer languages mainly HTML and JavaScript. My field of expertise was working on web applications and those worked well on the web browsers, but I wanted to take up the challenge of creating an application for Android. I was successful in creating the Android application with my knowledge. I am sure you are eager to know about my recent feat and you are a first timer like I was, it may help you to begin.

About This Android Application

Let’s see what this wonderful app has in store for you. It basically is a feed reader and allows you to browse through the feed archives. The app allows you to save the articles in a reading list. The files that are saved can be read offline. On the page which shows you the entire details of the story, you can click on the download button, which allows you to download the entire story on your phone. If you want you may even save them in PDF format by clicking on the share option and choosing the save as PDF option. The application also allows you to search the blog and other sites using Google Custom Search and all this can be done from within the application itself.

Building Blocks For This Android Application

Do you want to know about the inside story behind the development of this Android App? I too am eager to share the same with you. First and foremost use the basic HTML tags to produce a page that suits you mobile.  To display data on to this page you will need to parse the RSS feeds from your existing WordPress installation. To deal with the styling you need to incorporate the jQuery Android library which makes the final app work seamlessly across various hand held mobile devices. This page will now need converting to an Android application (apk) by using a free tool called Phonegap.

Technical Information Related To Your Android Application

The application that I created used RSS feeds to fetch content from my WordPress blog but then it can work with any feeds for that matter. It is important that you acquire knowledge and familiarize yourself with the JavaScript library called jQuery and its mobile version called jQuery Mobile. This is a free library and you can get a huge amount of information regarding it online. You will get free tutorials and even applications being distributed online which uses jQuery and its native handlers.

The other important part in building this application would be your knowledge on table less HTML structures using div tags. That creates the different screens for the application using AJAX to fetch, parse and load content. The loading screen during page transition, the way the screen is laid out using cascading style sheets are generated using the jQuery mobile JavaScript library.

RSS Feeds – Your Database

You should know about RSS feeds as the application grabs the data to be displayed on the screens by parsing them. The feed requests to wordpress are controlled through the Google Feeds API, which parses the data for you. The benefit of using the Google API is that using it you can do away with cross domain security issues generally associated with JavaScript calls. If you want to display images in the application, your wordpress or the feed that you are using should contain the media elements in them. As the Google API does all the hard work for you by fetching and parsing the data, you need not worry about coding for cross platforms.

Your Android Application And WordPress

I used my Dropbox account to store the folder which contains all my images, JavaScript files and HTML files. The Dropbox folder on my local machine made the job of testing the application over various platform screens easier. As you may know Dropbox gives you a website link for your folder with public read access. This link can be used on any mobile or desktop web browsers. The most interesting part is that if you change your files locally, Dropbox will synchronize the files immediately and the changes are implemented across all browsers immediately. You will need to refresh them to view the changes.
If you need your application to be tested offline then you will need to use HTML5 local Storage; this is supported by all browsers. This feature has been used in my app to create the reading list feature. When to save the story, it gets stored in your local Storage area, that can thereafter be accessed offline.

Making The Android Application Compatible With HTML5

The jQuery mobile library provides the sliding transition effect to the pages but then it may appear with flickering effect. To do away with it, you can choose to use other effects. You should note the displaying embedding codes from You Tube videos may not work on HTML 5 canvasses on your Android. You will need to manipulate the codes to make them compatible with HTML5, so the IFRAME codes which are provided by You Tube will need to change.
When you are ready with your application and want to convert it into an Android application, you will need to convert the page using a tool called PhoneGap. This tool packs your HTML file, cascading style sheets, JavaScript files and images. The package is then converted into an Android application. For publishing these applications you can use readily available icons from the developer site hosted by Android. As the icons can be modified using Photoshop, you can easily modify them to make your own.

Advantage Of jQuery Mobile

The most important feature of using jQuery mobile is that your HTML document is made compatible across all major mobile platforms. The list includes Android, Symbian, Blackberry and iPhone among others. The same code base that you will use to create the application can be used for creating others.
With an Android phone you can open the apk file in your browser and the application will automatically install. You may need to change the application settings in your handset to allow applications from Untrusted sources to be installed in your Android. This will ensure that all apps that are not using the Android Market can be installed in your Android phone.

Conclusion

This is just a very basic version of an Android application. There may be bugs and they will need to be ironed out. Various other features can be added to it, to make it more user friendly and functional. That may be something for the future.

Friday 30 September 2011

A Journey to the Centre of Android


Android is an open source OS for mobile platforms based on Linux kernel developed by Google in alliance with the Open Handset Alliance. Android is perhaps the hottest topics around. Here I will talk about the architecture of Android. We can dissect the Android architecture in five different sections.

android-architecture-485bAndroid Architecture

1. The Linux kernel: The Android relies on Linux 2.6 kernel for security, process management,network stack, memory management and driver model. It also acts as a layer of abstraction between the hardware and the rest of the software stack. The major Android kernel features are the following: Binder: The binder is derived from OpenBinder in Linux. OpenBinder is system-level component architecture, designed to provide a richer high-level abstraction on top of traditional modern operating system services.

Power: It manages the power and is implemented through wake locks. Every time the Android boots it searches for the battery and if not found throws an error saying insufficient power and then shuts down. This is encountered when you try to port Android on any board say a Beagle board. A particular line has to be commented out in power management source code to avoid this.

Ashmem: This is the anonymous shared memory subsystem of Android.

Low memory killer: This used to kill applications when the Android is running low on memory. Suppose you get an incoming call but your phone is low on memory. The low memory killer then kills the application with the least priority and creates space in the memory so that you can receive your call.

Logger: Logs all information (including boot time information) which can be retrieved later by user space with logcat command.

ADB: Android Debug Bridge is a debugging protocol over USB.

2. Native libraries: Android includes a set of C/C++ libraries used by various components  of  the Android system. It includes system C libraries, media libraries, surface manager (manages access to display sub-sytem), SQLite (a light-weight relational database) etc.

3. Android runtime: Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. As soon as you enter the init part of the kernel, you enter the Android. In this you will find “Zygote” which is a nascent process. It provides access to the Dalvik Virtual Machine. For every application that runs on Android, a separate DVM instance is spawned by the Zygote. That means each application runs on separate instances of the DVM. This optimizes the memory footprint. The DVM is similar to JVM or Java Virtual Machine, but there are two basic differences. DVM is register based  whereas  JVM is  stack based.  And secondly, all applications run on the same instance of JVM but a separate instance is spawned for each application in case of DVM.

4. Application framework: Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify  the  reuse  of  components;  any application can publish its capabilities and any other application  may  then  make  use  of  those capabilities (subject to security constraints enforced by the framework). This same  mechanism  allows components to be replaced by the user. They include Activity manager, Window Manager, Package manager, Resource manager etc.

5. Android applications: Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.