[ILoveDeshi] - Latest City Guide Android App Code Free

Make a location-based Android app like a tourist guide or a nearby places finder app. This Android App Supports user login via facebook or email, ratings, and reviews of any places, Create featured certain places, sorting by distance, name or rating, map view with custom place icons. The template provides 5 monetization methods, including native ads and referrals to booking websites. For those who love blogging, the template also includes an optional fully functional Blog, manageable through the admin page. [ILoveDeshi]

[ILoveDeshi] - Latest City Guide Android App Code Free

Before You Start

1. Make sure your server supports PHP 7.3.8 and MySQL.

2. Make sure your server is Apache.

3. The template does not support subfolders(www.eg.com/app). Use subdomains instead (app.eg.com).

Uploading To Server

Step 1 - Put your database details (Hostname, database name, user name, and password) in config.ini. The fields are marked with red below. Also, replace the 'serverurl' with your server URL and the 'sharetwittertag' with your twitter tag (used for sharing).

  • Step 2 - Upload the contents of the 'Server Side Code' to your server. Make sure you don't forget the .htaccess.

  • Step 3 - Create a new MySQL database and import 'cityguide_database_v1.sql'.
  • Step 4 - Access the /index.php file that you just uploaded to your server, using your browser. The default login credentials are:
Username: [email protected]
Password: pass


Step 5 - Go to your Firebase Console, go to settings->cloud messaging and get your server key (API_ACCESS_KEY). Put this in config.ini. The field is marked with green above.

Setting Google Maps API Key
Step 1 - Go to the Google Maps API Key console, and use it to generate a Map API key (MAP_ACCESS_KEY). Put this in config.ini. The field is marked with blue above.

Step 2 - Admin Page Done!

Before You Start

Make sure you have Android Studio 3.2.1 installed and in the Android SDK Manager make sure you have the following installed:

  • Build tools v28.0.3
  • Androidx SDK Tools
  • Androidx SDK Platform-Tools
  • Google USB Driver
  • Android API 28 SDK

Try to place the project file as close to the root (C:/) as possible as windows have a path character limit of 240chars. So, if you get the error: "Failed to crunch file...", reduce the path length.

