Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Android MySQL Retrofit2 Multipart CRUD,Search,Pagination
Rating: 4.3 out of 5(17 ratings)
122 students

Android MySQL Retrofit2 Multipart CRUD,Search,Pagination

How to INSERT,SELECT,UPDATE,DELETE,SEARCH and PAGINATE Data, including images and text.
Created byClement Ochieng
Last updated 4/2021
English

What you'll learn

  • FULL CRUD : Performing INSERT SELECT UPDATE and DELETE against MySQL from Android
  • Retrofit2 MULTIPART : Upload/download/Update/Delete of images and text
  • PAGINATION : Server side pagination using 'Load more' technique.
  • SEARCHING: Performing server side Search, Render SearchView in ToolBar,Highlight Search Results
  • DESIGN : Splash Screen, Dashboard, Editing/CRUD screen, Lsting screen, Detail screen,CollapsingToolBar
  • DATA PASSING: Serialize Objects,Pass them to Activities and Deserialize them, Show them
  • SPLASH SCREEN: Use Animation class to load animations and apply them to widgets.
  • CUSTOM FONTS: Apply any downloaded Custom Fonts to an android application
  • PHP: Write Object Oriented PHP code that can perform all CRUD operations as well as search and page data
  • RECYCLERVIEW: With Letter Icons,Search capability, Scroll events,Images Text
  • Many more because we code in Realtime explaining line by line.

Course content

67 sections238 lectures15h 28m total length
  • Kotlin Largest Stars App - Kotlin+Retrofit+Multipart+Full CRUD+Disk Caching0:03

    Learn Full app Kotlin Android development involving several technologies.

    CONCEPTS YOU WILL LEARN FROM THIS PROJECT

    1. Kotlin Programming Language

    2. Retrofit2(Latest version) - Multipart Uploads,Update,Downloads,Delete

    3. Object Oriented PHP + MySQL

    4. RedbeanPHP

    5. Memory and LRU Disk Caching

    6. Server side Pagination

    7. Capture images from camera,gallery,file picker and upload

    8. Several Page designs (Splash,Dashboard,CRUD,Listings,Detail)

    9. Swipeable Image slider - Carousel

    10. Runtime Permissions implemented

    11. Implement ClearText communication(Communication over non-secure http)

    12. Highly efficient app creation(We make single requests to server,cache data in both disk and memory,download data in small chunks)

  • Largest Stars App - Retrofit Multipart Images Text CRUD0:03

    This is the second app we create. In this part we will learn how to perform multipart uploads/update/delete/download. In short a full CRUD application but with images and text. User can pick images, type text then upload. Users can also view, edit and delete as well as search. This is a perfect template to use if you plan on using mysql with android especially as there aren't many online courses and tutorials that put it all together in an easy to follow manner.


    FEATURES

    1. UPLOAD/DOWNLOAD/UPDATE/DELETE images and text to the server using Retrofit2

    2. Capture Photos directly from camera and upload.

    3. Replace existing images and text with new ones.

    4. Paginate data using load more technique. Control how many items you want per page.

    5. Beautiful UI with many activities already designed and working well.

    6. Show amazing image carousel/slider at the top of your recyclerview. The slider autoslides images. Images can also be swiped manually.

    7. Runtime permissions integrated.

    8. ClearText communication implemented. This implies it will support even non-https traffic.

    9. Updates almost every month. We keep on adding features and improving the app.

    10. Suggest us features you want integrated.

    11. More coming.




  • (BONUS)Big Thinkers App - MVVM,Disk Caching,Pagination Full App0:14
  • Kotlin Scientists App - Retrofit CRUD App0:01
  • Scientists App - Retrofit CRUD App with Search and Pagination0:04

    This is the first app we create. We do this in detail. It is perfect for absolute beginners. You will know how to create a full application that you can use to as a template in creating other apps. You can download the APK and test it. We are hosting a online test mysql database to start with.

  • (BONUS) Kotlin Offline Pretty Tasks Planner(Room+MVVM)0:07

    This is a gift for you because you are dear to me. You've bought my courses so I have to give you some extras. This is an app that I have created and it's play store ready. Use it to learn the following:

    1. Kotlin Programming Language

    2. Clean Architecture

    3. Room

    4. LiveData

    5. ExpandableRecyclerView with images and text

    6. Single Page design


  • (BONUS) Scientific Gamechangers App - MVVM + Room + CRUD + LiveData0:03

    Am trying to say thank for purchasing my course by creating this project for you. This project is meant to teach you:

    1. Room Data Access Layer - Full CRUD

    2. Model View ViewModel

    3. LiveData

    4. How to import data from csv to room

    5. CarouselView

    6. Page creation and designs

    It is basically a template. Be creative and turn it into your own idea app.

  • (NEW)(BONUS) WakaWaka Music Player - Kotlin + MVVM + MediaPlayer

    We have added a full music player that relies on no dependency and instead uses media player. It will teach you how to create a full music player ready for play store. You will also learn the following:

    1. Kotlin full app development

    2. Mediaplayer api usage

    3. Model View ViewModel

    Cheers.

