Making HttpURLConnection faster, easy and secure. Best method to impliment httpurlconnection in android.
Just add jitpack to you project, in recent updates of android studio you might face errors. If yes try this method and also try googing "how to add jitpack to android studio version ---". If you need more help comment on our youtube channel https://youtube.com/codeseasy
- Go to Gradle Srcipts section and open settings.gradle file:
- Add maven { url "https://jitpack.io" } to the file like below
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation 'com.github.VishnuSivadasVS:Advanced-HttpURLConnection:1.2'
}
- If you are facing issue with sync just go to file, invalidate cache and restart. Also try clearing the build and rebuild the project.
We have Two classes FetchData and PutData. Import the Library to your file first (In android studio paste the code and press alt + enter).
You need to use Handler and post a Runnable. Inside the run method add the code for FetchData.
- Creating the object for FetchData, pass the URL as argument.
FetchData fetchData = new FetchData("https://projects.vishnusivadas.com/AdvancedHttpURLConnection/readTest.php");
- Calling startFetch() returns a boolean value.
fetchData.startFetch();
- To know when the process is completes use onComplete() which returns a boolean value.
fetchData.onComplete();
- If the process is complete, use the getResult() to get the result value.
fetchData.getResult();
- Full implimentation with Handler. You can also add a progress bar at the commended regions.
//Start ProgressBar first (Set visibility VISIBLE)
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
FetchData fetchData = new FetchData("https://projects.vishnusivadas.com/AdvancedHttpURLConnection/readTest.php");
if (fetchData.startFetch()) {
if (fetchData.onComplete()) {
String result = fetchData.getResult();
//End ProgressBar (Set visibility to GONE)
Log.i("FetchData", result);
}
}
}
});
You need to use Handler and post a Runnable. Inside the run method add the code for PutData.
- First we need to create to arrays, one for field name of the parameter and another for the data. Make sure the order is correct.
String[] field = new String[2];
field[0] = "param-1";
field[1] = "param-2";
String[] data = new String[2];
data[0] = "data-1";
data[1] = "data-2";
- PHP representation, The post array will look like,
$_POST['param-1'] = "data-1";
$_POST['param-2'] = "data-2";
- Creating the object for PutData, pass the URL, method, field, data as arguments. The method can be POST and also GET.
PutData putData = new PutData("https://projects.vishnusivadas.com/AdvancedHttpURLConnection/putDataTest.php", "POST", field, data);
- Calling startFetch() for starting the process, it returns a boolean value.
putData.startPut();
- To know when the process is completes use onComplete() which returns a boolean value.
putData.onComplete();
- If the process is complete, use the getResult() to get the result value.
putData.getResult();
- Full implimentation with Handler. You can also add a progress bar at the commended regions.
//Start ProgressBar first (Set visibility VISIBLE)
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
//Starting Write and Read data with URL
//Creating array for parameters
String[] field = new String[2];
field[0] = "param-1";
field[1] = "param-2";
//Creating array for data
String[] data = new String[2];
data[0] = "data-1";
data[1] = "data-2";
PutData putData = new PutData("https://projects.vishnusivadas.com/AdvancedHttpURLConnection/putDataTest.php", "POST", field, data);
if (putData.startPut()) {
if (putData.onComplete()) {
String result = putData.getResult();
//End ProgressBar (Set visibility to GONE)
Log.i("PutData", result);
}
}
//End Write and Read data with URL
}
});
This is just like a pre-release version there are lot of other features coming soon.
- Vishnu Sivadas - Developer - Website
Check out my other works @VishnuSivadasVS