Please carefully read this guide in order to fully configure this template, and remember to test it on a Real Device – the Emulator may fail.
An internet connection is required.
IMPORTANT: The backend of this template is the DBase API.
https://mydomain.com/dbasefiles
- and replace the string of the DATABASE_PATH
variable in the DBase.java
file with your URL:
public static String DATABASE_PATH = "http://xsgames.co/__apps/xsnews/";
Users.json
and Posts.json
files
This template has native Android Java/XML code so you can edit it only with Android Studio. If you don’t have it, download it for free.
Download Android Studiostring.xml
file – it’s into the res/values
folder in Android Studio – and replace the App Name of this line with your new one:
<string> string name="app_name"> XSNews </string>
com
folder as it is and rename the other ones.build.gradle
(the Module app one) in Android Studio and rename the applicationId
into your new package name, then click Sync Now on the top-right corner.
.xml
files stored into the res/layout
folder. Those files are the ones where you can edit all Views, Buttons texts, TextView’s strings, and all Views attributes – position, font color, size, etc.
.java
files.
drawable
folders, where the app icons are stored into the mipmap
folders.
tou.html
file form the left-side panel’s list in Android Studio and edit it accordingly to your own Terms of Service and Privacy Policy. Also, replace the APP_NAME
words with the new name you assigned to your App.
"mailto:support@yourdomain.com">support@yourdomain.com
tou.html
file, so you must replace support@yourdomain.com with a valid email address where people can contact you for any question, feedback or in case they want to delete their account.
ID_id value
, select that row and click the Delete Row(s) button.ID_id
value you’ve previously noted in all the other Tables of your database, check out all the rows until you’ll find that ID_id
and delete it – this happens in case it appears into some Array type columns.
ID_id
in your database:
AR_rportedBy
column in both the News and Comments tables, and if some ID is present, take action for it asap, Accordingly to GDPR Terms, which may be to delete the reported row by selecting it and clicking the – Delete Row(s) button.
res/values
folder in Android Studio. Open this file and keep reading this guide, you’ll have to perform some edits in this file in order to get your template ready to run.
<string> string name="app_name"> XSNews </string>
<string>name="ADMOB_INTERSTITIAL_UNIT_ID">ca-app-pub-3940256099942544/1033173712
<string>name="ADMOB_APP_ID">ca-app-pub-3940256099942544~3347511713
You have to create your Unit ID at apps.admob.comUsers.json
and Posts.json
files
#
symbol. The main color of the app and some UI will be affected by your change:
public static String MAIN_COLOR = "#d44e68";
public static String BLACK_COLOR = "#252525";
public static String DARK_BROWN_COLOR = "#32292E";
public static String LIGHT_GREY = "#F2F3F7";
public static Typeface psBold, psRegular, psItalic, psBoldItalic;
These fonts are initialized into the onCreate()
function as follows:
psRegular = Typeface.createFromAsset(getAssets(),"font/Product Sans Regular.ttf");
psBold = Typeface.createFromAsset(getAssets(),"font/Product Sans Bold.ttf");
psBoldItalic = Typeface.createFromAsset(getAssets(),"font/Product Sans Bold Italic.ttf");
psItalic = Typeface.createFromAsset(getAssets(),"font/Product Sans Italic.ttf");
In case you want to add a new font, you have to first drag your .ttf
or .otf
font file into the app/src/main/assets/font
folder.public static Typeface
line that’s into the onCreate()
function – let’s pretend you have a font file called Helvetica-Bold.ttf, you may add an instance called hBold
(it’s just an example, name it as you wish since it’s a variable):
public static Typeface popBold, popSemibold, ... hBold;
Lastly, import its path into the onCreate()
function like the existing ones. Based on the font example above, your new line of code may look like this:
hBold = Typeface.createFromAsset(getAssets(),"font/helvetica-Bold.ttf");
public static String ADMIN_EMAIL = "admin@email.com";
Strings
– but DO NOT remove the first 2 elements, since they search for the latest and most viewed articles. Also, remember to insert lowercased strings, no uppercase strings allowed, as shown below:
// LIST OF CATEGORIES
public static String[] categoriesArray = {
// THESE 2 CATEGORIES MUST STAY IN THIS POSITION AND CANNOT BE DELETED
"latest",
"trending",
//---------------------
// CATEGORIES:
"world",
"health",
"tech",
"movies",
"politics",
"music",
"business",
"games",
"books",
"sport",
"science",
"education",
// YOU CAN ADD NEW CATEGORIES HERE, ALL LOWERCASED...
};
ID_id
form the Users table).
// MARK: - TABLES & COLUMNS NAMES
php.ini
file (optional)php.ini
file of your server in order to increase the upload_max_filesize
limit (you may set it to 40M, for instance), and the post_max_size
limit (set it to 60M, for instance).DATABASE_PATH
into the DBase.java
file
.apk
file of your app in your Desktop
cd
command
keytool -printcert -jarfile YourApkName.apk
[Replace YourApkName with the name of your .apk file]
_config.php
file of the DBase API in your server and paste the Server Key you just copied in this variable, then save the file:
$FCM_SERVER_KEY = '[paste the Server Key here!]';
google-services.json
file and click Next
google-services.json
file in the app folder of the Android Studio project: fireInterstitialAd;
fireInterstitialAd(ctx);
NOTE: In order to comment a line of code, just add //
in the beginning:
// fireInterstitialAd(ctx);