Requirements

  • Be able to use android studio

Description

LATEST PROJECT - Retrofit CRUD Multipart Image Upload/Download

Making any type of Software is all about data manipulation, be it pixels, images, text. Being able to write to and read from a database is therefore of paramount importance if you desire to create any meaningful app. Unfortunately there are surprisingly not many android tutorials online that give you an all in one solution for this.

I have been making apps for several NGOs here in Nairobi,Kenya and mostly I use MySQL, sometimes Firebase. Hence I have decided to produce a course to make working with MySQL and performing HTTP requests as easy as possible yet robust enough to be used in production.

Main Things You Will Learn


This course aims to teach you the following:

  1. How to Perform all CRUD operations against MySQL: INSERT SELECT UPDATE DELETE.

  2. How to perform a fast server side search and pagination.

  3. How to use retrofit as all in one solution HTTP Client  to make HTTP Requests in the background thread.

  4. How to write Object Oriented quality PHP code to perform CRUD, search and pagination for students coming from Java background who find most PHP code in the web weird and dirty looking.

  5. How to design and incorporate splash screen, dashboard, detail pages, data entry pages and listing pages into a an app.

  6. How to Create a reusable real world app template that can be modified by inexperienced programmers.

  7. The process of coding a full app in realtime.

My Style of Teaching

I have done many tutorials in YouTube in Java,Android and C# mainly, so am able to take students through a full course, covering everything, emphasizing important part yet moving at an amazing peace.

My courses assume no experience at all in app creation. Maybe my only assumption is that you can install android studio. Hence beginners can find this course very important. Intermediates can also benefit from this course as we cover several intermediate topics like Making HTTP requests and achieving pagination and search highlighting.

We code line by line and at the same time narrate and explain. We explain method by method.


What Can I create after this course?

Any app that involves CRUD. Your imagination is your limit.

For example recently I have used this template to create for a client an app. I will also be using this as a template to create other mysql apps as well as Firebase. Hence if you follow this course keenly, you will be able to create any type of app that involves CRUD.

Your app will be able to perform reliably in production. Your app won't crush as we have handled exceptions reliably. For example if there is no connection or user enters wrong data. A beautiful dialog gets shown to the user informing of him of the error.

The app will be very fast, no matter how many hundreds of thousands or millions of rows you have. This is because the app doesn't download all data at once. Instead short HTTP requests are made as the user scrolls through the recyclerview. The pagination takes place at the database engine level which is heavily optimized. The client downloads just a small chunk of data weighing a few bytes.

Your users will be able to take advantage of a search feature that doesn't slow your app. This because the search also occurs at the database level.  This is a multi-column search, hence you can add as many columns in as you want. I have used two columns as an example in this app.


What if I don't know PHP? How will I maintain the app?

Well you are in luck. The PHP code is the easiest to understand code you will ever find especially if you are a Java/C#/Python developer. It's completely Object Oriented and is written in a single file. That file has only two classes. One class where you add the database credentials and the other class performs all the CRUD operations. All you will need to do is replace the table name and database name.


What Technologies does this course teach and Why?

The technologies that we use to create this simple app. And we cover them in a practical manner by coding.


1. Retrofit

We use it as our HTTP Client. It takes advantage of GSON as a dependency, using it to map our JSON data to our model classes. Thus this saves us from having to use JSONArray and JSONObjects to parse our JSON data.

Moreover Retrofit allows us uniquely map our HTTP requests using an interface. This gives us a higher level of abstraction and makes our code maintenable and clean.

We use it's enqueue method to queue and asynchronously send our HTTP requests. Thus we are liberated from having to deal with AsyncTasks here and there.

Retrofit also allows us abstract our response from the server easily in a response model class. Moreover handling of Failure is abstracted away for us, thus we only have to log or show the exception message. No more try--catch blocks.

2. RecyclerView

It's the most powerful adapterview in android. It's more powerful and flexible than ListView. We rely on it's onScroll events to do our pagination.

We will use it almost all our upcoming courses.

3. CollapsingToolbarLayout

It's great and beautiful. It allows us show an image on top. It gives our app material design feel.


4. LovelyDialogs

Rather than showing exceptions and warnings in toasts, we use the lovely dialogs. I will use this library in many of my upcoming courses. It's beautiful and is easy to wrap in a utility method that can then be invoked from anywhere.

Moreover it gives almost 4 dialog options: info,single-choice,multi-choice and input. It allows us easily align the dialog contents, control number of buttons shown, assign custom dialog images and handle onclick events.

5. Calligraphy

For your app to dominate play store you need the app to feel and taste nice. Fonts will make massively help with that. However not old fonts like sans serif and Times New Roman. We need custom fonts. Those you can download from the web.

Calligraphy is the best custom font library. I show you how to use it to load any font throughout your app or in individual widgets.


Do you provide support?

Obviously. I come from a YouTube background so am used to providing support to my students. I also welcome suggestions to improve myself as I enjoy learning, sharing and growing.

Who this course is for:

  • Beginner and Intermediate Android students
  • Students who want a reusable template to create full app