Just googling around and find useful Java library, okhttp3, to send http request in from Android app.
Here I share the codes demonstrating how to use that library.
Android App Manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zofiakreasi.simplerequest"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
activity_main:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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" tools:context="com.zofiakreasi.simplerequest.MainActivity"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="TextView" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/buttonSimple" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginStart="8dp" android:text="Simple Request" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> <Button android:id="@+id/buttonGet" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginStart="8dp" android:text="GET Request" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@+id/buttonSimple" /> </android.support.constraint.ConstraintLayout>
Main Activity:
package com.zofiakreasi.simplerequest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class MainActivity extends AppCompatActivity { TextView mTextView; String url = ""; Button buttonSimple; Button buttonGet; public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = findViewById(R.id.text); buttonSimple = findViewById(R.id.buttonSimple); buttonSimple.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { simpleReq(); } }); buttonGet = findViewById(R.id.buttonGet); buttonGet.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getReq(); } }); } void simpleReq(){ mTextView.setText("Please wait..."); url = "URL HERE"; try { runSimpleReq(); } catch (IOException e) { e.printStackTrace(); } } void getReq(){ mTextView.setText("Please wait..."); url = "URL HERE"; try { runSimpleReq(); } catch (IOException e) { e.printStackTrace(); } } void runSimpleReq() throws IOException { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { call.cancel(); } @Override public void onResponse(Call call, Response response) throws IOException { final String myResponse = response.body().string(); MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { mTextView.setText(myResponse); } }); } }); } }
Don’t forget to include this dependency in your Gradle file:
compile 'com.squareup.okhttp3:okhttp:3.7.0'
loading...