因此,我現在堅持驗證郵政編碼搜索我的天氣應用的主題。我也想驗證城市和州的搜索。例如,當人們搜索郵政編碼時,我只需要5位數的郵政編碼。對於這個城市,當他們搜索這個城市時,我不想要任何數字。 有人可以幫我嗎?如何驗證天氣應用的郵政編碼和城市/州
public class WeatherRequestTask extends AsyncTask<String, Integer, ResponseDto> {
private static final String WU_HOST = "http://api.wunderground.com";
private static final String WU_API_KEY = "/api/36053e2befabcfe2";
private static final String WU_DATA_FEATURE_CONDITION = "/conditions";
private static final String WU_QUERY_TAG = "/q";
private static final String WU_API_EXT = ".json";
private String mZipCode;
private String mCity;
private String mState;
public WeatherRequestTask(String zipCode) {
if (TextUtils.isEmpty(zipCode)) {
throw new IllegalArgumentException("Zip Code is required");
}
mZipCode = zipCode;
}
public WeatherRequestTask(String city, String state) {
mCity = city;
mState = state;
// TODO: validate city and state
}
@Override
protected ResponseDto doInBackground(String... strings) {
ResponseDto myResponseDto = new ResponseDto();
HttpURLConnection urlConnection = null;
try {
URL url;
if (TextUtils.isEmpty(mZipCode)) {
// use city and state query
url = new URL(WU_HOST + WU_API_KEY + WU_DATA_FEATURE_CONDITION + WU_QUERY_TAG + "/" + mState + "/" +
mCity + WU_API_EXT);
} else {
// use zipCode query
url = new URL(WU_HOST + WU_API_KEY + WU_DATA_FEATURE_CONDITION + WU_QUERY_TAG + "/" + mZipCode +
WU_API_EXT);
}
urlConnection = (HttpURLConnection)url.openConnection();
BufferedReader br = new BufferedReader((new InputStreamReader(urlConnection.getInputStream())));
StringBuilder sb = new StringBuilder();
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
JSONObject contentJson = new JSONObject(sb.toString());
Response response = Response.deserialize(contentJson.getJSONObject("response"));
CurrentObservation currentObservation = CurrentObservation.deserialize(contentJson.getJSONObject
("current_observation"));
myResponseDto.setCurrentObservation(currentObservation);
myResponseDto.setResponse(response);
} catch (Exception e) {
return null;
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
return myResponseDto;
}
}
他們在搜索什麼,它是在edittext還是搜索小部件上? –
這將是一個編輯文本 –
請張貼一些您的代碼,因此很容易爲您解決 –