我想将数据发送到在线网络服务器并创建数据库...我可以通过网站传输数据但是当我尝试从我的 android 应用程序发送数据时...我无法发送它...我不知道可以在不创建 web api 的情况下传输数据 ..????
这是我的课……
public class RestFulWebservice extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rest_ful_webservice);
final Button GetServerData = (Button) findViewById(R.id.GetServerData);
GetServerData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// WebServer Request URL
String serverURL = "http://bnncollege.org/self-funded-accounts-finance-sy.php";
// Use AsyncTask execute Method To Prevent ANR Problem
new LongOperation().execute(serverURL);
}
});
}
// Class with extends AsyncTask class
private class LongOperation extends AsyncTask<String, Void, Void> {
// Required initialization
private final HttpClient Client = new DefaultHttpClient();
@Override
protected void onProgressUpdate(Void... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
private String Content;
private String Error = null;
private ProgressDialog Dialog = new ProgressDialog(
RestFulWebservice.this);
String data = "";
TextView uiUpdate = (TextView) findViewById(R.id.output);
TextView jsonParsed = (TextView) findViewById(R.id.jsonParsed);
int sizeData = 0;
EditText serverText = (EditText) findViewById(R.id.serverText);
protected void onPreExecute() {
// NOTE: You can call UI Element here.
// Start Progress Dialog (Message)
Dialog.setMessage("Please wait..");
Dialog.show();
try {
// Set Request parameter
data += "&" + URLEncoder.encode("surname", "UTF-8") + "="
+ serverText.getText();
Log.i("server", data);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// Call after onPreExecute method
protected Void doInBackground(String... urls) {
/************ Make Post Call To Web Server ***********/
BufferedReader reader = null;
// Send data
try {
// Defined URL where to send data
URL url = new URL(urls[0]);
// Send POST data request
Log.i("url", url.toString());
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.connect();
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the server response
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "\n");
}
// Append Server Response To Content String
Content = sb.toString();
} catch (Exception ex) {
Error = ex.getMessage();
} finally {
try {
reader.close();
}
catch (Exception ex) {
}
}
/*****************************************************/
return null;
}
protected void onPostExecute(Void unused) {
// NOTE: You can call UI Element here.
// Close progress dialog
Dialog.dismiss();
if (Error != null) {
uiUpdate.setText("Output : " + Error);
} else {
// Show Response Json On Screen (activity)
uiUpdate.setText(Content);
/****************** Start Parse Response JSON Data *************/
String OutputData = "";
JSONObject jsonResponse;
try {
/******
* Creates a new JSONObject with name/value mappings from
* the JSON string.
********/
jsonResponse = new JSONObject(Content);
/*****
* Returns the value mapped by name if it exists and is a
* JSONArray.
***/
/******* Returns null otherwise. *******/
JSONArray jsonMainNode = jsonResponse
.optJSONArray("Android");
/*********** Process each JSON Node ************/
int lengthJsonArr = jsonMainNode.length();
for (int i = 0; i < lengthJsonArr; i++) {
/****** Get Object for each JSON node. ***********/
JSONObject jsonChildNode = jsonMainNode
.getJSONObject(i);
/******* Fetch node values **********/
String name = jsonChildNode.optString("name")
.toString();
String number = jsonChildNode.optString("number")
.toString();
String date_added = jsonChildNode.optString(
"date_added").toString();
OutputData += " Name : "
+ name
+ " \n "
+ "Number : "
+ number
+ " \n "
+ "Time : "
+ date_added
+ " \n "
+ "--------------------------------------------------\n";
// Log.i("JSON parse", song_name);
}
/****************** End Parse Response JSON Data *************/
// Show Parsed Output on screen (activity)
jsonParsed.setText(OutputData);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
}
这是我可以将数据发送到网络服务器的链接,但我无法从 android 应用程序发送数据.....