[android-beginners] Re: remote app commands sent via http

2009-09-28 Thread HTN

The code worked perfectly. Thanks for the help.

On Sep 27, 2:46 pm, Jeffrey Blattman jeffrey.blatt...@gmail.com
wrote:
 no, there's a default read timeout. the only thing i noticed wrong was
 that you were writing to URL itself to the stream.

 On 9/27/09 11:42 AM, HTN wrote:





  Seems like I was on the right track as I had url.openconnection. Is
  the ReadTimout portion what I was doing wrong?

  I'll try the code out when I get back home tomorrow. Thanks for the
  help.

  On Sep 27, 2:21 pm, Jeffrey Blattmanjeffrey.blatt...@gmail.com
  wrote:

  nah. first, he said that the endpoint wants GET params, and you are
  opening with POST method below. you don't need to write data to the
  stream. the data is passed to the endpoint as GET params.

  if you just want to pass the get params, it's enough to just call
  openConnection(). depending on how the endpoint returns a response, you
  can check the response code with getResponseCode(), or you can read a
  data response (XML, JSON, etc) by calling getInputStream(). here's the
  simplest case,

                URL url = new URL(urlString);
                HttpURLConnection uc = (HttpURLConnection)
  url.openConnection();
                uc.setReadTimeout(30 * 1000); // 30 seconds

                if (uc.getResponseCode() != 200) {
                    //TODO: handle error and return
                }

                reader = new BufferedReader(new
  InputStreamReader(uc.getInputStream(), ISO-8859-1), 8192);
                while ((line = reader.readLine()) != null) {
                    result.append(line);
                    result.append('\n');
                }

                // result data is in result

  On 9/27/09 11:07 AM, Alok Kulkarni wrote:

  This works
  URL url = new URL(serverURL);

               // open the conncetion
               HttpURLConnection connection =
  (HttpURLConnection)url.openConnection();

               // Let the run-time system (RTS) know that we want input.
               connection.setDoInput(true);
               // Let the RTS know that we want to do output
               connection.setDoOutput(true);
               // No caching, we want the real thing
               connection.setUseCaches(false);
               // set the content type property
               connection.setRequestProperty(Content-type,strContenttype);

               // set request method
               connection.setRequestMethod(POST);
               // create the post body to send
               String content = credDevPair.toString();
               Log.i(Request ... ,content);
               DataOutputStream printout = new DataOutputStream (
  connection.getOutputStream () );

               // send the data
               printout.writeBytes(content);
               printout.flush();
               printout.close();

  On Sun, Sep 27, 2009 at 11:25 PM, HTNrevil...@gmail.com
  mailto:revil...@gmail.com  wrote:

       It's through GET parameters. I can type in the following command in a
       browser's URL box and it works:
     
  http://192.168.0.12/output_format=xmlDeviceNum=13action=SetTargetn...
       
  http://192.168.0.12/output_format=xmlDeviceNum=13action=SetTargetn...

       I'm used to sending commands through TCP sockets so I'm sure what's
       the best way to send a URL command. I'm guessing the opening a URL
       part isn't adequate.

       On Sep 26, 8:49 pm, Jeffrey Blattmanjeffrey.blatt...@gmail.com
       mailto:jeffrey.blatt...@gmail.com
       wrote:
         you are opening a URL, then writing that URL to the stream you
       open at
         the URL. that's probably not what you wanted. what's the URL,
       and what
         is the command you are trying to pass? how does the endpoint
       accept
         the command? by reading POST data? through GET parameters?

         On 9/25/09 7:31 PM, HTN wrote:

           I'm developing a remote app that sends commands via http.
       Normally I
           type in a link in a browser and the command will work. With
       Android, I
           would like it to work with a press of a button. I tried the
       following
           code and it didn’t work:

                        URL url = new URL(urlString);

                         URLConnection connection = url.openConnection();
                         connection.setDoOutput(true);

                         OutputStreamWriter out = new OutputStreamWriter
           (connection.getOutputStream());
                       out.write(urlString);
                       out.close();

           urlstring is the http command link.

           Any ideas? Am I on the wrong track? I'm confused because
       technically I
           don't need to write anything to the link. I would think it
       would work
           if I just open the connection.

           Thanks.

         --

  --

 --
--~--~-~--~~~---~--~~
You received this message because you are subscribed

[android-beginners] Re: remote app commands sent via http

2009-09-27 Thread HTN

It's through GET parameters. I can type in the following command in a
browser's URL box and it works:
http://192.168.0.12/output_format=xmlDeviceNum=13action=SetTargetnewTargetValue=1

I'm used to sending commands through TCP sockets so I'm sure what's
the best way to send a URL command. I'm guessing the opening a URL
part isn't adequate.

