我對android非常陌生。在這個程序中,我試圖做到這一點,當在編輯文本中輸入名字時,它會顯示我已經創建的現有MySQL數據庫中的人員信息。你能告訴我如何改善這一點,也無法弄清楚如何擺脫紅色突出顯示(有錯誤''是'無法解決')在「是」在線通過Android向MySql發送和接收數據需要幫助
更新*這是我的代碼是怎樣的。 「無法解決」的問題消失了。
public class PS extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText et_Text = (EditText) findViewById(R.id.et_Text);
//add new KeyListener Callback (to record key input)
et_Text.setOnKeyListener(new OnKeyListener() {
//function to invoke when a key is pressed
public boolean onKey(View v, int keyCode, KeyEvent event) {
//check if there is
if (event.getAction() == KeyEvent.ACTION_DOWN) {
//check if the right key was pressed
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
InputStream is = null;
String result = "";
//the name data to send
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name", et_Text.getText().toString()));
//http post
if (is != null) {
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://******/sampleDB/testSend.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
//convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
//parse json data
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag", "PersonID: " + json_data.getInt("PersonID")
+ ", FirstName: " + json_data.getString("FirstName")
+ ", LastName: " + json_data.getString("LastName")
+ ", Age: " + json_data.getInt("Age"));
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
;
}
et_Text.setText("");
//and clear the EditText control
}
return true;
}
return false;
}
});
}
}
我沒有else語句但後來在代碼中的「如果」被說成是一個死代碼...我應該使用if語句有嘗試statments內「是」在他們中?
你能給我何時以及如何使用,如果一個例子(是!= NULL),請? – Eric
@Eric我必須說這個評論問題讓我感到驚訝,但請參閱編輯。如果這個答案有助於你不要忘記投票/接受它。 – fvu
不幸的是,如果我使用if!= null,它會說我必須改用「try/catch」語句。 – Eric