我在将Android中的params传递给PHP时遇到了问题。
我有两项活动。一个人读取我的数据库并用该数据库中表格的行填充列表。它工作正常。然后,当我点击ListItem时,我将特定项目的ID发送到另一个活动:
String identyfikator = ((TextView)
view.findViewById(R.id.identyfikator)).getText().toString();
Intent in = new Intent(getApplicationContext(), PrzystanekKierunek.class);
in.putExtra(TAG_IDENTYFIKATOR, identyfikator);
startActivity(in);
在第二个活动中,我读了发送的ID,这是我的问题。我已经检查过这是否有效
Intent i = getIntent();
identyfikator = i.getStringExtra(TAG_IDENTYFIKATOR);
它有效。我用我的identnyfikator更新了editText,它显示了我正确的id。但是,当我尝试将其发送到我的PHP时,它返回空白活动。这段代码有什么问题? 这是第二项活动:
package com.example.mybusstop;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
public class PrzystanekKierunek extends ListActivity {
String identyfikator;
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> wyszukaniaList;
private static String url_przystanek_kierunek = "http://10.0.2.2/mybusstop_php/przystanekkierunek.php";
private static final String TAG_WYSZUKANIA = "wyszukania";
private static final String TAG_IDENTYFIKATOR = "identyfikator";
private static final String TAG_NAZWA = "nazwa";
JSONArray wyszukania = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.przystanekkierunek);
wyszukaniaList = new ArrayList<HashMap<String, String>>();
Intent i = getIntent();
identyfikator = i.getStringExtra(TAG_IDENTYFIKATOR);
new LoadKierunek().execute();
/* ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String identyfikator = ((TextView) view.findViewById(R.id.identyfikator)).getText().toString();
Intent in = new Intent(getApplicationContext(), PrzystanekKierunek.class);
in.putExtra(TAG_IDENTYFIKATOR, identyfikator);
startActivity(in);
}
});
*/
}
class LoadKierunek extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(PrzystanekKierunek.this);
pDialog.setMessage("Wyszukiwanie...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("identyfikator", identyfikator));
JSONObject json = jParser.makeHttpRequest(url_przystanek_kierunek, "GET", params);
try {
wyszukania = json.getJSONArray(TAG_WYSZUKANIA);
for (int i = 0; i < wyszukania.length(); i++) {
JSONObject c = wyszukania.getJSONObject(i);
String identyfikator = c.getString(TAG_IDENTYFIKATOR);
String nazwa = c.getString(TAG_NAZWA);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_IDENTYFIKATOR, identyfikator);
map.put(TAG_NAZWA, nazwa);
wyszukaniaList.add(map);
}
}
catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(
PrzystanekKierunek.this, wyszukaniaList,
R.layout.list_item, new String[] {TAG_NAZWA, TAG_IDENTYFIKATOR},
new int[] {R.id.nazwaItem, R.id.identyfikator});
setListAdapter(adapter);
}
});
}
}
}
和PHP脚本:
<?php
$response = array();
require_once __DIR__ . '/db.connecting.php';
$db = new DB_CONNECT();
//if (isset($_GET["identyfikator"])) {
$ide = $_GET['identyfikator'];
$result = mysql_query("SELECT * FROM przystanek WHERE identyfikator=$ide") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$response["wyszukania"] = array();
while ($row = mysql_fetch_array($result)) {
$kierunek = array();
$kierunek["id"] = $row["Identyfikator"];
$kierunek["nazwa"] = $row["Nazwa_przystanek"];
$kierunek["gps_x"] = $row["Lokalizacja_gps_x"];
$kierunek["gps_y"] = $row["Lokalizacja_gps_y"];
array_push($response["wyszukania"], $kierunek);
}
$response["success"] = 1;
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "Błąd wyszukania!";
echo json_encode($response);
}
//}
?>
答案 0 :(得分:0)
如果用以下代码替换php代码,输出是什么?
<?php
$res = json_decode(stripslashes($_GET['identyfikator']),true);
echo $res
?>