Hi Friends, I will show you how to use Google Forms as Back-End.  For On-line application we have a separate table for feedback from...

Google Form to Android Application Google Form to Android Application

Google Form to Android Application

Google Form to Android Application

Google Form to Android Application


Hi Friends, I will show you how to use Google Forms as Back-End.  For On-line application we have a separate table for feedback from users. But, In off-line applications like Music player we will not connect any databases.
To get real-time feedback we can go for Firebase.

But, Firebase has some CONS:
1.Data stored in JSON like Format.
2.Free account of Firebase has Limitation and for Unlimited Access we have to pay some amount per month.

To avoid these CONS, we can connect Google Forms as Back-end

PROS of using this method:
1.It provides real time user-friendly response
2.Cost Free
3.Easy to Integrate

CREATE A GOOGLE FORM
First thing you need to do is login to drive.google.com and create a new “Google Form”. After Creating your Google Form, get your share link from Forms. Your link looks like below
https://docs.google.com/forms/d/e/1FAIpQLScIpmqndQeQG3lFbj0QkQ1Kt6tEXoPrOt314AZGQ2WKuK8IvA/viewform
This URL needs to be converted to be used for sending data from code. The conversion very easy, just replace “viewform” in the URL to “formResponse”.
Thus, our POST URL becomes
https://docs.google.com/forms/d/e/1FAIpQLScIpmqndQeQG3lFbj0QkQ1Kt6tEXoPrOt314AZGQ2WKuK8IvA/formResponse
The tricky part of using Google Forms to post data for these fields via code, we need to make a POST request with the data attached as key-value pair. Values being the data entered by your user in the app and the keys being the ids of input fields on the form.

To get the keys, right click on each TextBox and select “Inspect Element”. Take Fields name from form and which looks like entry.737865382.

Google Form to Android Application

CODING PART
In this, you have create your android project and Import any HTTP Library. In my sample, I used VOLLEY as my HTTP Library.
AndroidManifest.xml
Add INTERNET Permission in AndroidManifest file in your project.
Internet Permission
<uses-permission android:name="android.permission.INTERNET" />
Layout
Create your Layout file named as activity_main.xml and paste the following code.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.androidmads.postdatatogoogledocs.MainActivity"
    tools:showIn="@layout/activity_main">

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/edtName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Name"
            android:inputType="textPersonName" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/edtPhone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Phone Number"
            android:inputType="phone"
            android:maxLength="10" />
    </android.support.design.widget.TextInputLayout>
</LinearLayout>
Function to post Data:
Following function is used to post data to Google Form
public void postData(final String name, final String phone) {

        progressDialog.show();
        StringRequest request = new StringRequest(
                Request.Method.POST,
                Constants.url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.d("TAG", "Response: " + response);
                        if (response.length() > 0) {
                            Snackbar.make(fab, "Successfully Posted", Snackbar.LENGTH_LONG).show();
                            edtName.setText(null);
                            edtPhone.setText(null);
                        } else {
                            Snackbar.make(fab, "Try Again", Snackbar.LENGTH_LONG).show();
                        }
                        progressDialog.dismiss();
                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                progressDialog.dismiss();
                Snackbar.make(fab, "Error while Posting Data", Snackbar.LENGTH_LONG).show();
            }
        }) {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<>();
                params.put(Constants.nameField, name);
                params.put(Constants.phoneField, phone);
                return params;
            }
        };
        request.setRetryPolicy(new DefaultRetryPolicy(
                50000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        queue.add(request);
    }
you can view your responses in Google form's Response section or in Google sheets. To get response in Google sheet, just click excel symbol in response section of your Google form.

This concept is read from the following link http://codesmith.in/post-data-google-drive-sheet-through-mobile-app/ and this is one of my favourite post I read.
Download Source Code

Download From Github

12 comments:

  1. Hello, I have browsed most of your posts. This post is where I got the most useful information for my research. Thanks for posting, maybe we can see more on this. Are you aware of any other websites on this subject.
    apk download

    ReplyDelete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. that versy useful, i would like to ask you something, how we can post radio button, drop down (not input text) data in google form

    ReplyDelete
  4. I went over this website and I believe you have a lot of wonderful information, saved to my bookmarks web design agency

    ReplyDelete
  5. This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information...
    app development company in mumbai

    ReplyDelete
  6. You don't have to be a programmer to make a basic web site for yourself. Whether it is business or personal, your web site does not need to be fancy. If you can try out a basic web site builder, you will know just what you like and how much time and effort it takes to create your web site survey maker

    ReplyDelete
  7. G Suite offers an astounding measure of abilities for your business beginning at $5 each client/month. Involving G Suite for your business permits you to make and oversee clients for you. Buy Google Reviews

    ReplyDelete
  8. Individuals are fatigued of buying from online organizations, particularly for the situation where other review destinations can obstruct their confidence in the organization.
    Buy 5 Star Google Reviews

    ReplyDelete
  9. lent wording.I got so involved in this material that I couldn’t stop reading.
    I think this is a really good article.You make this information

    ReplyDelete

Please Comment about the Posts and Blog