현재 PHP 스크립트를 사용하고 JSON 값을 반환하는 외부 URL을 통해 데이터를 검색하고 있습니다. 그것은 잘 작동합니다.Asynctask를 통해 외부 URL에 문자열 게시
$name = $_POST['name']; //this was sent from the Android app. How do I send this from the app.
$sql = "SELECT name FROM tablename WHERE category = '$name'";
$result = mysqli_query($con, $sql) or die("Error in Selecting");
참고 : 나는 발리를 사용하지 않으
하지만 어떻게 내가이 PHP 스크립트에서 다음을 수행 할 수 있도록 문자열 쿼리에 사용되는 전송 않습니다.
현재 URL에 값을 보내지 않는 My AsyncTask 확장 클래스입니다.
class BackgroundTask extends AsyncTask<Void,Void,String> {
final String jsonUrl = "http://example.com/getdata.php";
@Override
protected String doInBackground(Void... params) {
try {
URL url = new URL(jsonUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
InputStream in = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
StringBuilder stringBuilder = new StringBuilder();
while ((jsonString = bufferedReader.readLine()) != null){
stringBuilder.append(jsonString+"\n");
}
bufferedReader.close();
in.close();
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
products = new ArrayList<>();
try {
jsonObject = new JSONObject(s);
String category = jsonObject.getString("viewProduct");
JSONArray jsonArray = new JSONArray(category);
for(int x=0; x < jsonArray.length(); x++){
JSONObject jsonPart = jsonArray.getJSONObject(x);
products.add(jsonPart.getString("name"));
}
adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, products);
productListView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
당신이 URL 자체에 문자열을 추가 할 ? – jitinsharma
@jitinsharma 아니요. 그냥 URL에 문자열을 게시하고 싶습니다. – JasSy