Code

Radioo | Android Universal Multi Radio Stations App Template

Radioo | Android Universal Multi Radio Stations App Template








Both iOS and Android version share the same database on back4app






8 May 2018
• Changed Parse verison in build.gradle into 1.16.0, due to some issue on the latest Parse SDK and FCM:
    implementation 'com.parse:parse-android:1.16.0'

• Edited 'getUserDetailsFromFB()' method in Login.java, this line of code:
    } else { currUser.put(Configs.USER_EMAIL,  facebookID + "@facebook.com"); }
18 April 2018
*** MAJOR UPDATE ***
• Replaced AdMob banners code with Interstitial ads in Home.java, Stations.java, and Favorites.java
• Completely reskinned the app with a new fresh and modern design
• Added a new 'font' folder with Quicksand fonts in the 'assets' folder | changed the default fonts in the java files with '.setTypeface()' instances
• Created a "Stations" new class in the Parse Dashboard, so now you don't need to create any class for the music genres, all radio stations must be stored into the Stations class
• Edited all java and xml files (compare your old files with the updated ones and perform the code/design changes)
• Added these lines in Configs.java:
   public static String  STATIONS_CLASS_NAME = "Stations"; 
   public static String  STATIONS_GENRE = "genre";
   public static String  STATIONS_FAVORITED_BY = "favoritedBy";
    public static String  FAVORITES_STATION_POINTER = "stationPointer"; 

*** IMPORTANT: IF THIS IS AN UPDATE FOR YOU, then you should uncomment 'createGenresAndFirstGenreClassesAndRows()' from onCreate() in Home.java, run the app once and let it create a demo radio station and the "Stations" new class in your Parse Dashboard
After that, you need to create all your new rows for radio stations in the "Stations" class, you can copy URL and Name of your old radio stations from their classes, and the genre name of the cells of the 'genre' column must match the genre names you've inserted in the "Genres_" class. 
Once you're done, you can remove all music genre classes you've previously created (like Rock, Ambient, Jazz, etc.)
One more thing, you need to add a radio station to Favorites, then check the "Favorites" class in your Parse Dashboard, it'll have a new column called "stationPointer". This value is just the objectId of the favorited station from the "Stations" class, so if you have other rows in the "Favorites" class, they'll have the cells of the 'stationPointer' column empty [undefined]. You have to copy the objectId's of those radio stations and paste them in their relative cells, so the Favorites system will work smoothly.
15 April 2018
• Updated to Android Studio 3.1.1
• Removed all dependencies of play-services | left only this one in build.gradle:
     implementation 'com.google.android.gms:play-services:+'
11 April 2018
• Updated to Android Studio 3.1
• Updated 'compileSdkVersion' and  'targetSdkVersion' to 27 in build.gradle
• Replaced 'compile' with 'implementation' in build.gradle (Module: app)
• Updated classpath 'com.android.tools.build:gradle:3.1.1' in build.gradle (Project:)


Radioo is a Universal App template which stores free online radio stations into a flexible Parse Dashboard database hosted on http://back4app.com, all .m3u file links from SHOUTcast.com. You have to download the M3U files and extract the streaming URL from them, then simply paste them into your own Parse Dashboard to create playlists.
You can play radio stations anywhere with a 3G or WiFi connection, add radios to favorites (login/sign up required) and select your radio channels by Genre, and share the radio you’re listening to the world.

Since its backend is by Parse Server, you don’t have to buy any domain/hosting, there are NO PHP files to upload to a web server so you’ll save some money for server side.

You may also use the Adminca.com, a free CMS panel for Parse SDK as a great alternative to insert/edit data in your Parse Dashboard, after you’ll create your app on back4app, create a free account on http://adminca.com and create a new Panel, choose Self-hosted Parse Server and paste your Host link, Application ID and Master Key in the relative fields (you can find them in Core Settings of your back4app dashboard).



Radioo is very easy to customize, native Android Studio project, Parse SDK backend.




About Parse SDK and back4app

Read this article for more info about back4app and Parse SDK: https://hubpages.com/technology/Parse-SDK-will-not-shutdown-in-thanks-to-back4app

Can I host Parse Server on my own server?

Yes, although I don’t provide support for the setup process, you can read the official Guide here: http://parseplatform.org

What about free support for this template?

I can offer free support for bugs encountered in the original code. Instead, if you’ve edited the code and messed something up with it, I may apply some fee to fix it either via TeamViewer or by checking your app project files directly on my computer.

How do I rename the app’s package name?

Read this tutorial to learn how to rename a package name: https://hubpages.com/technology/Android-How-to-rename-an-app-package

Should I use the latest version of Android Studio to edit this template?

Yes, I always update my apps to the latest version of the IDE and you also should make sure you’ve updated the Android Tools to their latest version of the Android SDK manager.

The demo APK crashes on startup

Make sure that the minimum Android version of your device is the one listed in the FEATURES section below. If the problem persists, please contact me by my profile’s contact form and send me the Logcat message of you get when the app crashes along with the steps you made to reproduce the crash. Please note that not all real devices print an error Logcat message, in this case just run the APK into the Android Studio’s emulator and you’ll surely get the red messages about your issue.

How do I remove AdMob banner ads?

  1. Enter the .xml files where there’s an AdView and remove its code:
        <com.google.android.gms.ads.AdView
            android:id="@+id/admobBanner" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            ads:adSize="BANNER" 
            ads:adUnitId="@string/ADMOB_BANNER_UNIT_ID" 
            android:layout_alignParentBottom="true" 
            android:layout_centerHorizontal="true">
        </com.google.android.gms.ads.AdView>
    
  2. Enter the .java files where there’s an AdRequest instance into its onCreate() method and remove its code:
            // Init AdMob banner
            AdView mAdView = (AdView) findViewById(R.id.admobBanner);
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
    
  3. Lastly, remove the play-services-ads reference in the build.gradle file:
        compile 'com.google.android.gms:play-services-ads:+'
    





  • Android Studio 3.x project – Universal – Android 5.0+
  • AdMob banners
  • Works with Parse SDK hosted on back4app
  • Easily update your radio stations via your Parse Dashboard, no need to update the app on the Play Store
  • PDF User Guide included
  • PSD graphics included
  • Easy to customize, well commented code


  • Apple Mac or Windows PC with their latest OS version installed
  • The latest version of Android Studio and some knowledge about its UI interface
  • Photoshop or any other image editor software
  • A Google Developer account to submit apps to the Play Store
  • An AdMob account to generate your own banner UNIT ID
  • A free account on back4app.com









by
by
by
by
by
by