【发布时间】:2011-11-10 03:33:07
【问题描述】:
我创建了一个提交按钮,我在其中调用了一个包含代码的方法“call2” 使用 JSON 进行 HttpPost
final Button submit = (Button) findViewById(R.id.Button03);
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
// Perform action on click
Toast.makeText(display.this,"You have selected to submit data of students",Toast.LENGTH_SHORT).show();
call2();
}
});
} //OnCreate method ends
After that I have my call2 method as follows:
public String call2()
{
String result="";
HttpParams httpParams = new BasicHttpParams();
HttpPost httppost = new HttpPost("http://10.0.2.2/enterdata/Service1.asmx");
HttpClient client = new DefaultHttpClient(httpParams);
try
{
JSONArray jsArray = new JSONArray(items2);
jsArray.put(items2);
int TIMEOUT_MILLISEC = 10000; // = 10 seconds
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
httppost.setEntity(new ByteArrayEntity(
result.toString().getBytes("UTF8")));
HttpResponse response = client.execute(httppost);
if(response.toString()=="success")
{
System.out.println(response);
}
}
catch(Exception e)
{
e.printStackTrace();
}
return result;
}
插入记录后返回“成功”的我的 Web 服务代码
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public String put(String value)
{
int count=1;
int rows;
SqlConnection myConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=student;User ID=sa;Password=123");
try
{
myConnection.Open();
count++;
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "insert into record values('"+ count +"','" + value + "')";
myCommand.Parameters.Add("@value", SqlDbType.VarChar).Value = value;
rows = myCommand.ExecuteNonQuery();
SqlDataReader myReader = myCommand.ExecuteReader();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
myConnection.Close();
}
return "success";
}
这是我在方法 call2 中删除我的 Android 代码的 If 语句后的日志猫
11-10 09:19:28.447: INFO/System.out(412): org.apache.http.message.BasicHttpResponse@44f5d6b8
11-10 09:22:39.957: WARN/KeyCharacterMap(440): No keyboard for id 0
11-10 09:22:39.957: WARN/KeyCharacterMap(440): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
11-10 09:22:40.447: DEBUG/dalvikvm(124): GC_EXPLICIT freed 1224 objects / 67584 bytes in 363ms
11-10 09:22:42.498: DEBUG/dalvikvm(440): GC_FOR_MALLOC freed 2924 objects / 197768 bytes in 80ms
11-10 09:22:42.587: INFO/System.out(440): org.apache.http.message.BasicHttpResponse@44f357a0
现在,当我运行我的代码时,我无法在 logcat 中看到任何响应。我的 println 语句没有被执行,我不知道为什么
有人可以帮我吗?
【问题讨论】:
-
您是否遇到任何异常/超时?您的 println 语句未执行,因为响应不是“成功”
-
没有看到这个日志猫:pastie.org/2839910
标签: android json web-services http-post