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 belowhttps://docs.google.com/forms/d/e/1FAIpQLScIpmqndQeQG3lFbj0QkQ1Kt6tEXoPrOt314AZGQ2WKuK8IvA/viewform
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.
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" />
LayoutCreate 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.
nice tutorial
ReplyDeleteHello, 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.
ReplyDeleteapk download
This comment has been removed by a blog administrator.
ReplyDeletethat 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
ReplyDeleteGreat Article
Android Final Year Project Ideas for Computer Science
Project Centers in Chennai
I went over this website and I believe you have a lot of wonderful information, saved to my bookmarks web design agency
ReplyDeleteThis is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information...
ReplyDeleteapp development company in mumbai
Đại lý vé máy bay Aivivu, tham khảo
ReplyDeletevé máy bay đi Mỹ bao nhiêu tiền
có vé máy bay từ mỹ về việt nam không
Lịch bay từ Hàn Quốc về Việt Nam tháng 7
các đường bay từ canada về việt nam
chuyến bay nhân đạo từ nhật về việt nam
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
ReplyDeleteG 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
ReplyDeleteIndividuals are fatigued of buying from online organizations, particularly for the situation where other review destinations can obstruct their confidence in the organization.
ReplyDeleteBuy 5 Star Google Reviews
lent wording.I got so involved in this material that I couldn’t stop reading.
ReplyDeleteI think this is a really good article.You make this information