Labs Q&A Fall 2013
From CDOT Wiki
- Has anyone run into a problem where the emulator refuses to rotate (at all, never mind the layout of the running app)? I tried Ctrl+f11/f12, f11/f12, but none of them work. And I don't have a number pad on my laptop to try 7/9. --Andrew
- I pressed the HOME key (number pad) on my laptop and the emulator's orientation changed from portrait to landscape. (Peter)
- Figured it out - it was already used by the xfce window manager to switch to desktop 11/12, just cleared that binding and now it works as it should with the emulator. --Andrew
- If my app has an activity (activity1) that starts another activity (activity2), what's the relationship between these two? Is it possible that Android will kill activity1 since activity2 is te current activity? What if activity2 is not full screen, does that make a difference? -- Andrew
- In Lab2, when I was modifying and saving FirstActivity.java.bak while using NLED, the editor automatically saved a FirstActivity.java.bak in the same folder. When running 'ant debug' to compile, it generated error, explaining that unauthorized file was contained in the source folder. The way to solve this issue is to simply remove the .bak file or any other file extensions that is not the .java extension in the source directory. -- Peter
- How to capture emulator screenshots in Eclipse? [1] [2]
- How to export logging data from LogCat to a text file? [3] [4]
- How to load the externally created SQLite database into an Android project?
- Read the "Pre-Creating the Database" section in the textbook (pp. 285-289).
- the assets folder and the /data/data/<package name>/databases folder
- How do I open the database under data/data using the SqlLite browser?
- Will Android do anything to prevent more than one copy of a content provider being created at the same time? If not - how to prevent data corruption or inconsistency?
- I managed to get Google Maps/MyPlaces app to run on the emulator. It involved copying 2 APKs from a real device onto the emulator: /data/app/com.android.vending-1.apk and /data/app/com.google.android.gms-1.apk. Strangely enough, it seems to work on an Android API emulator but not a Google API emulator; adb install looked like it froze on attempting to install the APKs to a Google API emulator. The app runs, however, I get a bunch of repeated debug messages of "Failed to find provider info for com.google.android.gsf.gservices". If you want to give it a shot, here are some basic directions:
- Ensure you are using an Android API emulator, NOT the Google API! For some reason the APKs didn't install for me (or maybe you can figure it out...)
- Install and run the app on a real Android device. This is just to ensure that you have the updated version of Google Play Services on your device, and if not, you'll be prompted to update it using a Google login. The app should run after the update.
- Copy the 2 above APKs from the device to local storage (use -s option to specify device if you currently have 2 or more connected, use adb devices to see IDs)
- adb pull data/app/com.google.android.gms-1.apk gms-1.apk
- adb pull data/app/com.android.vending-1.apk vending-1.apk
- Start the emulator if you haven't done so already, and install the 2 APKs to the emulator (once again use -s option to specify device if necessary)
- adb install gms-1.apk
- adb install vending-1.apk
- Run MyPlaces on the emulator. It should run now... I don't know if I'm allowed to put these APKs up for download... --Mdafidchao 11:38, 14 November 2013 (EST)