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

Wednesday, May 25, 2016

Research about Android and IPhone market

Reality:
1. Android is dominating the market, dominating the downloads, but it is losing the app sales, etc.
2. Android 4+ has 40% of the market.

Differences:
1. For releasing an app, Android is better than Apple, etc.

Feelings:
1. You will never know which is winning ultimately IPhone or Android ?

References:
http://www.businessinsider.com/iphone-v-android-market-share-2014-5
http://bgr.com/2014/07/01/android-market-share-2014/
http://www.forbes.com/sites/tonybradley/2013/11/15/android-dominates-market-share-but-apple-makes-all-the-money/
http://techland.time.com/2013/04/16/ios-vs-android/
http://www.inc.com/erik-sherman/should-mobile-tech-startups-focus-on-android-over-ios.html
http://www.inquisitr.com/467457/google-android-4-0-now-controls-40-marketshare/

References in China:
http://chanye.18183.com/201407/140166.html
http://www.cnbeta.com/articles/303821.htm
http://chanye.ptbus.com/151150/
http://www.ali213.net/news/html/2014-7/110648.html
http://mytwoandahalfcents.com/android-app-vs-iphone-app-which-do-you-choose-for-your-startup/











Research about Android File Transfer

Research Findings:
1.  USB drivers for Android phones and tablets are needed for connecting our devices to the computer. This includes, using the device for development which requires Android SDK USB drivers, ADB and Fastboot drivers, transferring media content and files to your phone storage etc.
2.  Android doesn’t include a file manager app by default.
3.   With the Android device in its default MTP mode (PTP is also available, and USB mass storage may be available on older devices), it will appear in your Windows or Linux file manager window as a standard device.
4.  Older Android devices support USB mass storage for transferring files back and forth with a computer. Modern Android devices use the MTP or PTP protocols — you can choose which one you prefer.
5.  USB mass storage is the standard protocol used by flash drives, external hard drives, SD cards, and other USB storage devices. The drive makes itself completely available to the computer, just as if it were an internal drive.
6.  Apple’s Mac OS X is a holdout — it doesn’t include MTP support at all. Apple’s iPod, iPhone, and iPad use their own proprietary syncing protocol along with iTunes, so why would they want to support a competing protocol?
7.  Any software program that supports grabbing photos from a digital camera will support grabbing photos from an Android phone when you select the PTP mode. PTP was designed to be a standard protocol for communicating with digital cameras.
8.  your Android device will work with digital camera applications that support PTP but not MTP. Apple’s Mac OS X does support PTP, so you can use PTP mode to transfer photos from an Android device to a Mac over a USB connection without any special software.
9.  4GB limit is a filesystem limitation
10.  Whether you’re formatting an internal drive, external drive, USB flash drive, or SD card, Windows will give you the choice of NTFS, FAT32, and exFAT.
11.  Android is a Linux-based operating system
12.  Google’s Android developers could modify the Linux kernel to fit their needs. Linux gives the Android developers a pre-built, already maintained operating system kernel to start with so they don’t have to write their own kernel.
14.  The hardware abstraction layer (HAL) defines a standard interface for hardware vendors to implement and allows Android to be agnostic about lower-level driver implementations. The HAL allows you to implement functionality without affecting or modifying the higher level system. HAL implementations are packaged into modules (.so) file and loaded by the Android system at the appropriate time.
15.  Android is a mobile operating system (OS) currently developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.
16.  Android has the largest installed base of all operating systems of any kind. Android has been the best selling OS on tablets since 2013, and on smartphones it is dominant by any metric
17.  Android was unveiled in 2007, along with the founding of the Open Handset Alliance – a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices
18.  As of July 2013, the Google Play store has had over one million Android applications ("apps") published, and over 50 billion applications downloaded

Experience:
1. The storage is very limited, constrainted by storage size.

Tools:
File Explorer
Internal SD Card
External SD Card
Android Camera

Storage:
Internal Storage Options

Android Phones:
Sansung Galaxy S6
Android Version 5.1.1 Lollipop

System Architecture:
https://source.android.com/devices/

File Storage:
DCIM
Downloads

Image Transfer:
Preview App
Image Transfer App
FTU
Ext4

Good Tools:
Airdrop (Not Gallery)

