ホームページ  >  記事  >  バックエンド開発  >  Android が配列型パラメータを PHP バックグラウンドに渡す際の問題

Android が配列型パラメータを PHP バックグラウンドに渡す際の問題

WBOY
WBOYオリジナル
2016-07-29 09:12:401147ブラウズ

プロジェクトの開発プロセス中、Web から送信されたフォーム内のチェックボックス データは配列の形式でバックグラウンドに送信されますが、モバイル端末で同じインターフェイスを使用してデータをバックグラウンドに送信する場合、質問

1. バックグラウンドで受け入れられるように、RequestParams オブジェクトに配列を配置するにはどうすればよいですか?

解決策

<span style="font-size:24px;">for (int i = 0; i < array.size(); i++) {
			params.put("content["+i+"]", array.get(i));
		}</span>

ループを使用して数値を形成します。content["+i+"]に注意してください。このように、contentパラメータがPHPバックグラウンドで取得される場合、それはString型になります。 array

2. バックグラウンドで配列が渡されます。テスト中に配列がおかしくなっている場合は、 にパラメータを格納するために使用されているため、注意が必要です。マップを通過すると RequestParams が正しく動作しません。解決策は、RequestParams クラス

<span style="font-size:24px;">public  class MyRequestParams extends RequestParams{

		/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
		private ArrayList<BasicNameValuePair> list =null;
		public MyRequestParams() {
			list =new ArrayList<BasicNameValuePair>();
		}
		
		@Override
		public void put(String key, String value) {
			list.add(new BasicNameValuePair(key, value));
		}
		@Override
		public void put(String key, int value) {
			list.add(new BasicNameValuePair(key, String.valueOf(value)));
		}
		@Override
		public void put(String key, long value) {
			list.add(new BasicNameValuePair(key, String.valueOf(value)));
		}
		@Override
		protected ArrayList<BasicNameValuePair> getParamsList() {
			return list ;
		}
}</span>
をオーバーライドすることです。 上記では、Android が配列型パラメータを PHP バックグラウンドに送信する問題を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。