On Sep 26, 8:49 pm, Jeffrey Blattman jeffrey.blatt...@gmail.com
wrote:
 you are opening a URL, then writing that URL to the stream you open at
 the URL. that's probably not what you wanted. what's the URL, and what
 is the command you are trying to pass? how does the endpoint accept
 the command? by reading POST data? through GET parameters?

 On 9/25/09 7:31 PM, HTN wrote:





  I'm developing a remote app that sends commands via http. Normally I
  type in a link in a browser and the command will work. With Android, I
  would like it to work with a press of a button. I tried the following
  code and it didn’t work:

              URL url = new URL(urlString);

               URLConnection connection = url.openConnection();
               connection.setDoOutput(true);

               OutputStreamWriter out = new OutputStreamWriter
  (connection.getOutputStream());
             out.write(urlString);
             out.close();

  urlstring is the http command link.

  Any ideas? Am I on the wrong track? I'm confused because technically I
  don't need to write anything to the link. I would think it would work
  if I just open the connection.

  Thanks.

 --
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Beginners group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~--~~~~--~~--~--~---



[android-beginners] Re: remote app commands sent via http

2009-09-27 Thread HTN

Seems like I was on the right track as I had url.openconnection. Is
the ReadTimout portion what I was doing wrong?

I'll try the code out when I get back home tomorrow. Thanks for the
help.


On Sep 27, 2:21 pm, Jeffrey Blattman jeffrey.blatt...@gmail.com
wrote:
 nah. first, he said that the endpoint wants GET params, and you are
 opening with POST method below. you don't need to write data to the
 stream. the data is passed to the endpoint as GET params.

 if you just want to pass the get params, it's enough to just call
 openConnection(). depending on how the endpoint returns a response, you
 can check the response code with getResponseCode(), or you can read a
 data response (XML, JSON, etc) by calling getInputStream(). here's the
 simplest case,

              URL url = new URL(urlString);
              HttpURLConnection uc = (HttpURLConnection)
 url.openConnection();
              uc.setReadTimeout(30 * 1000); // 30 seconds

              if (uc.getResponseCode() != 200) {
                  //TODO: handle error and return
              }

              reader = new BufferedReader(new
 InputStreamReader(uc.getInputStream(), ISO-8859-1), 8192);
              while ((line = reader.readLine()) != null) {
                  result.append(line);
                  result.append('\n');
              }

              // result data is in result

 On 9/27/09 11:07 AM, Alok Kulkarni wrote:





  This works
  URL url = new URL(serverURL);

              // open the conncetion
              HttpURLConnection connection =
  (HttpURLConnection)url.openConnection();

              // Let the run-time system (RTS) know that we want input.
              connection.setDoInput(true);
              // Let the RTS know that we want to do output
              connection.setDoOutput(true);
              // No caching, we want the real thing
              connection.setUseCaches(false);
              // set the content type property
              connection.setRequestProperty(Content-type,strContenttype);

              // set request method
              connection.setRequestMethod(POST);
              // create the post body to send
              String content = credDevPair.toString();
              Log.i(Request ... ,content);
              DataOutputStream printout = new DataOutputStream (
  connection.getOutputStream () );

              // send the data
              printout.writeBytes(content);
              printout.flush();
              printout.close();

  On Sun, Sep 27, 2009 at 11:25 PM, HTN revil...@gmail.com
  mailto:revil...@gmail.com wrote:

      It's through GET parameters. I can type in the following command in a
      browser's URL box and it works:
     http://192.168.0.12/output_format=xmlDeviceNum=13action=SetTargetn...
      
  http://192.168.0.12/output_format=xmlDeviceNum=13action=SetTargetn...

      I'm used to sending commands through TCP sockets so I'm sure what's
      the best way to send a URL command. I'm guessing the opening a URL
      part isn't adequate.

      On Sep 26, 8:49 pm, Jeffrey Blattman jeffrey.blatt...@gmail.com
      mailto:jeffrey.blatt...@gmail.com
      wrote:
       you are opening a URL, then writing that URL to the stream you
      open at
       the URL. that's probably not what you wanted. what's the URL,
      and what
       is the command you are trying to pass? how does the endpoint
      accept
       the command? by reading POST data? through GET parameters?

       On 9/25/09 7:31 PM, HTN wrote:

        I'm developing a remote app that sends commands via http.
      Normally I
        type in a link in a browser and the command will work. With
      Android, I
        would like it to work with a press of a button. I tried the
      following
        code and it didn’t work:

                    URL url = new URL(urlString);

                     URLConnection connection = url.openConnection();
                     connection.setDoOutput(true);

                     OutputStreamWriter out = new OutputStreamWriter
        (connection.getOutputStream());
                   out.write(urlString);
                   out.close();

        urlstring is the http command link.

        Any ideas? Am I on the wrong track? I'm confused because
      technically I
        don't need to write anything to the link. I would think it
      would work
        if I just open the connection.

        Thanks.

       --

 --
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Beginners group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~--~~~~--~~--~--~---



[android-beginners] remote app commands sent via http

2009-09-25 Thread HTN

I'm developing a remote app that sends commands via http. Normally I
type in a link in a browser and the command will work. With Android, I
would like it to work with a press of a button. I tried the following
code and it didn’t work:

   URL url = new URL(urlString);

URLConnection connection = url.openConnection();
connection.setDoOutput(true);

OutputStreamWriter out = new OutputStreamWriter
(connection.getOutputStream());
out.write(urlString);
out.close();

urlstring is the http command link.

Any ideas? Am I on the wrong track? I'm confused because technically I
don't need to write anything to the link. I would think it would work
if I just open the connection.

Thanks.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Beginners group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~--~~~~--~~--~--~---