Hi, after a long time I am back with a new tutorial, hope you all are doing well. So today I will show how to create a news app which will be a professional type.
Let’s get started with the Splash screen, I have created Splash screen for this app. I am not showing you how to make the splash screen because I already told you before that how to make it. So follow my previous tutorial for Splash Screen. Now Let’s go to the mail Screens.

Home Screen

Design

Here I will be using some external extensions such as Colintree ListViewVertical ScrollHandler
Here first I dragged a Swipe Refresh Layout as a main layout so that an user can refresh the screen by scrolling down and get latest updates. I used Swipe Refresh Layout and Vertical ScrollHandler to work the refresh function properly. If you only use Swipe Refresh Layout for Refresh screen then you may face some problem when someone refresh the screen. Into the Swipe Refresh Layout I have dragged a Vertical Arrangement which will work as a Slider (Slide Latest News) and into this arrangement, dragged 2 Labels one is for Time showing and another is for News Title showing and the background will be for Image showing. So next I dragged Custom Progress for Loading Screen animation. Then dragged Bottom Navigation  to add Footer menus. Next dragged a Clock  with Timer 5000ms and Turned Timer Always Fires & Timer Enabled onNow drag 4 Airtables and it will be call imagetitle, category and time. Next drag Animation Utility for the Slider animation and drag Colintree ListView and lastly Drag Network for Online or Offline usage. Now Visible the Custom Progress and Invisible the Swipe Refresh Layout so that when an user open the app they first see the loading screen.

 

Blocks

So I took 4 initial global values for 4 Airtables,

 

first ignore that corner cut of another Block, this is the main block where all items will be visible and loading will disappear, and also a show procedure will arrive

here I took an index for Slider and two Procedures for Slider, when 5 sec will finish slider will show next news, you can increase or decrease the news count from to next‘s get global index > 2 and change the number  to another

here is how Vertical Scroll Handler works, and also the Bottom Navigation Menu

 

ignore that views  airtable block,

Now let’s go to Main screen

Main Screen

Design

Here first I dragged a Vertical Scroll Arrangement where all the components will be visible. Here I will add Vertical Scroll Handler to show scroll animation and when someone scroll down then the title and the image will be invisible and the title will appear in the Title Bar. So now, drag a Vertical Arrangement where the image or the thumbnail will appear, then add a Label named as title_label where Title of the news will appear, after this drag a Horizontal Arrangement and into this arrangement drag 2 Labels named category_label and time_label where category and time of news added will appear. After this drag a space and fill parent the space and drag a label and fill text with  and turn on HTML and set font style to Font Awesome and it will appear as a Download icon. Now drag a label named as main  where the full news will appear. Now drag 5 airtables named as title, image, category, main and time and fill all with same API Key, Base Id and Table name. Now drag Vertical Scroll Handler, Tiny DBFloating Action ButtonSnackbar and Activity Starter. Set Activity Starter’s Values as follows

Action : android.intent.action.SEND

Activity Class : com.whatsapp.ContactPicker

Activity Package : com.whatsapp

Data Type : text/plain

Extra Key : android.intent.extra.TEXT

It will allow users to share news through WhatsApp, it also need Extra Value which I will add in Block, where the message will go.

Blocks

first took required global variables, where _saved variables will work for Offline savings using TinyDB

it will call all saved items to know whether offline values are empty or not, also it will help to save new news without error, then it will call all items from airtable by Cell number

it will call all values from airtable and show to the user and also save to the global variables

it will work for download news to offline , if already saved then shows a message

it works when scrolling screen

and lastly the Share floating button, WhatsApp use *text* to bold the text so I used Title to be bold and the news to be in normal

For Offline and OfflineMain screen I have used same blocks and same things just instead of Airtable I used TinyDB, so just follow up,let’s move to the Setup

Setup

Just go to all Airtble and set your Airtable Database’s API Key, Base Id and Table Name, I am giving you the sheet I have used so that you can simply copy this and use it.

just ignore the views column , and  add image links in Image, Category name in Category,Tiles in Title column, news in News column and Times in Time column.
Here is the link of sheet – https://airtable.com/invite/l?inviteId=invXDx8Wkvv1IcZan&inviteToken=8945c56837d72e13fd2853692fb4ec2699b8559b322e9b1c1d77c65c59c65a11

 

AIA

if you face problem with above link then use partner link below

TSNews – v1

 

Video

 

By Abir

Leave a Reply

Your email address will not be published. Required fields are marked *