2012-08-02 62 views
0

我已经尝试在Android中显示一个值,该值是通过soap调用检索的。但我无法让它工作。如果我运行我的应用程序,计数值显示在我的tomcat-apache上。但计数值不显示在我的Android模拟器上。为什么计数值不显示在这里。 请帮帮我。我知道原因。但我无法弄清楚代码部分。我的错误是我的android代码部分。我可以在哪里更改我的代码。计数值显示在Android模拟器上,通过soap webservice

这是我的web服务代码:

public class RetailerWs { 

public String customerData(){ 
String customerInfo = ""; 
try{ 
Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro","root",""); 
//Find customer information where the customer ID is maximum 
PreparedStatement statement = con.prepareStatement("select * from xcart_orders where status='Q' AND date = CURDATE()"); 

ResultSet result = statement.executeQuery(); 

    int count=0;  
    while(result.next()){ 

count++; 
System.out.println(count); 
} 
    } 

catch(Exception exc){ 
    System.out.println(exc.getMessage()); 
    } 

    return customerInfo; 
    } 

    } 

这是我的Android代码的一部分:

public class RetailerActivity extends Activity { 
    private static final String SOAP_ACTION = "http://xcart.com/customerData"; 
    private static final String METHOD_NAME = "customerData"; 
    private static final String NAMESPACE = "http://xcart.com"; 
    private static final String URL = "http://192.168.1.168:8085/XcartLogin/services/RetailerWs?wsdl"; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.retrieve); 
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

    envelope.setOutputSoapObject(request); 

    HttpTransportSE ht = new HttpTransportSE(URL); 
    try { 
     ht.call(SOAP_ACTION, envelope); 
     SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); 
     SoapPrimitive s = response; 
     String str = s.toString(); 
     String resultArr[] = str.split("&");//Result string will split & store in an array 

     TextView tv = new TextView(this); 

     for(int i = 0; i<resultArr.length;i++){ 
     tv.append(resultArr[i]+"\n\n"); 
     } 
     setContentView(tv); 

    } catch (Exception e) { 
     e.printStackTrace(); 
     } 
     } 
     } 

,我应该改变我的Android代码打印在Android模拟器的计数值。

回答

0

你确定你在TextView中获得了一些价值吗?您可以按照以下方式在android中设置TextView。

LinearLayout lLayout = (LinearLayout)findViewById(R.id.l_layout); // This is my main layout 

TextView tv = new TextView(this); 
tv.setText("Akshay"); // Here I set the value to TextView 
lLayout.addView(tv); // Here I am adding this view in main View. 

希望这有助于:)