This example will show you how to use http.
Algorithm:
1.) Create a new project by File-> New -> Android Project name it HttpConnectExample.
2.) Write following into layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical"> <AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/imageview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="@string/imagestring" android:cropToPadding="true" android:contentDescription="@string/imagestring" android:adjustViewBounds="true" android:layout_y="10px" android:layout_x="1px"> </ImageView> <TextView android:id="@+id/textview01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/textstring" android:layout_x="1px" android:layout_y="200px"/> <Button android:id="@+id/Button01" android:text="@string/button01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_x="10px" android:layout_y="325px"></Button> <Button android:id="@+id/Button02" android:layout_height="wrap_content" android:text="@string/button02" android:layout_width="wrap_content" android:layout_x="100px" android:layout_y="325px"></Button> </AbsoluteLayout> </LinearLayout>
3.) Write following into your manifest file:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.HttpConnectExample" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HttpConnectExample" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"></uses-permission> </manifest>
4.) Run for output.
Steps:
1.) Create a project named HttpConnectExample and set the information as stated in the image.
Build Target: Android 4.2
Application Name: HttpConnectExample
Package Name: com.example.HttpConnectExample
Activity Name: HttpConnectExample
Min SDK Version: 4.2
2.) Open HttpConnectExample.java file and write following code there:
package com.example.HttpConnectExample; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.app.ProgressDialog; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class HttpConnectExample extends Activity { private Button getImageButton; private Button getTextButton; private ProgressDialog progressDialog; private Bitmap bitmap = null; private String text = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getImageButton = (Button)findViewById(R.id.Button01); getTextButton = (Button)findViewById(R.id.Button02); getImageButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { downloadImage("http://www.android.com/media/wallpaper/gif/android_logo.gif"); } }); getTextButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { downloadText("https://www.edumobile.org/android"); } }); } private void downloadImage(String urlStr) { progressDialog = ProgressDialog.show(this, "", "Fetching Image..."); final String url = urlStr; new Thread() { public void run() { InputStream in = null; Message msg = Message.obtain(); msg.what = 1; try { in = openHttpConnection(url); bitmap = BitmapFactory.decodeStream(in); Bundle b = new Bundle(); b.putParcelable("bitmap", bitmap); msg.setData(b); in.close(); } catch (IOException e1) { e1.printStackTrace(); } messageHandler.sendMessage(msg); } }.start(); } private void downloadText(String urlStr) { progressDialog = ProgressDialog.show(this, "", "Fetching Text..."); final String url = urlStr; new Thread () { public void run() { int BUFFER_SIZE = 2000; InputStream in = null; Message msg = Message.obtain(); msg.what=2; try { in = openHttpConnection(url); InputStreamReader isr = new InputStreamReader(in); int charRead; text = ""; char[] inputBuffer = new char[BUFFER_SIZE]; while ((charRead = isr.read(inputBuffer))>0) { //---convert the chars to a String--- String readString = String.copyValueOf(inputBuffer, 0, charRead); text += readString; inputBuffer = new char[BUFFER_SIZE]; } Bundle b = new Bundle(); b.putString("text", text); msg.setData(b); in.close(); }catch (IOException e) { e.printStackTrace(); } messageHandler.sendMessage(msg); } }.start(); } private InputStream openHttpConnection(String urlStr) { InputStream in = null; int resCode = -1; try { URL url = new URL(urlStr); URLConnection urlConn = url.openConnection(); if (!(urlConn instanceof HttpURLConnection)) { throw new IOException ("URL is not an Http URL"); } HttpURLConnection httpConn = (HttpURLConnection)urlConn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); resCode = httpConn.getResponseCode(); if (resCode == HttpURLConnection.HTTP_OK) { in = httpConn.getInputStream(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return in; } private Handler messageHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: ImageView img = (ImageView) findViewById(R.id.imageview01); img.setImageBitmap((Bitmap)(msg.getData().getParcelable("bitmap"))); break; case 2: TextView text = (TextView) findViewById(R.id.textview01); text.setText(msg.getData().getString("text")); break; } progressDialog.dismiss(); } }; }
3.) Compile and build the project.
Output
Top 10 Android App Development Trends | 2020 Guide
9 Popular Cross-Platform Tools for App Development in 2019
20 Best iOS App Development Tutorials and Online Learning Resources
Top 15 Best Android Apps For C Programming | 2018 Exclusive
The Best 15 Mobile Game Development Platforms & Tools in 2018
The Top Web Development Frameworks in 2018
10 Top Web Development Frameworks In 2017
Android Studio Introduction