Importing and running

  • Step 1 - Open up Android Studio and click 'open an existing Android Studio project'.



    Step 2 - Drag and drop the 'CityGuide' folder in the dialog to go quickly to the folder.

    Step 3 - Make sure 'CityGuide' is highlighted and click 'ok'.

    Step 4 - Go to your Firebase Console and download the 'google-services.json' file and replace the placeholder in app/google-services.json. - If you skip this step you will encounter an error during compile time.


    Step 5 - Press the Play button to test the app on the emulator or connect your phone via USB to your computer to try it on your phone.

    Changing Package name

    This step must be done else you will have problems uploading to Google Play and the Rate feature will not work.


    Step 1 - Make sure the 'Compact Empty Middle Packages' option is deselected as shown below.


    Step 2 - Rename the package id by right-clicking on 'neurondigital' and selecting 'refactor' and 'rename' as shown below.

    Step 3 - Click the Rename package.

    Step 4 - In the popup menu type in your company name. Then press 'refactor' and in the next popup window press 'Do Refactor'. Do the same for 'city guide'. The package name should be in this format: com.yourcompany.AppName

    Step 5 - Open app/build.gradle and put in the same package id as before instead of the 'com.neurondigital.cityguide'. This is shown below.

    App Customisation


    Step 1 - Put in your Server URL in Configurations.java


    Step 2 - Replace the share deep link URL in res/strings.xml. When the user opens a URL that matches the URL you specified here, it would be opened up in the CityGuide app. If the app is not installed, the URL would be opened on the browser, so make sure to choose a domain owned by you and has the server on it. eg: http://cityguide.ilovedeshi.com/1

    Replace icon and Images


    The images can be found under app/res/drawable. To replace the images just copy/paste the image in the drawable folder to replace the other.


    The icons can be found in the app/res/mipmap. Notice that there are different sizes. To replace the icons just right-click->new->Image Asset and select your image.

    Admob Ads (Optional)

    For All Admob Ads, you need to create an Admob Account, create a new Admob App and replace the sample admob_app_id in strings.xml with your Admob App Id. Then follow the points below to add the specific ad unit ids.


    Create an interstitial Ad on AdMob and paste the AD unit Id in the strings.xml file. The Ad displays when the user clicks a property on the home screen. Make sure to add this to start making money from your App. The display rate can be changed from strings.xml from the ad_shows_every_X_clicks parameter.


    Add AdMob Banner Ads (optional)

    Like the interstitial Ad, create a Banner Ad on AdMob and paste the AD unit Id in the strings.xml file. The Ad displays on the bottom of the screen. Ideally, to not annoy the user, it's either the banner or the interstitial ad, so you may wish to leave one of the Ad IDs in strings.xml empty.


    Go to the Google Maps API Key console, and use it to generate a Map API key. Make Sure you activate the key for both Android & Javascript. Put this in strings.xml in the 'GoogleMapKey' field. Reminder: To use the Maps SDK for Android, you must get an API key and you must enable billing. Google Maps should not charge you any money for their service. See the Google Pricing for more info: https://cloud.google.com/maps-platform/pricing/sheet

    Google Maps API Key

    Google Analytics

    Google Analytics in Android Apps is now deprecated (removed in version 1.3). The new method is now using Firebase, which is also supported by this template.

    Add AdMob Native Ads (optional)

    Like the interstitial Ad, create a Native Ad on AdMob and paste the AD unit Id in the strings.xml file. The Ad displays after the item description. If you don't wish to show Native Ads, you can leave this Ad unit ID empty in strings.xml.

    Add AdMob Interstitial Ads (optional)




    Facebook Login

    The App uses Facebook Authentication for User Login. So you need to create a facebook app.

    Step 1 - Go to Facebook for developers. and Create a new App ID.

    Step 2 - Get the generated Facebook App id and FB login protocol scheme and put them in strings.xml.

    Step 3 - In the Facebook Page, click the '+ Add Product' button to add the Facebook login Feature. Then Go to Settings and click the '+ Add Platforms' to add the Android Platform. This will ask you for a Key Hash. To obtain it, run the app while your phone/emulator is connected to Android studio and in the Android Monitor/logcat search for 'hash'. Remember that you need to do this twice. One for the debug app in Android Studio to test while Running in Android Studio. Secondly, you need to do this after generating your .apk file, since the exported .apk file will have a different hash key.

    In-App Purchase

    To use this feature you need to purchase an 'Extended License' of the template from ILoveDeshi. This feature is not covered in the 'Regular License.'


    Step 1 - The template allows the user to purchase a premium upgrade to remove ads using google Play In-app Payments. Before doing so, create your app in Google Play Dashboard and locate the 'Public Key' as it can be seen below:


    Step 2 - Then add a new in-app product and give it a Product id.

    Step 3 - Finally, put your Public Key and product id in configuration.java:

    Export your App as an APK for Google Play


    Go to Build| Generate Signed APK... and export the APK file.

    More Options in Configurations.java

    Go to Configurations.java. Here you will find some options to Enable/disable news, to Enable/disable the user system, the background image... Example to switch between Grid and list. Replace the LIST_1COLUMNS, with LIST_2COLUMNS if you wish to use a grid view.

    Mini-Web-App & Admin Page HTML Pages

    Go to Server Side code /Views/ folder. This folder contains the privacy policy, terms, mini web-app HTML (singleitem.htm)... For other Admin page UI changes such as the forms please take a look at Server Side Code/js/script.js.

    You Are Done!

    Decryption Key : udu4Kmw3DUAYLbCkNI7LhiJfmcIuFNCeDc1I7SDK-X0