AskIt | Android Universal Questions/Answers App Template

AskIt | Android Universal Questions/Answers App Template

Both iOS and Android version can share the same Parse database

Feb 15th 2018 
• Removed the 'menu' folder and its content from the 'res' folder
• Edited the following files in order to remove ActionBars and show a better layout: and home.xml and answers.xml and search.xml and account.xml and edit_profile.xml
Jan 21th 2018
• Added this line in the dependencies list of build.gradle (Module: app):
    compile 'com.squareup.okhttp3:okhttp:+'
Dec 15th 2017
• Added this missing line into
    public static String USER_IS_REPORTED = "isReported";
• Added this missing line into the 'getUserDetailsFromFB()' method in and in the signUp method in
    currUser.put(Configs.USER_IS_REPORTED, false);
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 "" }
Aug 11th 2017
Added image attachment feature for Questions: now you can add an image while posting a Question.
So I've edited the following things:
• Added an attachment button in the question_cell.xml file and set its Visibility property as invisible
• Edited the and's queryQuestions() method to hide/show the attachmentButt instance in the cells, added the necessary code to upload an image while submitting a Question
• Added an extra Activity called ImagePreview and its relative image_preview.xml file
• Added add_attachment_butt.png and add_attachment_butt.png in the drawable folder
• Added these lines into
    public static String QUESTIONS_IMAGE = "image";
    public static String QUESTIONS_HAS_IMAGE = "hasImage";

• Added 
     compile 'com.commit451:PhotoView:1.2.4' 
into the dependencies of build.gradle

• Moved 'queryQuestions()' from onStart() to onCreate()
• Removed the onCreateOptionsMenu() in the -> replaced it by a SwipeRefreshLayout control
• Embedded the qListView ListView into a SwipeRefreshLayout container in home.xml
• Added a function in to round large numbers into K or M abbreviation, and edited the likes and answers amount lines in and -> queryQuestions()

IMPORTANT: IF THIS IS AN UPDATE FOR YOU, then you must, of course, compare your old project files with the updated one of this version, then, after updating your own project, run the app and submit a test question in order to make the app create an extra column in your Parse Dashboard -> Questions class called "hasImage".
Then you must enter that class in your Dashboard and set all the empty cells of the "hasImage" column as False.
This is a one-time job, you won't have to do that anymore, the app will handle it.

• Changed the App Icons in the drawable folder
July 20th 2017
• Updated targetSdkVersion and compileSdkVersion to 26 in build.gradle
• Edited the image picked methods in
• Added a provider_paths.xml file into res/xml
• Added a <provider> tag into Manifest.xml
• Added a Storage permission request in the onStart() method in 
Jun 1st 2017
• Added a scaleBitmapToMaxSize method in, in order to optimize the image uploading system
• Edited 'onActivityResult()' method in
Apr 27th 2017
• Edited the code that gets a user's avatar into the 'showActivity()' method in, now the app won't crash if a user doesn't have an avatar

AskIt is a Universal App Template where you can post any question and have users answering, you can do the same on other user’s questions. Users can also like questions from the Home screen or search for something on the Search screen.

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.

AskIt is a native Android Studio project, Universal, Push Notifications for likes and answers, easy to customize, 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
  • Post/answer/like questions
  • Attach an image to your Questions
  • Push Notifications for likes and answers through OneSignal
  • Report abusive contents (questions or answers)
  • Search for questions by keywords
  • 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

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.