0

i am new to JSON web services.I am passing parameters and getting data from the server. find below code.

Added the internet permission in manifest.

can`any help me sample code for getting data from server with post method with parameters.

I have changed URL details below for security reasons.

Kindly help me here.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try {
            TextView textview=(TextView)findViewById(R.id.textview);
            URL url=new URL("https://XXXX.net/XXX");

            HttpURLConnection connection=(HttpURLConnection)url.openConnection();
            String urlparameters="version=1.0&apikey=isjd&src=test.shoppinglist&apiname=nen&category=all";
            connection.setRequestMethod("POST");
            connection.setRequestProperty("USER-AGENT","Mozilla/5.0");
            connection.setRequestProperty("ACCEPT-LANGUAGE","en-US,en;0.5");
            connection.setDoOutput(true);
            DataOutputStream dstream=new DataOutputStream(connection.getOutputStream());
            dstream.writeBytes(urlparameters);
            dstream.flush();
            dstream.close();

            int request_code=connection.getResponseCode();
            String output="Request URL:"+url;
            output+=System.getProperty("line.separator")+" Request Parameters:"+urlparameters;
            output+=System.getProperty("line.separator")+" RequestCOde:"+request_code;

            BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line="";
            StringBuilder ResponseOutput=new StringBuilder();

            while((line=br.readLine())!=null){
                ResponseOutput.append(line);
            }
            br.close();

            output +=System.getProperty("line.separator")+ ResponseOutput.toString();

            textview.setText(output);

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  • You are not supposed to make a request in the main thread, Using Async Task instead! – Xenolion Dec 14 '17 at 14:17
  • You error title is self descriptive. You cannot perform "Network Operations on Main Thread" . Create an Async task and move all your code into it. Execute your code using Async task. – Ravi Dec 14 '17 at 14:20

0 Answers0