Classify | Android Universal Classifieds App Template

Classify | Android Universal Classifieds App Template

Both iOS and Android version can share the same Parse database

Jan 21th 2018
• Added this line in the dependencies list of build.gradle (Module: app):
    compile 'com.squareup.okhttp3:okhttp:+'
Dec 24th 2017
• Edited by embedding the code of the 'showAdDetails()' method into an updated userPointer instance:

void showAdDetails() {
        // Get User Pointer
        adObj.getParseObject(Configs.CLASSIF_USER_POINTER).fetchIfNeededInBackground(new GetCallback<ParseObject>() {
            public void done(final ParseObject userPointer, com.parse.ParseException e) {

           ... code here

    }});// end userPointer

• Edited the '&receivedEmail=' instance in the 'showAdDetails()' methods as it follows :
     + "&receiverEmail=" + userPointer.getString(Configs.USER_EMAIL)

Nov 3rd 2017
• Updated to Android Studio 3 and buildToolsVersion to '26.0.2' in build.gradle
Oct 7th 2017
• Added some lines of code into signupButt method in that save a default avatar in the User class 
• Added a custom 'pd.xml' file in the 'layout' folder and some code into ('showPD()'  and 'hidePD()' methods), which are used to replace the ProgressDialog code in the java files (that's because ProgressDialog is deprecated by API 26 | Android O)
So I've replaced all the:

with the new lines of code to show and hide the custom ProgressDialog, which start with:

• Edited 'getUserDetailsFromFB()' method in in case of no email from Facebook login
Aug 27th 2017
• Updated buildToolsVersion to '26.0.1' in build.gradle (Module:app)
• Added this line into 'repositories' in build.gradle (Project:):
        maven { url "" }
July 20th 2017
• Updated targetSdkVersion and compileSdkVersion to 26 in build.gradle
• Edited the image picked methods in and
• Added a provider_paths.xml file into res/xml
• Added a <provider> tag into Manifest.xml
• Added a scale bitmap method into, for better performances on old devices
• Added a Storage permission request in the onStart() method in 
May 19th 2017
• Removed this line in
    public static String CLASSIF_DESCRIPTION_LOWERCASE = "descriptionLowercase";

• Removed this line in -> saveAdToParse:
    adObj.put(Configs.CLASSIF_DESCRIPTION_LOWERCASE, descTxt.getText().toString().toLowerCase());

• Added these 2 lines in
    public static String CLASSIF_IS_REPORTED = "isReported";
    public static String CLASSIF_REPORT_MESSAGE = "reportMessage";

• Added this line in -> saveAdToParse() method:
            adObj.put(Configs.CLASSIF_IS_REPORTED, false);

• Edited  the 'case' case into in order to flag a reported ad in your Parse Dashboard
• Added this line in the onCreate() method of
     query.whereEqualTo(Configs.CLASSIF_IS_REPORTED, false);

IMPORTANT: If this is an update for you, you must enter your Parse Dashboard, the Classifieds class, and manually add a column of type Boolean, name it exactly "isReported" and double-click on each empty cell of that new column in order to set the cell's value as "False". In this way the reported ads will not be shown in the app.

• Added a Bitmap method into in order to resize large images while posting an ad.
• Edited onActivityResult() method by adding this line in all 3 if statements:
       Bitmap scaledBm = Configs.scaleBitmapToMaxSize(450, bm);

Classify is a Universal listings/ads app template that you can use to offer mobile classifieds service to professionals and end users, they will be able to post and edit ads all via their devices, no computer needed, additionally they can just search for what they need or browse listings by Categories and contact seller anywhere they are!

Classify is very easy to customize, Universal, native Android Studio project, backend with Parse SDK hosted on

About Parse SDK and back4app

Read this article for more info about back4app and Parse SDK:

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:

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:

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:
  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(;
            AdRequest adRequest = new AdRequest.Builder().build();
  3. Lastly, remove the play-services-ads reference in the build.gradle file:
        compile ''

  • Android Studio 3.x – Universal – Android 5.0+
  • AdMob banners
  • Facebook login
  • Works with Parse SDK hosted on back{4}app
  • Home screen with search for keywords and Category buttons, set favorite ads, post/edit your own ads
  • Post/edit ads and profile
  • NO external CMS needed
  • PHP file to send emails with the contact form included
  • Browse all Classify ads as a visitor (you don’t need to login or signup for an account)
  • 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
  • A server where to upload the php file that sends emails to sellers (you can even use this free hosting service:

Important Disclaimer: We’ve recently found out that some developers have bought our app templates, reskinned them just a bit and put them on sale on other source code markets similar to CodeCanyon, saying that they developed and own such source codes.
That is a serious copyright infringement, developers who buy our templates are allowed to reskin and sell them as apps on the App Store (accordingly to the License type they’ve purchased a template for), but are not allowed to put our original source codes for sale on source code markets, including CodeCanyon. We will report developers who made copyright infringements to the competent authorities. Thanks.