Получить данные с удаленного сервера в Android -- android поле с участием http поле с участием httprequest поле с участием httpresponse пол Связанный проблема

get data from remote server in android


0
vote

проблема

русский

Я использую Oracle DB и WEBLOGIC как веб-сервер. Из моего приложения для Android я могу отправлять параметры на мой удаленный сервер .. Моя проблема заключается в том, как получить набор результатов, созданный моим запросом с моего сервера к моему приложению Android ???

Я был бы очень благодарен, если кто-то сайты мне несколько примеров этого ...

 <код> String result = ""; //the year data to send ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("year","1980"));  //http post try{     HttpClient httpclient = new DefaultHttpClient();     HttpPost httppost = new HttpPost("http://example.com/getAllPeopleBornAfter.php");     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));     HttpResponse response = httpclient.execute(httppost);  }   

код, приведенный ниже, это моя страница JSP ...

 <код> <%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%>  <%@page import="java.util.*,java.sql.*"%>  <%!  Connection con;  PreparedStatement ps;  String uname,pass;  ResultSet rs; %>  <% try { Class.forName("oracle.jdbc.driver.OracleDriver");  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","pro","pro");  ps=con.prepareStatement("select * from login_stud");  rs=ps.executeQuery();   } catch(Exception e) { e.printStackTrace(); } %>   

Я хочу, чтобы мое приложение для Android для получения результата набора «RS» .... и отобразить его на экране мобильного телефона ... Как это сделать. ???. Если вы хотите детали примыкать мое приложение, вы можете спросить меня @dldnh

Английский оригинал

I am using oracle db and weblogic as web server. From my android app i am able to send parameters to my remote server.. My PROBLEM is HOW TO GET THE RESULT SET GENERATED BY MY QUERY FROM MY SERVER TO MY ANDROID APP???

I would be very grateful if someone sites me some examples of doing it...

String result = ""; //the year data to send ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("year","1980"));  //http post try{     HttpClient httpclient = new DefaultHttpClient();     HttpPost httppost = new HttpPost("http://example.com/getAllPeopleBornAfter.php");     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));     HttpResponse response = httpclient.execute(httppost);  } 

The code given below is my jsp page...

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%>  <%@page import="java.util.*,java.sql.*"%>  <%!  Connection con;  PreparedStatement ps;  String uname,pass;  ResultSet rs; %>  <% try { Class.forName("oracle.jdbc.driver.OracleDriver");  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","pro","pro");  ps=con.prepareStatement("select * from login_stud");  rs=ps.executeQuery();   } catch(Exception e) { e.printStackTrace(); } %> 

I want my android app to retrieve the result set 'rs'....and display it on the mobile screen...how to do that.???. if you want details abut my app u can ask me @dldnh

</div
           

Список ответов

1
 
vote
vote
Лучший ответ
 

Лучшее, что вы можете сделать, это реализовать JSON с реституционной веб-службой.

Подробнее:

  1. json.org

  2. Как создать ответ JSON

  3. Android включает в себя классы JSON, такие как JSONARRAY, JSONOBJECT, которые могут использоваться для интерпретации ответа на веб-сервис, вернутся. Смотрите больше на Здесь .

Вы не можете пойти не так. JSON быстро, есть способы обеспечения связи, если вы реализуете спокойную аутентификацию.

Лучший из всех ваших веб-сервисов будет совместимым с приложениями iOS и любой другой платформой с поддержкой JSON.

Удачи!

 

The best thing you can do is to implement JSON with a RESTFUL Web Service.

More info:

  1. JSON.ORG

  2. How to create a JSON response

  3. Android includes JSON classes such as JSONArray, JSONObject that can be used to interpret the response the Web Service will return. See more at here.

You can't go wrong. JSON is fast, there are ways to secure the communication if you implement RESTFUL Authentication.

Best of all your Web Service will be compatible with iOS Apps and any other platform with JSON support.

Good luck!

</div
 
 
0
 
vote

Код, который нужно Witle в Android, должно быть это:

 <код> package com.campuspro.start;  import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.JSONException; import org.json.JSONObject;  import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;   public class Login_Menu extends Activity {  EditText usname; EditText pass; TextView tv; HttpClient client; HttpPost post;  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_lay);  tv=(TextView) findViewById(R.id.login_stat_tv);  usname=(EditText)findViewById(R.id.uname);  pass=(EditText)findViewById(R.id.pass); Button login=(Button)findViewById(R.id.login_but); Button cancel=(Button)findViewById(R.id.cancel_but);  client = new DefaultHttpClient(); String url="http://10.0.2.2:7001/proj/login.jsp";//your url post = new HttpPost(url); login.setOnClickListener(new View.OnClickListener() {      public void onClick(View arg0) {         new Login().execute("");     } });  cancel.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {         usname.getText().clear();         pass.getText().clear();     } });   }     private class Login extends AsyncTask<String, Void, JSONObject>{ ProgressDialog dialog = ProgressDialog.show(Login_Menu.this, "", "Authenticating, Please wait...");  @Override protected JSONObject doInBackground(String... params) {     Log.i("thread", "Doing Something...");    //authentication operation try{      List<NameValuePair> pairs = new ArrayList<NameValuePair>();        pairs.add(new BasicNameValuePair("username",usname.getText().toString()));        pairs.add(new BasicNameValuePair("password",pass.getText().toString()));        post.setEntity(new UrlEncodedFormEntity(pairs));        HttpResponse response = client.execute(post);     int status=response.getStatusLine().getStatusCode();      if(status == 200)     {         HttpEntity e=response.getEntity();         String data=EntityUtils.toString(e);         JSONObject last=new JSONObject(data);         return last;      }  }  catch(Exception e) {     e.printStackTrace();     }      return null; }  protected void onPreExecute(){     //dialog.dismiss();     Log.i("thread", "Started...");     dialog.show(); } protected void onPostExecute(JSONObject result){     Log.i("thread", "Done...");     String status;     String name;     try {         status= result.getString("status");         name=result.getString("uname");         if(dialog!=null)        {          dialog.dismiss();        }        else{}       if(status.equalsIgnoreCase("yes"))           {         tv.setText("Login Successful...");          Bundle newbundle=new Bundle();         newbundle.putString("uname",name);          Intent myIntent=new Intent(Login_Menu.this,Instruction.class);         myIntent.putExtras(newbundle);          startActivity(myIntent);          }       else{              tv.setText("No User Found, please try again!");         }     } catch (JSONException e) {         e.printStackTrace();     }   }  }  }   

и код JSP сервера должен быть:

 <код> <%@page contentType="text/html; charset=UTF-8"%> <%@page import="org.json.simple.JSONObject"%> <%@page import="java.util.*,java.sql.*"%>  <%!  Connection con; PreparedStatement ps; ResultSet rs; String x,y;  %>  <%  Class.forName("oracle.jdbc.driver.OracleDriver");   con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","db_username","db_password"); x=request.getParameter("username"); y=request.getParameter("password");  ps=con.prepareStatement("select * from table_name where suid=? and spwd=?"); ps.setString(1,x); ps.setString(2,y); rs=ps.executeQuery();   JSONObject obj=new JSONObject(); if(rs.next()) { String uname=rs.getString(4); obj.put("status","yes"); obj.put("uname",uname); out.print(obj);  } else { obj.put("status","no"); out.print(obj); } out.flush();  %>   
 

The code to be witten in android should be this:

package com.campuspro.start;  import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.JSONException; import org.json.JSONObject;  import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;   public class Login_Menu extends Activity {  EditText usname; EditText pass; TextView tv; HttpClient client; HttpPost post;  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_lay);  tv=(TextView) findViewById(R.id.login_stat_tv);  usname=(EditText)findViewById(R.id.uname);  pass=(EditText)findViewById(R.id.pass); Button login=(Button)findViewById(R.id.login_but); Button cancel=(Button)findViewById(R.id.cancel_but);  client = new DefaultHttpClient(); String url="http://10.0.2.2:7001/proj/login.jsp";//your url post = new HttpPost(url); login.setOnClickListener(new View.OnClickListener() {      public void onClick(View arg0) {         new Login().execute("");     } });  cancel.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {         usname.getText().clear();         pass.getText().clear();     } });   }     private class Login extends AsyncTask<String, Void, JSONObject>{ ProgressDialog dialog = ProgressDialog.show(Login_Menu.this, "", "Authenticating, Please wait...");  @Override protected JSONObject doInBackground(String... params) {     Log.i("thread", "Doing Something...");    //authentication operation try{      List<NameValuePair> pairs = new ArrayList<NameValuePair>();        pairs.add(new BasicNameValuePair("username",usname.getText().toString()));        pairs.add(new BasicNameValuePair("password",pass.getText().toString()));        post.setEntity(new UrlEncodedFormEntity(pairs));        HttpResponse response = client.execute(post);     int status=response.getStatusLine().getStatusCode();      if(status == 200)     {         HttpEntity e=response.getEntity();         String data=EntityUtils.toString(e);         JSONObject last=new JSONObject(data);         return last;      }  }  catch(Exception e) {     e.printStackTrace();     }      return null; }  protected void onPreExecute(){     //dialog.dismiss();     Log.i("thread", "Started...");     dialog.show(); } protected void onPostExecute(JSONObject result){     Log.i("thread", "Done...");     String status;     String name;     try {         status= result.getString("status");         name=result.getString("uname");         if(dialog!=null)        {          dialog.dismiss();        }        else{}       if(status.equalsIgnoreCase("yes"))           {         tv.setText("Login Successful...");          Bundle newbundle=new Bundle();         newbundle.putString("uname",name);          Intent myIntent=new Intent(Login_Menu.this,Instruction.class);         myIntent.putExtras(newbundle);          startActivity(myIntent);          }       else{              tv.setText("No User Found, please try again!");         }     } catch (JSONException e) {         e.printStackTrace();     }   }  }  } 

And the server side JSP code should be:

<%@page contentType="text/html; charset=UTF-8"%> <%@page import="org.json.simple.JSONObject"%> <%@page import="java.util.*,java.sql.*"%>  <%!  Connection con; PreparedStatement ps; ResultSet rs; String x,y;  %>  <%  Class.forName("oracle.jdbc.driver.OracleDriver");   con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","db_username","db_password"); x=request.getParameter("username"); y=request.getParameter("password");  ps=con.prepareStatement("select * from table_name where suid=? and spwd=?"); ps.setString(1,x); ps.setString(2,y); rs=ps.executeQuery();   JSONObject obj=new JSONObject(); if(rs.next()) { String uname=rs.getString(4); obj.put("status","yes"); obj.put("uname",uname); out.print(obj);  } else { obj.put("status","no"); out.print(obj); } out.flush();  %> 
</div
 
 

Связанный проблема

0  Новое намерение не начнется внутри Onlongpress?  ( New intent wont start inside onlongpress ) 
Я создал класс TapSturedEtector для поверхностного представления. Я поймаю длинное сенсорное событие, и я хочу начать новую активность. Но это не работает. На...

0  Набор ToggleButton состояние из входящих данных JSON  ( Set togglebutton status from incoming json data ) 
<Р> Я пытаюсь следовать Android учебник , чтобы изменить базу данных MySQL данные из приложения Android. Я довольно новый для концепции JSON синтаксического р...

4  Создайте VCARD, который можно скачать на Android с помощью ASP.NET  ( Generate vcard that can be downloaded on android using asp net ) 
Я пробую довольно некоторое время, чтобы сгенерировать VCARD, используя ASP.NET (C #), которые можно загрузить на устройство Android. Процесс генерации карт...

8  Когда Android остановит свой процессор без блокировки Wake?  ( When will android stop its cpu without wake lock ) 
Я знаю, что Android использует Sake Blance, чтобы поддерживать запуск CPU или на экране. Очевидно, что Screen Sake Box предотвращает выключение экрана активно...

0  Получить почту пользователя, используя FQL  ( Get user email using fql ) 
Я использую следующий FQL, чтобы получить дни рождения из Facebook (я знаю, что API TEH изменился) Однако я хочу продолжить с этим: <код> String fqlQuery = ...

18  Не может решить импорт LocalBroadCastManager на оператор Android.support.v4.content.localboadcastmanager;  ( Can not resolve import localbroadcastmanager on statement android support v4 con ) 
Я получил эту ошибку при импорте проекта Eclipse на Android Studio. Он показывает предложение добавить библиотеку <код> Gradle: com.android.support:support-co...

0  Как мне изменить стиль кнопки в Android?  ( How do i change the style of a button in android ) 
Я хочу изменить стиль кнопки в приложении Android. Вот картинка, которая имеет оба вида кнопок, то, что у меня есть сейчас, и тот, который я хочу переключитьс...

23  Ошибка пропуска тестового прогона: запуск приборов не удалось из-за «Java.lang.classnotfoundException»  ( Test run failed instrumentation run failed due to java lang classnotfoundexcep ) 
Это мой первый раз настроив проект теста на Android для проверки проекта Android. Я создал очень базовый тестовый случай, который я пытаюсь запустить, однак...

0  Разница между установкой APK с ADB и Eclipse  ( Difference between installing an apk with adb and eclipse ) 
У меня есть приложение, которое закрывается после того, как он закончен. Если я устанавливаю его через Eclipse, он работает нормально, но если я устанавливаю ...

38  Android / iOS одноранговая архитектура [закрыто]  ( Android ios peer to peer architecture ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос должен быть больше Фокусированный . В настоя...

0  Бросить исключение, если код ответа не 20x  ( Throw exception if response code isnt 20x ) 
Я использую библиотеку koush Ion, и я хочу знать, есть ли возможность бросить исключение, если код ответа не 20x (например, если это 400, 401 и т. Д.). ...

7  Как портировать родной C-код на Android  ( How to port native c code on android ) 
Кто-нибудь может сказать мне, как портировать нативную программу C на платформе Android ..умел ли я включить некоторые библиотеки C или как именно ...? Спас...

0  Автоматически заканчивать приложение / или автоматическое уничтожение приложения, поставляемое в Android?  ( Automatically finish an app or auto destroy app posible in android ) 
Два вопроса: 1) Я хочу добавить к моему приложению возможность автоматически выхода через несколько минут бездействия. Что я подразумеваю под автоматическим в...

1  Обновление поле PDF штрих-кода в IOS и устройстве Android  ( Updating a pdf barcode field in ios and android device ) 
Я создал одну корпус Acrobat, используя радиообъекты, текстовое поле, кнопку, флажок и штрих-код в Adobe Acrobat Pro. После этого я открыл эту форму в Adobe...

2  Android Soundpool Heast Limits  ( Android soundpool heap limits ) 
Я использую Soundpool, чтобы загрузить несколько звуковых клипов и воспроизводить их обратно. Это правильно функционирует на 100% от того, что я могу сказат...

Связанный проблема

0  Новое намерение не начнется внутри Onlongpress? 
0  Набор ToggleButton состояние из входящих данных JSON 
4  Создайте VCARD, который можно скачать на Android с помощью ASP.NET 
8  Когда Android остановит свой процессор без блокировки Wake? 
0  Получить почту пользователя, используя FQL 
18  Не может решить импорт LocalBroadCastManager на оператор Android.support.v4.content.localboadcastmanager; 
0  Как мне изменить стиль кнопки в Android? 
23  Ошибка пропуска тестового прогона: запуск приборов не удалось из-за «Java.lang.classnotfoundException» 
0  Разница между установкой APK с ADB и Eclipse 
38  Android / iOS одноранговая архитектура [закрыто] 
0  Бросить исключение, если код ответа не 20x 
7  Как портировать родной C-код на Android 
0  Автоматически заканчивать приложение / или автоматическое уничтожение приложения, поставляемое в Android? 
1  Обновление поле PDF штрих-кода в IOS и устройстве Android 
2  Android Soundpool Heast Limits 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.