簡體   English   中英

在多個活動中進行HTTP調用的Android應用程序無法正確返回數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM