Android Question Simple E-Learning App

SoftHeart

Member
Hello,

I am new to b4x and i am impressed with it's simplicity and how much you can do with it. However, i am also new to programming.

I have studied b4x a little while and thought i could do something with it.

I wanted to create an e-learning app that would sequentially present videos, audios, and pdf documents. The sequence would be based on lessons i.e Lesson 1, Lesson 2, etc., and each lesson would contain a video, an audio, a pdf document, and a quiz.

I wanted it to have a simple UI that contains 2 labels and 5 buttons.

The labels:
1. lblWelcome - to show welcome message.
2. lblLesson - show the lesson number(e.g Lesson 1)

The buttons:
1. btnPlayVideo - to play the lesson's video.
2. btnPlayAudio -to play the lesson's audio.
3. btnOpenPdf - to open the lesson's pdf document.
4. btnQuiz - to display the lesson's quiz.
5. btnNext - which will take the user to the next lesson.

With the knowledge i have, i still don't know where to start from on this project. Any kind of guide, reference, recommendation or whatever it may be will be highly appreciated. Sorry for my long post.
 

SoftHeart

Member

This is the application I created last year for my school.
Thanks for replying Jahswant, but i didn't experience anything in your app since it requires login credentials.

Also, i wanted something like an example source code, or maybe a tutorial, or just an explanation that can help me get started with my project.
 
Upvote 0

Jeffrey Cameron

Well-Known Member
Licensed User
Longtime User
However, i am also new to programming.

I have studied b4x a little while and thought i could do something with it.
What you're asking to accomplish with your lesson app would not be trivial for someone with a fair amount of B4X experience, as there are a number of "moving parts" to a project such as this.

I would suggest starting with something simpler to get the basics of the language, Android lifecycle and UI implementation down first. If you have your heart set on this particular project, then I would start by breaking it down into separate test projects: Create a project that shows a video, create another project that works with playing audio files, etc.

Once you have the basics of each of the parts completed, you can combine the code and classes to create your lesson project.

Just my 2 cents, your mileage may vary ;)
 
Upvote 0

SoftHeart

Member
I have a quiz app sample. Hope it can give you some ideas.
From the explanation and just by looking at the code, i can tell that this project will be helpful. However, it required some libraries and i had to download them except one.
B4X:
Private clx As clXToastMessage1
I've used the search engine but still can't find it. Any idea where?
 
Upvote 0

SoftHeart

Member
What you're asking to accomplish with your lesson app would not be trivial for someone with a fair amount of B4X experience, as there are a number of "moving parts" to a project such as this.

I would suggest starting with something simpler to get the basics of the language, Android lifecycle and UI implementation down first. If you have your heart set on this particular project, then I would start by breaking it down into separate test projects: Create a project that shows a video, create another project that works with playing audio files, etc.

Once you have the basics of each of the parts completed, you can combine the code and classes to create your lesson project.

Just my 2 cents, your mileage may vary ;)
That's right, Jeffrey. I had to go through a number of tutorials on how to play videos, audios, and also open pdfs. My problem, however, is how to combine that knowledge in one project, so as to make it sequencial. In other words, i want to use the same UI but data has to change each time user clicks btnNext.
 
Upvote 0

omarruben

Active Member
Licensed User
Longtime User
an app like this need some time and knowledge, can not be just shown on a forum, I am sure if you have a budget you can hire the service of great developers in this forum
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
From the explanation and just by looking at the code, i can tell that this project will be helpful. However, it required some libraries and i had to download them except one.
B4X:
Private clx As clXToastMessage1
I've used the search engine but still can't find it. Any idea where?
 
Upvote 0

SoftHeart

Member
an app like this need some time and knowledge, can not be just shown on a forum, I am sure if you have a budget you can hire the service of great developers in this forum
I know it requires knowledge, and i cannot become an expert without that knowledge. I don't want to hire a developer, i want to become one. That's why i asked for help on this forum so that i can build this using different ideas from different developers.
 
Upvote 0

SoftHeart

Member
Thanks for the link, now the app works. However, i get an error when trying to create an account or logging in.

Below is a screenshot of the error.
Screenshot (3).png
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
I know it requires knowledge, and i cannot become an expert without that knowledge. I don't want to hire a developer, i want to become one. That's why i asked for help on this forum so that i can build this using different ideas from different developers.
Start here: https://www.b4x.com/learn.html
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
Thanks for the link, now the app works. However, i get an error when trying to create an account or logging in.