Common Issues:
your device is rooted
Device Storage is too small
Hard to transfer media and movies to Computer
Pictures don't show in Image Transfer App
Which part is owned by Hardware Manufactor, Android Framework, and Application Developer ?
Many times doesn't recognize gestures.

References:
https://source.android.com/devices/
http://android.stackexchange.com/questions/48812/bypass-4gb-limitation-of-android-file-transfer
https://en.wikipedia.org/wiki/Android_(operating_system)



Saturday, July 12, 2014

How to develop first Phonegap App on Android



Knowledge Sharing:
1. In order to install PhoneGap Build applications on Android, you will need to ensure your device will allow applications to be installed outside of the Google Play marketplace. To enable this on most Android devices you just go to the Settings > Security and then check “Allow applications from unknown sources.”

Goals:
1. Set up PhoneGap/Android Development Environment
2. Set up STS
3. Develop a HelloWorld APP
4. Deploy it to Android Emulator and Android Device
5. Work with SVN via STS Subclipse Plugin

Tools:
Spring Tool Suite with ADT Plugin
Android Studio

Tech Stack:
JDK 6/7 Node.js + Ant + Git + PhoneGap + Android SDK + Cordova


Steps to set up Phonegap Development Environment:
1. Install node.js from http://nodejs.org/
2. Install git from http://git-scm.com/download/mac
3. Install ant from http://ant.apache.org/bindownload.cgi
4. Install phonegap from http://phonegap.com/
5. Install Android SDK from http://developer.android.com/sdk/index.html
6. Install Cordova with node.js
http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-Line%20Interface
sudo npm install -g cordova
7. Install ADT Plugin into Eclipse
8. Set up classpath:
    export PATH=${PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
 ;%JAVA_HOME%\bin;%ANT_HOME%\bin
Samples for Hello World:
http://docs.phonegap.com/en/edge/guide_platforms_android_index.md.html#Android%20Platform%20Guide

Work with SVN:
1. Check out the Android application from SVN to STS with Subclipse plugin.
2. Import Android application to STS as Android project.
3. Make changes to Android project and synchroize with SVN.

References:
http://flippinawesome.org/2013/03/29/phonegap-build-part1/
http://code.tutsplus.com/tutorials/phonegap-from-scratch-introduction--mobile-9171
http://stackoverflow.com/questions/16636146/using-android-studio-with-java-1-7

Android + PhoneGap:
http://docs.phonegap.com/en/2.7.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
http://spring.io/guides/gs/android/

Best Practice:
1. Install Android SDK in a separate location.
2.

Issue List:
Issue 1: Please install Android target 19 (the Android newest SDK).
Solution: http://stackoverflow.com/questions/20010969/phonegap-with-android-sdk-4-4

Issue 2: didn't see android avd in eclipse
Solution: Change the perspective to java perspective

Issue 3: How to use Android Studio with Mac and Java 1.7
Solution: For those wonder how you start the actual program Android Studio with Java 7 edit the plist located in /Applications/Android Studio.app/Contents/info.plist Change the xml key JVMVersion which is 1.6* to 1.7*

Issue 4: Failed to open the HAX device! HAX is not working and emulator runs in emulation mode emulator
http://stackoverflow.com/questions/20857256/failed-to-open-the-hax-device-hax-is-not-working-and-emulator-runs-in-emulation
https://software.intel.com/en-us/android

Issue 5: Android AVD starts slow
http://stackoverflow.com/questions/1554099/why-is-the-android-emulator-so-slow
Issue 6: adb devices shows unauthorized
http://stackoverflow.com/questions/18011685/cant-connect-nexus-4-to-adb-unauthorized

Issue 7: it works in real device, but failed in the emulator
Some issue happened for AVD.
07-12 14:04:22.270: E/WebViewFactory(836): Chromium WebView does not exist
Real Device: Android 4.4.2
Remove the Android 4.4.W. Make sure that I can choose different target.

Issue 8: Can't see hidden files in Mac
Solution: defaults write com.apple.finder AppleShowAllFiles TRUE
http://osxdaily.com/2009/02/25/show-hidden-files-in-os-x/

Issue 9: Ask Eclipse to prompt for workspace

Issue 10: Eclipse Hangs in DDMS post-create init
http://stackoverflow.com/questions/8677679/eclipse-hangs-in-ddms-post-create-init

Issue 11: What is the best SVN Client tools in MAC
http://svn-ref.assembla.com/mac-svn-client-reviews.html#versions
Versions