In this Tutorial you will learn how to retrieve the Data from a Database through Android Application and how to use a spinner to select database data.(spinner is nothing but the modified form of drop down list used in html) The Database supported in Android is "SQLITE", which is a light open source Database which can be used for data insertion in Linux and Windows. SQL Database will run in all Android Devices without any pre installation or setup.
(TIP)source code is avialble at the bottom
There are two method by which you can use a Database in Android. One is by creating a Database through the application and insetion of data through the Java code itself. The other one is by attaching a Database with data to the application. Even though the first method seems to be simpler, if you want to insert say 50 data in to the database it is quite difficult and your code will look shabby. Editing the data and finding the data in code will also be difficult. In the second method we add data to the Database externally using a Database Manager and and attach it to the application in "assets" folder. The data insertion using this method is very simple and fast, even any external person can do this job.Here we are going to learn the second method
The first thing to do is downloading a suitable SQLITE database manger. I will suggest you to use Database Manger comes as a Firefox extension. It very low in size and easy to use with all facilities. Just search SQLite manger in Firefox addons (Tools>addons in Firefox). After getting the Database Manger we have to insert data in to it.
Click Tools>SQLite manger in Firefox and Click create database and give the name "Sample_database"
then create a new table named data as shown in the figure below.
Give the table name as "data". Now insert the following column names respectively, "name","age","sex"and _id"
click ok to create the table as shown below.
From the "browse and search" tab click "add" to add a new record and give the details as follows name:arise,age:31,sex:Male,_id:1 click ok to create the record.
Similarly add the following data to the table
name:Raman,age:40,sex:Male,_id:2 then,
name:Sita,age:35, sex:Female,_id:3
Inorder the database to be worked on Android we have to add a table named "Android Metadata". We can add this through script. "Click Execute SQL" tab and copy pase the following two lines one by one, as shown in figure below.
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US'
INSERT INTO "android_metadata" VALUES ('en_US')
Now our database is ready to attach with the application. The database file will have sqlite extension it is not required so delete the extension.
Now create a new project named "Database" with package name "com.example.database"
Here we are creating a spinner for getting the data from user and a button to execute the Database operation. The result will be displayed in a Table Layout. A TextView will be used for showing the instruction to the user.
copy the following code in to the activity_main.xml file
Also copy the Database file just we have created named "Sample_database" in to assets folder.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Find the Database data based on gender" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="RunDatabse"
android:text="Button" />
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:stretchColumns="*"
>
</TableLayout>
</LinearLayout>
Now in the MainActivity.java file copy the following code. the step by step information is given as comments so read the comments.
package com.example.database;
import java.io.IOException;
import android.app.Activity;
import android.content.res.Resources;
import android.database.SQLException;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
public class MainActivity extends Activity {
private String[] mystring;//creating a string array named mystring
Spinner samplespinner; //Assigning a name for spinner
String[] DataToDB;//defining a string array named DataToDB
String[]result_array;//defining an array for saving the results obtained from DB
String Selecteditem;//Defining a string for storing selected item from spinner
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
///////////////////SPINNER/////////////////////////
ArrayAdapter sampleadapter;//Assigning a name for ArrayAdapter
Resources res = getResources();//Assigning a name for Resources
mystring = res.getStringArray(R.array.Sex);//getting the array items to string named my string
//mystring is an array which is defined on the top
samplespinner= (Spinner) findViewById(R.id.spinner1); //samplespinner is defined in the top
//samplespinner is the name given to the spinner at the top
sampleadapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, mystring);
samplespinner.setAdapter(sampleadapter);
samplespinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3)
{
//Toast.makeText(getBaseContext(), spVIA.getSelectedItem().toString(),
//Toast.LENGTH_LONG).show();
Selecteditem = samplespinner.getSelectedItem().toString();
}
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});}
//////////////////////////SPINNER ENDS///////////////////////////////////////////////////
////////////////////////////DATABASE////////////////////////////////////////////////////
public void RunDatabse(View view) {
DatabaseHelper myDbHelper = new DatabaseHelper(this);
//Toast.makeText(this,Selecteditem,Toast.LENGTH_LONG).show();
try {
myDbHelper.createDataBase();
DataToDB = myDbHelper.ReadFromDB(Selecteditem.trim());//sending the selected spinner item to database for query
TableLayout tablelayout1= (TableLayout)findViewById(R.id.tableLayout1);
tablelayout1.removeAllViews();
//Adding raws to the Table dynamically
for(int i=0;i < DataToDB.length;i++)//repeat adding raws to the table layout till the string array length ends
{
TableRow tR = new TableRow(this);
result_array = DataToDB[i].split(","); //splitting the comma separated string array
//result_array is the string array for storing result.it is defined in top
tR.setPadding(5,5,5,5); //setting spacing between table raws
TextView tV_txt1 = new TextView(this);//adding textViews to each Table cell
TextView tV_txt2 = new TextView(this);
TextView tV_txt3 = new TextView(this);
tV_txt1.setText(result_array[0]);//setting the first array item to text view
tV_txt2.setText(result_array[1]);
tV_txt3.setText(result_array[2]);
tR.addView(tV_txt1);
tR.addView(tV_txt2);
tR.addView(tV_txt3);
tablelayout1.addView(tR);//Adding all Table raws to the Table
}
}
catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
try {
myDbHelper.openDataBase();
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}catch(SQLException sqle){
throw sqle;
}
}
}
Here what we are doing is first loading the data stored in the Strings.xml file in to the spinner. The value of spinner items will be stored in to an string and it will be send to the database for query. The database will be read using code through a new java file which will be explained later.
Now copy the following code in to the strings.xml file in the values folder,
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">database</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<item type="string" name="databaseVersion" format="integer">1</item>
<string-array name="Sex">
<item >Male</item>
<item >Female</item>
</string-array>
</resources>
Here the string array name is "SEX" and the vlaues of array will be (Male, Female) which will be given as items. So What we are going to do is when the user select the Gender ie. Male or Female the data corresponding in the database will be shown to the user.
Now create a new CLass (Java file) called "DatabaseHelper" by right clicking on the package name "com.example.database" and select new>class give the above name for the java file.
Now cpy pase the following code in to the java file,
package com.example.database;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DatabaseHelper extends SQLiteOpenHelper{
//The Android's default system path of your application database.
private static String DB_PATH = "/data/data/com.example.database/databases/";
private static String DB_NAME = "Sample_databse";//name of your Database
private SQLiteDatabase myDataBase;
private final Context myContext;
/**
* Constructor
* Takes and keeps a reference of the passed context in order to access to the application assets and resources.
* @param context
*/
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, 1);
this.myContext = context;
}
/**
* Creates a empty database on the system and rewrites it with your own database.
* */
public void createDataBase() throws IOException{
boolean dbExist = checkDataBase();
if(dbExist)
{
//do nothing - database already exist
//Toast.makeText(this.myContext,"Db Exists",Toast.LENGTH_LONG).show();
}
else{
//By calling this method and empty database will be created into the default system path
//of your application so we are gonna be able to overwrite that database with our database.
this.getReadableDatabase();
//Toast.makeText(this.myContext,"Create new DB",Toast.LENGTH_LONG).show();
try {
copyDataBase();
//Toast.makeText(this.myContext,"Copy DB",Toast.LENGTH_LONG).show();
} catch (IOException e) {
throw new Error("Error copying database");
}
}
}
public String[] ReadFromDB(String Selecteditem) {
// Retrieve a string array of all our Data
//Toast.makeText(this.myContext,"Read From DB",Toast.LENGTH_LONG).show();
ArrayList temp_array = new ArrayList();
String[] notes_array = new String[0];
//The SQL Query
String sqlQuery = "SELECT * FROM data where sex = '"+ Selecteditem +"'" ;
//Here we are querying the databse with the selected item from the spinner. Only the data with the selected item will be retrieved from the database
//Define database and cursor
//Toast.makeText(this.myContext,sqlQuery,Toast.LENGTH_LONG).show();
SQLiteDatabase db = this.getWritableDatabase();
Cursor c = db.rawQuery(sqlQuery, null);
//Loop through the results and add it to the temp_array
//You shoud give the column names in the Database exactly here below
if (c.moveToFirst()){
do{
temp_array.add( c.getString(c.getColumnIndex("name")) +
"," + c.getString(c.getColumnIndex("age")) +
"," + c.getString(c.getColumnIndex("sex"))
);
//Toast.makeText(this.myContext,c.getString(c.getColumnIndex("TIME")),Toast.LENGTH_LONG).show();
}while(c.moveToNext());
}
//Close the cursor
c.close();
//Transfer from the ArrayList to string array
notes_array = (String[]) temp_array.toArray(notes_array);
//Return the string array
return notes_array;
}
/**
* Check if the database already exist to avoid re-copying the file each time you open the application.
* @return true if it exists, false if it doesn't
*/
private boolean checkDataBase(){
SQLiteDatabase checkDB = null;
//Toast.makeText(this.myContext,"check db",Toast.LENGTH_LONG).show();
try{
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
//Toast.makeText(this.myContext,myPath,Toast.LENGTH_LONG).show();
}catch(SQLiteException e){
//Toast.makeText(this.myContext,"DB Does not exists",Toast.LENGTH_LONG).show();
//database does't exist yet.
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
/**
* Copies your database from your local assets-folder to the just created empty database in the
* system folder, from where it can be accessed and handled.
* This is done by transfering bytestream.
* */
private void copyDataBase() throws IOException{
//Open your local db as the input stream
InputStream myInput = myContext.getAssets().open(DB_NAME);
// Path to the just created empty db
String outFileName = DB_PATH + DB_NAME;
//Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
//transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
//Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
public void openDataBase() throws SQLException{
//Open the database
String myPath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}
@Override
public synchronized void close() {
if(myDataBase != null)
myDataBase.close();
super.close();
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
// Add your public helper methods to access and get content from the database.
// You could return cursors by doing "return myDataBase.query(....)" so it'd be easy
// to you to create adapters for your views.
}
Android cannot execute the database directly from the asset folder so it first load it in to the system folder and run it from there. Your database will be stored in the following location "/data/data/com.example.database/databases/" with the name "Sample_databse"
the data is retrived from the database using cursor the following code
"SELECT * FROM data where sex = '"+ Selecteditem +"'"
The criteria for selecting the data is passing through the string named "Selecteditem" which was used to store the selected item from the spinner. So if the criteria ie the sex column matches the selected item in spinner for example "Male" all the data having the gender as "male" will be retrived and shown to the user. In the cursor you should give the exact column name given in the Database (See he comment in the code) Then we store it in a string array and pass it back to the MainActivity to show the result in the Table Layout. Here we don't know how many data will be retrieved so we use a dynamic (automatically adding raws to the Table layout) method to display the data. Please note that in Table layout we have to add TextViews to each cell in order to display the text.
When you run the application you will get the result as follows,
Now we have learn how to use a spinner,SQLite database and Table Layout.
You may download the code by clicking the following link
DOWNLOAD SOURCE CODE
This blog is created to help you in Android Development.This will be helpful to Beginners as well as Experiencing Developers. For easy understanding screen shots and graphics are widely used.To further help you, links to useful Android resources and an Exclusive search in best Android forums is given. In contrast to other Android sites many shortcuts and very useful tips are also given. You may post your feedback, syntax, tips and shortcuts as comments.
Wednesday, March 20, 2013
d. Databse and Spinner Tutorial
Android Development Help
d. SQLite Databse and Spinner Tutorial
Subscribe to:
Post Comments (Atom)
Ya its good...
ReplyDeleteHai,
ReplyDeleteI am a fresher.i want one program.just having two edit text and one button.In first edit text we entered the date and the second edit text just enter one name after that click the ok button it will be stored in database.
Then another one edittext and one button in the same layout.In this edittext enter the date and click the search button which fetch the match result from that date and display the result below the same activity in list view manner.please send my mail id deesh003@gmail.com
Regards
Satheesh.R
Nice post.Give it up. Thanks for share this article. For more visit:Web App Development
ReplyDeleteI run the project in emulator.
ReplyDeleteit shows the screen with the Spinner control & allows me to choose values.
after choosing a value ,
Unfortunately Database has stopped and application closes.
Please help to move further with this error.
Thanks in Advance.
Uninsall the application from emulator by clicking Menu>settings>app>uninstall and then run the application again.
DeleteI tried Uninstalling the application and run it again via Emulator but still getting the same error
DeleteThen try renaming the database file in the asset folder and give another name also change the name in the code (private static String DB_NAME = "Sample_databse";). If that does not work uncomment all the toast which are given in the code and see anything is displayed in the toast or not
DeleteThis comment has been removed by the author.
DeleteThis comment has been removed by the author.
DeleteHi. I am also getting the same issue. Please help me to sort out this please
DeleteThis comment has been removed by the author.
ReplyDeleteThe source you provided worked out fine for me peter. Now i started up with my Android Application Development. Thanks a lot.
ReplyDeleteOne more genral issue i'm facing is, In my eclipse ADT Environment, i can't able to open my Android SDK manager by either clicking on the icon in the toolbar or by clicking Window---> Android SDK manager(In these 2 cases it Shows : Starting Android SDK Manager, Initializing... SDK manager will show up shortly, but nothing happens) or by clicking SDKmanager.exe directly inside the root folder(a command window flashes one second and disappers)
Can u help me with this issue..?
Thanks in Advance!
Regards
Mohan M
mmohanmsc@live.com
Hi Peter , its me again.,
ReplyDeleteStill a newbie to this Andro-World, now my requirement is now i wanna create an application as that of yours, but i need more is i wanna Select,Insert,Update & Delete from the SQL-Lite database (With 4 buttons & also 4textboxes to update data). Also i need to know whether any designed templates available for table layout's so that we can make use of them in our coding?
Give me some idea to start-up with this & also about the design in table layouts..!
Thanks in Advance.!
Regards
Mohan M
mmohanmsc@live.com
Please Tell me How to Custom Listview in this project same db but in mainactivity i want to just show records in custom list view and with edit ,delete and new record insert facility please ge me sample like this i am very thankful to you .Thanks Alot once again.please mail me at muhammamwaqas2@yahoo.com
ReplyDeleteThere are many such type database tutorials are available in websites. The following is a tutorial which I think will fit for your need. Source code is also available for this.Only slight modification will be needed. There are so many other tutorials also of the same type just search "android database tutorial" in Google.
Deletehttp://javapapers.com/android/android-sqlite-database
Hi,
ReplyDeletemystring = res.getStringArray(R.array.Sex);//getting the array items to string named my string
//mystring is an array which is defined on the top
getting array can't be resolved and can't find it defined anywhere.
Thanks for the work
The R.java file gets completely corrupted when I clean it so something is missing, probably in the resources.
ReplyDeleteIt only gets corrupted after I add the string file and I clean it otherwise it's the array problem above to begin with.
Ok fixed it, had to take the main.xml file out of the menu folder and put your activity_main also in there in that was in your download folder, normally I have that in the layout folder.
ReplyDeleteThanks. This helps
ReplyDeleteWorks like a charm!
ReplyDeleteIt's been a great work from the writer to write this post. it is very helpful for me as I am also engaged with Android applications. This tutorial of database and spinner is truly nice. It is very helpful to the android application developers to deliver best service and support.
ReplyDeleteThanks for your great work.
ReplyDeleteHowever, there are some minor mistakes on your post here. I didn't download your source codes from the link but I did it by copying what you put on your page here. The mistakes are as follow:
1) Missing parentheses at the end of the code: CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US'
2) Missing code in the strings.xml: <string name="action_settings">Settings</string>
3) Misspell database name in the DatabaseHelper.java: private static String DB_NAME = "Sample_Databae";
After correcting those minor mistakes, the application runs fine.
Thanks again.
Working great!
ReplyDeleteThanks for the good tutorial.
ReplyDeleteAble to compile especially after Safuan Abdul Latif fixed.
However, i encounter runtime errors, database has stopped.
Kindly seek your advice.
Hi Glen,
DeleteI think there are some errors in the code I have pasted. Just see the comments. Please download the source code given at the end. I think it should work.
Thank You
This comment has been removed by the author.
ReplyDeleteHi... project works fluent. The Downloaded workspace works just perfectly !! Yup there are some errors in the code over here, but the downloaded Workspace is just great !!
ReplyDeleteAlso how to insert a record by taking input from user from edittext and add the record to the Database
ReplyDeleteafter trying so many days, i finally can run on my bluestack now, but when i select male or female it doesnt show data, buton doesnt work or database didnt link?? any1 have this problem, how to solve this
ReplyDeleteJust downlo0ad the source code it should work!
Deletehttp://rapidshare.com/files/2602646334/Database.zip
ty for quick response, i download as u said when i import it there are 4 erors in mainactivity.java
DeleteThe project was not built since its build path is incomplete. Cannot find the class file for java.lang.
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
Unable to resolve target 'android-17'
Are you using eclipse with latest version of Android tools? whih version of Android you are using as target when creating a new Application?
Deletei think it's my adt, its old 22,3.0, i will update and post result, i hope i can do it now :)
DeleteAndroid cannot execute the database directly from the asset folder so it first load it in to the system folder and run it from there. Your database will be stored in the following location "/data/data/com.example.database/databases/" with the name "Sample_databse" <--- i'm confuse here too, should i make folder in database->data>data>com.example.database>databases and paste sample_database?
ReplyDeleteNo the Application will load it in to this location when running. You dont have to do anything
DeleteEverything is working fine now, thank you so much Mr. Arise,
ReplyDeletehow to add scroll on result if it is more than one page, and i want to hide sex on result, can u help me again :P
Free Android Tutorial: Click Here For Free Tutorial
ReplyDeleteWhat if you want to use three spinners to query database. How shall you implement the following scenario?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI run the project in emulator.
ReplyDeleteit shows the screen with the Spinner control & allows me to choose values.
after choosing a value ,
Unfortunately Database has stopped and application closes.
Please help to move further with this error.
Thanks in Advance.
This post is very useful and interesting info, keep sharing.
ReplyDeleteWeb Development Company Bangalore | Website Development Company Bangalore
I simply want to say I’m very new to blogs and actually loved you’re blog site. Almost certainly I’m going to bookmark your blog post . You absolutely come with great well written articles. Thanks a lot for sharing your blog.
ReplyDeleteBest Android Training in Velachery | android development course fees in chennai
This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.
ReplyDeleteandroid development course fees in chennai | android app development training in chennai|Android Training institute in chennai with placement | Best Android Training in velachery
It's extraordinarily impressive I'll be seen that many of the bloggers relevant android community that the time I read that's your suggestions helped me and define the new thing. pretty understandable helpful content.
ReplyDeleteSelenium Training in Chennai | Best Selenium Training Institute in Chennai | Android Training in Chennai | Best Android Training with placement in chennai
Hi, thanks for this very nice and interesting post. I like your writing style, it’s quite unique. Please visit https://goo.gl/UVynXX
ReplyDeleteThank you for helping us through this post. The post is very interesting and helpful to a beginner.
ReplyDeleteVery informative article to work with data on Android. Keep posting.
ReplyDeleteWow! Wow! ,Great information very Superb. You have provided really a very great info that is useful for readers and for me. Keep it up and make more similar type of creative and unique posts that is loved by readers.
ReplyDeleteUgadi Quotes Wishes Greetings SMS Status Messages.
Sunday Status for Whatsapp,Short Sunday Quotes Facebook .
Awesome Attitude Status for Whatsapp Short Quotes Images.
Marathi Status for Whatsapp Love - Attitude - Cool.
Beard Status for Whatsapp, Short Beard Quotes, Facebook Messages .
Brother Status for Whatsapp, Brother Whatsapp Status .
Clever Status for Whatsapp, Short Clever Quotes, Garmi Facebook.
Best Whatsapp Status in Tamil-FUNNY LOVE SAD ATTITUDE .
Beautiful Status for Whatsapp, Short Beauty Quotes .
Lawyer Status For Whatsapp,Famous Lawyer Saying,Lawyer Quotes For Whatsapp .
This concept is a good way to enhance the knowledge.thanks for sharing. please keep it up selenium Online Training Bangalore
ReplyDeleteI am really happy with your blog because your article is very unique and powerful for new reader.
ReplyDeleteClick here:
Selenium Training in Chennai | Selenium Training in Bangalore | Selenium Training in Pune
I am happy to find this post very useful for me, as it contains a lot of information. I always prefer to read the quality content I found in you post. Thanks for sharing.
ReplyDeleteLoadrunner Training in Chennai
Big Data Training in Chennai
java classes in chennai
java j2ee training
core java training in chennai
Helpful blog
ReplyDeleteMobile app Development Company in Dubai at
http://www.appslure.online
Mobile app development company in Kuwait at
http://www.appslure.online/mobile-app-development-company-kuwait.html
Mobile App Development Company in Abu Dhabi at
http://www.appslure.online/mobile-app-development-company-abu-dhabi-uae.html
Good job in presenting the correct content with the clear explanation. The content looks real with valid information. Good Work
ReplyDeleteDevOps is currently a popular model currently organizations all over the world moving towards to it. Your post gave a clear idea about knowing the DevOps model and its importance.
Good to learn about DevOps at this time.
devops training in chennai | devops training in chennai with placement | devops training in chennai omr | devops training in velachery | devops training in chennai tambaram | devops institutes in chennai | devops certification in chennai | trending technologies list 2018
hello,
ReplyDeletei just want to say that you have clearly mention the process very clearly and i also found it is very much easy
to understand. keep sharing.
ios app development company in chennai
Thanks for your efforts in sharing this effective tips to my vision. kindly keep doing more. Waiting for more updates.
ReplyDeleteBest Spoken English Chennai
Spoken English Chennai
Best English Coaching Center in Chennai
Best English Course in Chennai
Best Spoken English Classes near me
Spoken English Institutes in Chennai
English Spoken Centre Chennai
Thanks for sharing this valuable information to our vision. You have posted a worthy blog keep sharing.
ReplyDeletehadoop training in bangalore
hadoop training in bangalore
big data training in bangalore
Java Coaching Classes in Bangalore
Java Certification in Bangalore
Java J2ee Training in Bangalore
I accept there are numerous more pleasurable open doors ahead for people that took a gander at your site.we are providing ReactJs training in Chennai.
ReplyDeleteFor more details: ReactJs training in Velachery | ReactJs training in chennai
Really great blog… Thanks for your useful information.
ReplyDeleteBest Spoken English Institute in Coimbatore
Spoken English Course in Coimbatore
Best Spoken English Coaching Center in Coimbatore
Coimbatore Spoken English Center
English Speaking Course in Coimbatore
wonderful blog. This spinner tutorial is really good for us and i would like to share such cute tricks with my friends.
ReplyDeleteVery good article with very useful information. Visit our website
ReplyDeleteearn money online from google without investment
whatsapp group links 2019
ReplyDeleteI feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
ReplyDeleteDevops Course Training in Chennai |Best Devops Training Institute in Chennai
Selenium Course Training in Chennai |Best Selenium Training Institute in Chennai
Java Course Training in Chennai | Best Java Training Institute in Chennai
This comment has been removed by the author.
ReplyDeleteJust seen your Article, it amazed me and surpised me with god thoughts that eveyone will benefit from it. It is really a very informative post for all those budding entreprenuers planning to take advantage of post for business expansions. You always share such a wonderful articlewhich helps us to gain knowledge .Thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article.
ReplyDeleteThanks
DedicatedHosting4u.com
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
ReplyDeleteHadoop Training in Electronic City
Useful information
ReplyDeleteTop 5 best PPSSPP games for Android
Top 6 Best free online video convertor websites
Bill Gates admits losing to android as his biggest mistake
Top 9 best free tools and website to convert speech into text online
Advantages of choosing proper Antivirus for your PC
Top 8 Reasons Why Government Will Be Slow to Accept the Cloud
Things to be kept in mind while choosing a recovery software
Android vs. Other mobile Operating system and how google is best
Iamrjrahul WR3D 2K17
Very Nice Detail
ReplyDelete슈어맨
슈어맨
Coast Guard Day Images
National Grandparents Day Images
Thanks for the Valuable information.Really useful information. Thank you so much for sharing.It will help everyone.Keep Post. Find Some Indian Memes. Interesting NewsTamilrockers Movie Download Trending News Some Life hacks tips Life hacks Entertainment News Find Some Viral News Here.Viral News
ReplyDeletehow to check aadhar card status by name
ReplyDeleteaadhar card status enquiry phone number
aadhar link to sbi bank
e aadhar download
mask aadhar
aadhar form pdf
https://aadharcardstatus.website/aadhar-card-status-enquiry-phone-number/
how to e aadhar card download online
nsdl pan card status
pan card status by name and date of birth
Excellent Blog. Thank you so much for sharing.
ReplyDeletebest react js training in chennai
react js training in Chennai
react js workshop in Chennai
react js courses in Chennai
react js tutorial
reactjs training Chennai
react js online training
react js training course content
react js online training india
react js training courses
react js training topics
react js course syllabus
react js course content
react js training institute in Chennai
I really enjoy reading your blog. this info will be helpful for me. Thanks for sharing.
ReplyDeletelucky patcher
lucky patcher apk
luky patcher apk
lucky patcher download
download lucky patcher
lucky patcher for download
dowload lucky patcher
lucky patcher apk download
lucky patcher apk downlaod
download lucky patcher apk
luckypatcher apk download
lucky patcher apk downlod
download lucky pather apk
lucky pacher app
lucky patcher ap
lucky patcher apps
apps lucky patcher
lacky patcher app
apk lucky patcher
lucky patcher app download
download lucky patcher app
lucky patcher download app
download app lucky patcher
app cloner premium apk
lucky patcher games
game lucky patcher
games lucky patcher
lucky patcher game hack app
Poweramp is a powerful music player for Android. Using Poweramp Full Version Unlocker [Cracker] For Android, you can access the extra features of the Poweramp music player. https://www.hightechpicker.com/2019/08/poweramp-full-version-unlocker.html
ReplyDeleteThank you for this informative blog
ReplyDeleteTop 5 Data science training in chennai
Data science training in chennai
Data science training in velachery
Data science training in OMR
Best Data science training in chennai
Data science training course content
Data science certification in chennai
Data science courses in chennai
Data science training institute in chennai
Data science online course
Data science with python training in chennai
Data science with R training in chennai
Amazon Customer Care Phone Number
ReplyDeleteAmazon Customer Service Email
Amazon Live Chat Support
Return Item With Amazon Return Policy
Amazon Affiliate Commission
go to
ReplyDeletego to
go to
go to
go to
go to
amazing post and written in very simple and impressive language. Thanks for sharing
ReplyDeleteharry potter wifi names
Nice Post. You have done a great job. Please Keep Posting and Keep Sharing. Emotional Quotes
ReplyDeleteBest Pubg hacking tools October 2019 is Veteran Mode, Strange VPN, Aoba Virtual, VIPERmod, Virtual Backup APK
ReplyDeleteincrese download speed, download speedn increase ,how idm work,
ReplyDeletehow to use idm,use how idm,internet speed,
make downloads faster, internet speed up tips,
speed up internet,how to use idm,increase Speed of internet,
https://www.youtube.com/watch?v=zag2z2QVw30
How To Incress Downloading Speed ? What Is IDM How Its Work ?
thanks for share this amazing article 먹튀 검증사이트
ReplyDeleteYour articles really impressed for me,because of all information so nice.servicenow training in bangalore
ReplyDeleteThese provided information was really so nice,thanks for giving that post and the more skills to develop after refer that post.opennebula training in bangalore
ReplyDeleteI gathered a lot of information through this article.Every example is easy to undestandable and explaining the logic easily.openstack training in bangalore
ReplyDeleteVery useful and information content has been shared out here, Thanks for sharing it.salesforce developer training in bangalore
ReplyDeleteThis is really an awesome post, thanks for it. Keep adding more information to this.vmware training in bangalore
ReplyDeletethank you so much for this nice information Article, Digitahanks for sharing your post with us.Real Time Experts training center bangalore
ReplyDeleteI have read your blog its very attractive and impressive. I like it your blog.Real Time Experts Training in Bangalore center address bangalore
ReplyDeletePost is very useful. Thank you, this useful information.
ReplyDeleteGet Best Service Now Training in Bangalore from Real Time Industry Experts with 100% Placement Assistance in MNC Companies. Book your Free Demo with Softgen Infotech.
Today I’m going to show you how to write articles and earn money in IndiaThese methods are best and can replace your job. In fact, one of my colleagues is making more than Rs. 25,963. And he gets paid to write articles at home from India.
ReplyDeleteRitesh Agarwal is the CEO, founder of OYO Rooms. Yes, OYO Rooms known as OYO Homes and Hotels which is an Indian Chain, world’s third-largest and top two from China. Ritesh Agarwal is today’s world’s fastest hotel growing chain’s CEO. Ritesh has achieved the Thiel Fellowship which helped him to reach great heights. He was just 18 when he started his company OravelStays which later turned into OYO Rooms. Ritesh Agarwal wiki is quite fascinating so let’s get to it.
ReplyDeleteSach janiye
ReplyDeleteMrinalini Sarabhai
Sandeep Maheshwari
dr sarvepalli radhakrishnan
Arun Gawli
Rani Padmini
Sushruta
Harshavardhana
Nanaji Deshmukh
Tansen
nw-31297-2
ReplyDeletePS4 External Hard Drive – Top Product Of 2019
ce-34788-0
proxy server ps4
subrahmanyan chandrasekhar
ReplyDeleteMithali Raj
Durgabai Deshmukh
Sumitranandan Pant
Pandit Deendayal Upadhyay
Manya Surve
Philip Larkin
Razia Sultan
Gautam Adani
Surdas
Very nicely done. Your show schedule gave me the info on some shows I was wondering about. I visited your web site today and found it very interesting and well done. I can tell you have put a lot of work into it. Thank you for the listing on your web page. You have a good looking web site Your site is exactly what I have looking for!! Keep up with the good work.
ReplyDeleteHow to Change PS4 DNS Settings
Fastest DNS for PS4 [2020]
PS4 NAT Type Failed – Fixed [100% Working 2020]
Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
ReplyDeletetop servicenow online training
Really i found this article more informative, thanks for sharing this article! Also Check here
ReplyDeleteDownload and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows
Vidmate App Download
Vidmate apk for Android devices
Vidmate App
download Vidmate for Windows PC
download Vidmate for Windows PC Free
Vidmate Download for Windows 10
Download Vidmate for iOS
Download Vidmate for Blackberry
Vidmate For IOS and Blackberry OS
techuzza
ReplyDeletewishing republic day
ReplyDeleteThank you for sharing valuable information. Thanks for providing a great informatic blog, really nice required information & the things I never imagined. Thanks you once again Hungry Shark Evolution Mod Apk
ReplyDeletegyt
ReplyDeleteDownload Latest Android Mod Apk from Modkiller. This is the Best Modded APK site of 2019, We share Modded Games and other android apps for Free.
ReplyDeleteMod Killer
Jntuk Fast Updates
fast vpn mod apk
tinder gold mod apk
unblock website vpn mod apk
vpn lighter mod apk
avg cleaner pro mod apk
videoshop pro mod apk
Download Latest Android Mod Apk from Modkiller. This is the Best Modded APK site of 2019, We share Modded Games and other android apps for Free.
ReplyDeletevpn master premium mod apk
pocket caste mod apk
hola vpn mod apk
procam x mod apk
filmmaker pro mod apk
azar mod apk
link vpn mod apk
imvu mod apk
Download Latest Android Mod Apk from Modkiller. This is the Best Modded APK site of 2019, We share Modded Games and other android apps for Free.
ReplyDeletesurfeasy vpn mod apk
vpn by firevpn mod apk
music speed changer mod apk
adove acrobat reader pro mod apk
tunnelbear vpn mod apk
pub gfx mod apk
hi vpn pro mod apk
Download Latest Android Mod Apk from Modkiller. This is the Best Modded APK site of 2019, We share Modded Games and other android apps for Free.
ReplyDeletevpn 360 mod apk
Dog vpn mod apk
piclab mod apk
avira antivirus security premium mod apk
x vpn mod apk
koda cam mod apk
Awesome post. We all are praying for the world. The first world country is now at the top risk. Then the horrible thing is how can the third and the second world will protect themselves from this fatality? Still, now we have some time, please try to be safe.
ReplyDeleteDEADLY EFFECT OF CORONAVIRUS (COVID-19) ALL OVER THE WORLD
Thanks.
Your Website is very good, Your Website impressed us a lot, We have liked your website very much.
ReplyDeleteWe have also created a website of Android App that you can see it.
http://damodapk.com/
http://infotodaypk.com/
tinder gold mod apk
ReplyDeletefilmmaker pro mod apk
imvu mod apk
adove acrobat reader pro mod apk
pub gfx mod apk
x vpn mod apk
express vpn mod apk
This comment has been removed by the author.
ReplyDeleteThanks for your post! Really interesting blogs.
ReplyDeleteDigital marketing company | Digital Marketing Agency | Digital Marketing Companies in Bangalore
Digital marketing agency in hyderabad | Digital marketing companies in hyderabad
The site was so nice, I found out about a lot of great things. I like the way you make your blog posts. Keep up the good work and may you gain success in the long run.
ReplyDeleteBig Data Hadoop Training In Chennai | Big Data Hadoop Training In anna nagar | Big Data Hadoop Training In omr | Big Data Hadoop Training In porur | Big Data Hadoop Training In tambaram | Big Data Hadoop Training In velachery
nice tip! thank you so much. this website make you rich.먹튀
ReplyDelete
ReplyDeleteVery nice post..After reading your post,thanks for taking the time to discuss this, I feel happy about and I love learning more about this topic.
Selenium Training in chennai | Selenium Training in anna nagar | Selenium Training in omr | Selenium Training in porur | Selenium Training in tambaram | Selenium Training in velachery
thanks for sharing information awesome blog post click here
ReplyDeleteThanks for sharing information awesome blog post Online Education Quiz website Gk in Hindi
ReplyDeleteDigital Marketing Course in Patiala
ReplyDeleteWeb designing course in Patiala
Graphic designing course in Patiala
Seo course in Patiala
App development course in Patiala
Social media marketing course in Patiala
Web development course in Patiala
Ppc course in Patiala
Computer centre in patiala
camscanner app
Deletemeitu app
shein app
youku app
sd movies point
uwatchfree
Excellent blog thanks for sharing the valuable information..it becomes easy to read and easily understand the information.
ReplyDeleteUseful article which was very helpful. also interesting and contains good information.
to know about python training course , use the below link.
Python Training in chennai
Python Course in chennai
সন্তানের মা হলে কি ভালোবাসা বারণ
ReplyDeleteA letter to my love
অসম্পূর্ণ ভালোবাসা | ছোঁয়া লেগেছিল মাএ
Love story of a single mother kolkata
An Affair can’t be Wrong Every Time escorts
একাকীত্ব না ভালোবাসা kolkata escorts
branding company in Patiala
ReplyDeleteDigital marketing company in Patiala
Graphic designing services in Patiala
Web designing company in Patiala
Web development company in Patiala
Seo company in Patiala
Angle traders in mandigobindgarh
ReplyDeleteTMT Bar traders in mandigobindgarh
Channels traders in mandigobindgarh
Beam traders in mandigobindgarh
Flat Bars traders in mandigobindgarh
Sheets Plates traders in mandigobindgarh
Galvanised sheet traders in mandigobindgarh
Pipeline traders in mandigobindgarh
Rail traders in mandigobindgarh
Binding traders in mandigobindgarh
Very interesting, good job and thanks for sharing such a good blog. your article is so convincing that I never stop myself to say something about it. You’re doing a great job. Keep it up
ReplyDeleteJava Training in Chennai
Java Course in Chennai
Thanks for Sharing a Very Informative Post & I read Your Article & I must say that is very helpful post for us.
ReplyDeleteOnline Data Science Classes
Selenium Training in Pune
AWS Online Classes
Python Online Classes
Very Nice Article
ReplyDeleteThanks for sharing this information. I really appreciate it.
Jio Phone Me Screenshot Kasie Lete Hai
Jio Phone Me Whatsapp Status Kaise Dekhe
Mirzapur Season 2 Web Series Download Amazon Prime , Filmywap, Netflix, Dailymotion
Jio Phone Mein Photo Edit Kaise Kare
Best sensitivity settings for pubg mobile 2021
New south movie 2021 hindi dubbed download filmywap
Nice Blog. We are making the Best Software training in bangalore.
ReplyDeleteJ2ee training in bangalore
learn J2ee in bangalore
I was taking a gander at some of your posts on this site and I consider this site is truly informational! Keep setting up
ReplyDelete3 BHK Flats for sale in Patancheru, Hyderabad
Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.
ReplyDeletePlant Engineering Services
Offshore Engineering Services India
You are the play of the Mobile Legend Games & you want to HACK MLBB game? So, DOWNLOAD injector tools. EZ Star Injector, EZ Hunter, NC Injector, Marjotech PH , NEW I-MOBA, NEW BoxSkin, YS Patcher
ReplyDeleteAre you getting bored during this lockdown ? We are here for you to kill your boredom and offering amazing courses for you only. There will be CS executive classes which is very easy to understand and a free of cost CSEET classes so guys hurry up . To avail this offer visit our website or contact us at https://uniqueacademyforcommerce.com/
ReplyDeleteShop for the latest Redmi mobiles from Helmet Don at the best prices in India. Xiaomi smartphones include Mi Series, Mi Note Series, Redmi Series, Pocophone, Mi Max Series, Mi Mix Series, and the Blackshark.
ReplyDeleteHelmetDon
MI
redmi-phones
Shop Repair & Buy Mobiles Online At best prices in India only at https://rshop.in/location/shikrapur/
ReplyDeletekya aap islamic information zero to hero sikhna chahte hai to www.namazquran.com website ke sath jude jao waha pe apko daily new post islamic knowledge ka milega.
ReplyDeleteSearch Chennai real estate, Chennai property, Chennai Home For Sale, Chennai Land for Sale, property in Chennai, real estate in Chennai. Buy Commercial or Industrial Properties in Chennai.
ReplyDeletechennai
visit here
best-villa-projects-in-coimbatore
Nice Article, I Really Like The Way You Set Things Out In An Easy Way To UnderstandFree Forex Signals
ReplyDeleteWhy Is Vt Market Login Required?
ReplyDeleteTrade FX At Home On Your PC: roboforex login Is A Forex Trading Company. The Company States That You Can Make On Average 80 – 300 Pips Per Trade. roboforex login States That It Is Simple And Easy To Get Started.
ReplyDeleteBest Air Fryers In 2022
ReplyDeleteFor Download Subway Surfers Mod Apk
happy-eid-milad-un-nabi-images
ReplyDeleteeid-milad-un-nabi-2021-images
Aaqa-Ka-Milad-Aaya-Lyrics
Eid-Milad-Un-Nabi-Mubarak-Images
Eid-Milad-Un-Nabi-Ki-Haqeeqat-In-Hindi
Eid-Milad-Un-Nabi-In-Quran
undefined
Find Out About The Advantages Of Using A Broker Like Technical AnalysisAnd Learn More About The Stock Market And The Best Ways To Invest In It. Read More Here.
ReplyDeleteVery informative blog. Thank you for sharing with us.
ReplyDeleteTamil romantic novels pdf
Ramanichandran novels PDF
srikala novels PDF
Mallika manivannan novels PDF
muthulakshmi raghavan novels PDF
Infaa Alocious Novels PDF
N Seethalakshmi Novels PDF
Sashi Murali Tamil Novels PDF
hi thanku so much this infromation
ReplyDeletecs executive
freecseetvideolectures/
With Aximtrade Review You Can Also Use Technical Analysis Tools Such As The Candle Chart, Price-time Charts And More. As Well As Offering 24/5 Trading On Mt4 To All Its Clients, With Xtb You Can Benefit From Additional Features And Enhanced Functionality.
ReplyDeleteAximTrade Is A Forex And Cfd Broker. It Offers Trading In Currency Pairs, Commodities, Indices, And Shares. It Also Provides A Range Of Tools, And 24/7 Customer Service. Sign Up For Aximtrade Login Account Today!
ReplyDeleteAximTrade Review Is A Forex And Cfd Broker. It Offers Trading In Currency Pairs, Commodities, Indices, And Shares. It Also Provides A Range Of Tools, And 24/7 Customer Service. Sign Up For AximTrade Login Account Today!
ReplyDeletelink text
ReplyDeleteIf You Are Looking For A Reliable Fx Broker, Don't Rush And Read This XM REVIEW Review First. This Is A Serious Warning Against The Broker's Illegal Activities.
ReplyDeleteplease take some time and visit to our sites if anybody is searching for jobs .
ReplyDeleteSkillbee is the best quest for new employment application.
skillbee
all job fujairah
Want To Trade Forex With AVATRADE REVIEW ? Read This Blog First To Find Out About The Best Forex Trading Conditions. We Review The Most Popular Forex Brokers And Tell You What You Need To Know.
ReplyDeleteFind the list of Top 10 Forex Broker USA Based On Independent Ratings, Reviews, And Online Presence. Find Out Which Broker You Should Choose.
ReplyDeleteI used to ask to get this information for a long time, I was not getting it, after reading your post, I have got complete information about it.
ReplyDeleteIndir APK
ReplyDeletePDF Anytime
The Naat Lyrics
Power of Islam
Choose Tech Special
Green Anarkali Suit Set
ReplyDeleteCotton Anarkali kurti Sharara Suit
Red Anarkali Suit Set
Black Anarkali Flared Gown Suit
Chikankari Suit Set
Blue Anarkali Partywear Suit
Partywear Gown Suit Set
Anarkali Gown Suit Set
Partywear Suit Set
Acquire the trending DevOps Training in Chennai from the best software training institute in Chennai, Infycle Technologies. Additionally, we come up with the latest demanded technological courses like Python, Data Science, Digital Marketing, Big Data, Oracle, AWS, Azure, Google Cloud, Java, and Oracle with the best faculties in the industry. To clear your doubts, call +91-7504633633 or +91-7502633633.
ReplyDeleteI want the world to know about where to invest their hard earned money and get fruitful returns. If one is looking forward of investing he can go into investment of crypto coins.
ReplyDeleteYou can invest in Fudxcoin company that deals in the selling and purchasing of Crypto Currency. It is a reliable company. One need not doubt in investing in it as i have also bought crypto currency from it and feeling very satisfied with their services.
crypto currency block chain technology
AFM Logistics Pvt Ltd is Best Ocean Freight Forwarding Companies In India established in Delhi. The company was constituted in 2012 and is indulged in providing complete logistics solution. The company has its own setup and wide network of agents throughout the world. Best Custom Clearing Company in Delhi . They are the Top Freight Forwarding Companies In India. AFM Logistics Pvt Ltd has been working as Best Air Cargo Company in Delhi since 2012. They have been providing Worldwide Shipping and Logistics Company in Delhi for a very long time.
ReplyDeleteI found for that excuse many enticing stuff in your blog especially its ventilation. From the heaps of remarks a propos your articles, I surmise I'm as of now not the independent one having all of the relaxation here! shop occurring the charming complete.. Office 2019 Crack
ReplyDeletei'm honest natured you take conveyance of to self-centeredness in your message. It makes you stand dependancy out from numerous assistant essayists that can't uphold extreme climate content remembering you. How To Crack Microsoft Office 2019
ReplyDelete