Below is a screenshot of the error.
View attachment 109057
This B4J client needs to connect to a Server to work. The server app is connecting to a MySQL database.
If you haven't set up a server, you can test the client app using my public server (Either one below would work).

B4X:
Public strURL As String = "https://api.puterise.com:17182/"                  ' Remote B4J server
'Public strURL As String = "https://quiz.computerise.net/backend/api/"       ' Remote Apache PHP server

In order for you to understand my sample project, you need some knowledge on how to use OkHttpUtils2 with WaitFor, SQL, KeyValueStore, Server, Collections (Map and List), JSON, xCustomListView and B4XPages.

If you are new to B4X then you need to learn the above concepts first.
 
Upvote 0

pliroforikos

Active Member
Licensed User
Hello,

I am new to b4x and i am impressed with it's simplicity and how much you can do with it. However, i am also new to programming.

I have studied b4x a little while and thought i could do something with it.

I wanted to create an e-learning app that would sequentially present videos, audios, and pdf documents. The sequence would be based on lessons i.e Lesson 1, Lesson 2, etc., and each lesson would contain a video, an audio, a pdf document, and a quiz.

I wanted it to have a simple UI that contains 2 labels and 5 buttons.

The labels:
1. lblWelcome - to show welcome message.
2. lblLesson - show the lesson number(e.g Lesson 1)

The buttons:
1. btnPlayVideo - to play the lesson's video.
2. btnPlayAudio -to play the lesson's audio.
3. btnOpenPdf - to open the lesson's pdf document.
4. btnQuiz - to display the lesson's quiz.
5. btnNext - which will take the user to the next lesson.

With the knowledge i have, i still don't know where to start from on this project. Any kind of guide, reference, recommendation or whatever it may be will be highly appreciated. Sorry for my long post.
Hi
First make a plan:
1. Are you gonna use B4A?
2. Do you need a local database into App or a remote One?
3. If it is a remote database where are you gonna store it. How to program it?
4. How to communicate from app to database (xml, json etc)
5. If it is local, design the database, choose you keys and relations carefully. You can use a tool like https://sqlitebrowser.org/
6. Check Videos and tutorials how to design nice GUIs not only in B4A.
7. Make 2-3 screens and play with them
This is not a small project. If it is your first one then begin from a small project like showing only the pdfs. Then expand it as you like.

good luck.
 
Upvote 0

SoftHeart

Member
This B4J client needs to connect to a Server to work. The server app is connecting to a MySQL database.
If you haven't set up a server, you can test the client app using my public server (Either one below would work).

B4X:
Public strURL As String = "https://api.puterise.com:17182/"                  ' Remote B4J server
'Public strURL As String = "https://quiz.computerise.net/backend/api/"       ' Remote Apache PHP server

In order for you to understand my sample project, you need some knowledge on how to use OkHttpUtils2 with WaitFor, SQL, KeyValueStore, Server, Collections (Map and List), JSON, xCustomListView and B4XPages.

If you are new to B4X then you need to learn the above concepts first.
Wow! Your app is awesome. Also, thanks for the tip, you really gave me something to lay my hands on. You're surely one of the people i will never forget in my programming journey, aeric?
 
Upvote 0

SoftHeart

Member
Hi
First make a plan:
1. Are you gonna use B4A?
2. Do you need a local database into App or a remote One?
3. If it is a remote database where are you gonna store it. How to program it?
4. How to communicate from app to database (xml, json etc)
5. If it is local, design the database, choose you keys and relations carefully. You can use a tool like https://sqlitebrowser.org/
6. Check Videos and tutorials how to design nice GUIs not only in B4A.
7. Make 2-3 screens and play with them
This is not a small project. If it is your first one then begin from a small project like showing only the pdfs. Then expand it as you like.

good luck.
This is such an amazing guide, Pliroforikos. Honestly your explanation has made me look at this thing from another angle. I am feeling lucky to be part of this forum.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
Wow! Your app is awesome. Also, thanks for the tip, you really gave me something to lay my hands on. You're surely one of the people i will never forget in my programming journey, aeric?
You’re welcome. When we help each other, we are actually learning at the same time.
 
Upvote 0
Top