我正在尝试联系安卓的API
我找到了这个示例代码。。。
public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
我的问题是,我如何才能看到回应,以确保它得到回应?是否有添加API密钥的方法?
另外,"yoursite.com"必须是一个PHP文件吗?
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
try {
//read stream
//if expect binary data:
BufferedInputStream stream = new BufferedInputStream(instream);
int maxBytes = 128 * 1024;
if(entity.getContentLength() > maxBytes) {
throw new IllegalArgumentException("Much too big!");
}
byte[] bytes = new byte[(int) entity.getContentLength()];
int offset = 0, count = bytes.length;
while(stream.read(bytes, offset, count) > -1 && count > 0) {
count -= offset;
}
final Bitmap responseImage = BitmapFactory.decodeByteArray(
bytes, 0, bytes.length);
//or if you expect text
BufferedReader reader = new BufferedReader(
new InputStreamReader(instream, Charset.forName(
entity.getContentEncoding().getValue())));
StringBuffer buffer = new StringBuffer();
String line;
while((line = reader.readLine()) != null) {
buffer.append(line);
}
final String responseText = buffer.toString();
} finally {
instream.close();
}
}
观看这些视频(YouTube链接)
这是一个为android制作登录应用程序的6部分教程。它还展示了如何使用MySQL创建数据库。希望能有所帮助。