MythTV-Clients / MythTV-Android-Frontend

Implementation of MythTV .25+ Services API for Android
GNU General Public License v3.0
65 stars 16 forks source link

MythTV Android Frontend

Implementation of MythTV 0.25-0.27 Services API for Android. http://www.mythtv.org/wiki/Services_API

What is the Services API (from the above wiki link)

The Services API is a new set of APIs (Application Programming Interfaces) taking the place of MythXML in MythTV versions .25 and later. It is an extremely featureful set of interfaces designed to allow one to configure MythTV, access MythTV content, control your DVR, use MythTV as a service in your own applications, and otherwise make MythTV accessible to any and everyone. The Services API uses regular HTTP POST and GET commands, and can return both JSON and XML output by setting the HTTP accepts header appropriately. The Services API is organized into services, which are logical groupings of APIs by their function and purpose. The individual methods contained in each service are documented on the service's wiki page.

Build Environment

For instructions on how setup the build environment for this application, please see the following: https://github.com/MythTV-Clients/MythTV-Android-Frontend/wiki/Development-Environment-Setup

Explaination of Android Permissions

Connecting to Mythtv Backend via SSH

If you want to use this app on a cellular network, take a look at these instructions for accessing the backend while not on the home wifi network: https://github.com/MythTV-Clients/MythTV-Android-Frontend/wiki/Access-MythTV-Master-Backend-via-SSH

Prepare repository for release

The following instructions prepare the code in the repository for release to the Google Play Market

mvn release:clean -Dgpg.passphrase=[passphrase]

mvn release:prepare -Dgpg.passphrase=[passphrase]

This tags the repository at a point in time where it can be reverted for testing issues reported from the Google Play Developer Console.

Mythtv Android Frontend and Zeroconf

Please see the section titles: What are the requirements for Mythtv for Android and Zeroconf? in https://github.com/MythTV-Clients/MythTV-Android-Frontend/wiki/FAQ

Running MythTV Android Frontend in an emulator (and examining the database)

  1. In eclipse, open the Android Virtual Device Emulator.

    start the emulator.pnghttps://docs.google.com/file/d/0B4KM23cDPRz_bEk2clY0bGl2Sjg/edit

  2. Create a new AVD, if one doesn't already exist. There are now profiles for most nexus devices on there.

  3. Start the AVD.

    android virtual device manager.pnghttps://docs.google.com/file/d/0B4KM23cDPRz_a2ZQUGw2TnpRNnc/edit

  4. In Eclipse, right-click the root of the Mythtv for Android app and select Run As -> Android Application, Select the AVD if prompted.

  5. Let the app install and download all the data. You will need to create an Away profile with the IP address of one of your backends.

    emulator running.pnghttps://docs.google.com/file/d/0B4KM23cDPRz_X3podlVGRHRHSTA/edit

  6. In eclipse, switch to the DDMS perspective.

    start ddms.pnghttps://docs.google.com/file/d/0B4KM23cDPRz_X2g4V3U1czNnSms/edit

  7. Select the emulator instance on the left.

  8. Navigate down to data/data/org.mythtv/databases on the right pane in the file browser.

    location of db.pnghttps://docs.google.com/file/d/0B4KM23cDPRz_U0NzbVZvdDN5ZVE/edit

  9. Select the Pull a file from device button in the top right-corner of the file browser. You can use sqlitebrowser to examine the database. Use your distribution's package manager to get a copy of sqlitebrowser.