[英]Android Application that makes HTTP calls in multiple Activities does not return data correctly
該應用程序對PHP文件進行調用(利用HttpPost),該PHP文件將查詢發送到MySQL數據庫。 PHP文件將數據解析為Java友好的字符串語句,該語句可以輕松轉換為String[]
數組( String[] str = data_from_php.split(",");
); 因此數據ID的格式如下:“項目1,項目2,項目3”。
多個活動背對背運行該類型的代碼:
(1)活動1將使用String[]
數組構建一個ListActivity,它可以正常工作。 當用戶單擊列表項時,它將從該對象中提取文本,並將其轉發到下一個活動(使用putExtra)。
(2)活動2使用HttpPost方法中來自A1的額外數據來獲取另一個String[]
數組,以構建另一個ListActivity。 同樣,用戶選擇一個項目,多余的數據將發送到第3行為。
(3)鏈中的第三個活動以與上述相同的方式發送數據,但是該活動在TextView中顯示了一大塊數據。
問題是,從具有列表數組的兩個活動中,如果我在任何列表(Act 1或2)上選擇LAST項,則下一個結果Activity將不返回任何數據。
有沒有人遇到過這樣的問題? 我感覺好像在俯視某些東西。
可能在PHP輸出的末尾有空白字符,例如Spaces或Newlines,它們會阻止在下一個Activity中正確獲取最后一項。 在PHP中,通過以下代碼可以很容易地創建換行符:
<?php
echo 'test1,test2,test3';
?>
[whitespace here]
如果最后一個?>
不是PHP文件的真實末尾,但是文件末尾的空格像一條簡單的換行符,它們就會被輸出並由HttpPost方法獲取。 該文件必須以<?
開頭 並在同一行的?>
之后立即結束以防止這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.