Changes

Jump to: navigation, search

Android Discovery Zone

6,462 bytes added, 20:31, 23 April 2018
m
Reverted edits by Chris Tyler (talk) to last revision by Peter.liu
= Android Services =
*How to check all the running services in android? [http://stackoverflow.com/questions/5523718/how-to-check-all-the-running-services-in-android]
*AIDL (Android Interface Definition Language) [http://developer.android.com/guide/components/aidl.html]
*NotificationListenerService [http://developer.android.com/reference/android/service/notification/NotificationListenerService.html] [http://developer.android.com/about/versions/android-4.3.html]
*Android Push Notifications [https://parse.com/tutorials/android-push-notifications]
*Android Push Notification Service (APNS) [http://www.push-notification.org/]
*Android: implementing a notification service the right way [http://it-ride.blogspot.ca/2010/10/android-implementing-notification.html]
= Development Environment Setup for using Google Maps and Location Services =
* the Setup section in the Google Play services guide [http://developer.android.com/google/play-services/setup.html]
 
= Importing Android Studio Project into Eclipse =
Android Studio integrates with Gradle, so the project structure is changed.
 
When importing from Eclipse to Android Studio, the IDE handles the conversion and will automatically update the directory structure.
 
For Android Studio to Eclipse:
 
* Create a new Android empty project in eclipse
* Overwrite the fresh res/ folder and the AndroidManifest.xml file, with the ones from the Android Studio project
* Copy the content of the java/ folder from the Android Studio project (it should contain your package name folder structure, like com/example/app/, and the java files of course) in the Eclipse src folder
* Link your needed libraries if it's the case
 
= Speeding Up Emulator with Intel Plugin (Pedro Bellesa)=
'''Mac Instructions'''
* Open the Android SDK Manager.
[[File:SDKManager.png|400px]]
* Navigate to the Extras folder, and select the Intel x86 Emulator Accelerator.
* Install the package.
* Navigate to the installation folder. (e.g. "/Applications/Android Studio.app/sdk/extras/intel/Hardware_Accelerated_Execution_Manager/")
* Open the .dmg file and follow the installation.
* When it asks you to select the amount of RAM for the accelerator, choose at least 2048Mb.
* When creating your device emulator in Android Device Manager, make sure it uses the x86 CPU.
[[File:AVD_X86.png|400px]]
= Google Maps Android API v2 =
**** a video demo on GenyMotion's emulator [http://www.youtube.com/watch?v=1kHVWwHRFm8]
*** '''The Problem of Getting Map Keys for Google Maps Android API v1''' [http://stackoverflow.com/questions/13905293/is-google-maps-api-key-v2-eligible-for-mapview-element]
* '''How to get Google Maps/MyPlaces app to run on the emulator?'''
** Alfred's contribution (Lab Q&A).
= Location Awareness =
**Android UI fundamantals develop and design by Jason Ostrander. Peachpit 2012.
**Android design patterns interaction design solutions for developers byGreg Nudelman. Wiely 2013.
 
*Android documentation is very erroneous. I wasted nearly 4 hours trying to get a search bar feature in my app working as per what is given in [http://developer.android.com/training/search/setup.html Android Documentation for Search] only to find this out:
[http://stackoverflow.com/questions/11699206/cannot-get-searchview-in-actionbar-to-work Stackoverflow] <br /> -- Gideon
= Resource Types =
right click on it, select run as android application. As long as your device runs the minimum SDK version listed in your apps manifest file (ie: <uses-sdk android:minSdkVersion="10" />) then your device should be on the list of devices where you can run and debug your app. Most devices can run a SDKVersion 8 though for some of the later labs you might need SDKVersion 10.
 
=Parsing XML Attributes (Dennis Villasenor) =
 
This section shows how to parse xml attributes using xmlpullparser like in the example below
 
<stop tag="473" title="Humber Loop At The Queensway" lat="43.6310799" lon="-79.47871" stopId="13692"/>
 
The first step will be to create a class that contains the attributes you wish to retrieve more than one attribute from the xml tag.
 
the next step will be to create an arraylist of either that class you just created or an arraylist of Strings (or any other type but Strings is recommended).
 
ie: ArrayList<Stop> stopArray = new ArrayList<Stop>();
 
do the xml pull parsing like here
 
http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html
 
at the start tag section check for the tag whose attributes you wish to retrieve by calling xmlpullparser's getName method to get the current xml tag it is on and using string compare with a string containing the tag you wish to compare it to and use the getAttributeValue method as seen below to retrive the value of xml tag's attribute you wish to retrieve.
 
 
 
else if(eventType == XmlPullParser.START_TAG) {
if("stop".equals(parser.getName())){
if(parser.getAttributeValue(null, "stopId") != null){
String myTag = parser.getAttributeValue(null, "tag");
 
after this is done, add your String (or object) into your array. Be sure to do this while inside the the while(eventType != XmlPullParser.END_DOCUMENT) loop
 
stopArray.add(myTag);}
 
Once all this is done you can now work with the values of the xml attributes by just going through the arraylist.
 
= Registering Twitter App - getting Consumer Key and Consumer Secret (Imtiaz Latif) =
In order to access Twitter API, you must create Consumer Key and Consumer Secret. Why do you need these key? because Twitter and many other organizations have added an open standard token based framework called OAuth http://oauth.net/about/ for authentication and authorization purpose.
 
'''Steps for getting Consumer Key and Consumer Secret.'''
 
'''Step 1: Navigate to https://dev.twitter.com/apps/new and enter you Twitter user name and password.'''
 
[[File:signin.jpg]]
 
'''Step 2: Once you login, you need to register your application'''
 
[[File:details.jpg]]
 
'''Step 3: After you register your App, click on settings tab and change the access type to read, write access.'''
 
[[File:permission.jpg]]
 
'''Step 4: Copy the Consumer Key and Consumer Access'''
 
[[File:keys.jpg]]
 
Please note: you also need to download Twitter4J.jar files and place it in your project's libs folder. you can further read their official documentation to determine which file you needed for your project here http://twitter4j.org/en/code-examples.html.
 
[[File:twitter4j.jpg]]
 
=Projecting Android Phone to Computer (Alek Minassian) =
You can project the screen of your Android Phone to your computer in real time by using a program called Droid@Screen found at http://droid-at-screen.ribomation.com/download/ (download the latest version). This is a JAR file that does not require installation. Once you have downloaded the file, you can simply open it to run it.
 
Once you have opened Droid@Screen, USB connect your Android phone to your computer, enable USB Debugging on it, then on Droid@Screen, go to ADB --> ADB Executable Path, then enter the path to the adb.exe file for the version of ADT Eclipse you are using (...\sdk\platform-tools\adb.exe​). Once you have done this, your phone should appear in the Devices list and you should be receiving a live projection of its screen.
 
= Viewing a Database on an Android Emulator/Device =
*how can i access the Sqlite database on real android device using DDMS in eclipse juno [http://stackoverflow.com/questions/28185335/how-can-i-access-the-sqlite-database-on-real-android-device-using-ddms-in-eclips]
*Database not visible in DDMS folder when real device used instead of emulator [http://stackoverflow.com/questions/18437347/database-not-visible-in-ddms-folder-when-real-device-used-instead-of-emulator]

Navigation menu