Code

YouNews | Android Universal News App Template

YouNews | Android Universal News App Template







iOS and Android versions can share the same database on back4app





25 May 2018
• Accordingly to the new EU GDPR terms, I've updated the 'tou.html' file and Documentation.
IMPORTANT: This means that if a User asks for his/her Account deletion, you must do it within 24 hours, as the GDPR's "Right to be forgotten" Article states (LINK: https://gdpr-info.eu/art-17-gdpr/)
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"); }
17 April 2018
• Added new Firebase dependencies in build.gradle(Module:app)
• Removed the 'com.google.android.gms:play-services:+' implementation and updated all dependencies to the required ones only
• Added the 'google-services' classpath in the dependencies{} list in build.gradle(Project:)
    classpath 'com.google.gms:google-services:3.2.1'

• Added this Permission into Manifest.xml: 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

• Updated the Documentation (connect your App to Firebase for FCM)
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' to 27 in build.gradle
• Replaced 'compile' with 'implementation' in build.gradle (Module: app)
Feb 26th 2018
• Replaced the "ndNewsTextTxt" TextView with a WebView in the news_details.xml, adjusted the code in NewsDetails.java accordingly, edited the "showNewsDetails()" method:
     // Get news text
     String htmlText = newsObj.getString(Configs.NEWS_HTML_TEXT);
     newsTextWebView.getSettings().setJavaScriptEnabled(true);
     newsTextWebView.loadDataWithBaseURL(null, htmlText, "text/html", "utf-8", null);

In this way, you'll be able to publish news articles with bold or italic text, links, and images (still from the web, not locally), instead of plain text.

• Added this line into Configs.java:
    public static String NEWS_HTML_TEXT = "htmltext";

• Added a sheet.html file in the package, in order to help you create HTML text articles for the Parse Dashboard.

* IMPORTANT: IF THIS IS AN UPDATE FOR YOU, then you first need to enter your Parse Dashboard and create a new column in the News class called exactly "htmltext", of Type String, and fill it all the empty cells of such column with your HTML text (the Documentation explains how to do that with a new sheet.html file included in the package). 
Then you can update the code of your app project and test it.




YouNews is a Universal App Template where you – as the Admin of the app – can easily add and edit news via the Parse Dashboard hosted on back4app.com or Adminca.com free CMS panel for Parse apps and have them displayed right away in the app:



You can also send Push Notifications to all registered devices via the Parse Push console on back4app.

Users and readers can comment, like and share news – Login/Sign Up is required for comments and likes – as well as contact the admin by email, rate the app on the App Store. You as the Admin of the app should daily check your database for reported comments and take action for them.
The Category images and names are stored locally within the Xcode project, the User Guide explains how to configure the app, the backend on back4app and how to edit/add categories.

Since its backend is by Parse 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. Worried about Parse shutting down? It won’t, please check this out: https://hubpages.com/technology/Parse-SDK-will-not-shutdown-in-thanks-to-back4app

YouNews is a native Android Studio project, Java/xml language, Universal, super easy to customize, backend with Parse SDK hosted on http://back4app.com





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+ – Backend with Parse Server hosted on https://back4app.com
  • AdMob banners
  • Send Push Notifications to all registered device via the Parse Push web console on back4app
  • Comment, like and share news
  • Admin can easily insert/edit news via the Parse Dashboard or Adminca.com CMS panel
  • Rate and share app feature
  • Image and YouTube video headers for the news details screen
  • PDF User Guide and PSD 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