ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Android : Firebase 用 HttpPut クラス
名前: lightbox
処理選択
パスワード

件名 Android : Firebase 用 HttpPut クラス
名前 lightbox
コメント
@DIV
public class HttpPut {

	// **********************************************
	// 指定した URL へ 任意の charset の JSON 文字列で処理
	// **********************************************
	public static String execute(String targetUrl,String data, String targetCharset) {

		StringBuffer web_data = new StringBuffer();

		try {

			// **********************************************
			// インターネットへの接続
			// **********************************************
			Log.i("lightbox",targetUrl );
			Log.i("lightbox",data );

			// 読み込む WEB上のターゲット
			URL url = new URL(targetUrl);
			// 接続オブジェクト
			HttpURLConnection http = (HttpURLConnection)url.openConnection();
			http.setDoOutput(true);
			// PUT メソッド
			http.setRequestMethod("PUT");
			http.setRequestProperty(
				"Content-Type",
				String.format("application/json; charset=%s",targetCharset)
			);
			// 接続
			http.connect();

			OutputStreamWriter osw = new OutputStreamWriter(http.getOutputStream());
			BufferedWriter bw = new BufferedWriter(osw);

			bw.write( data );
			bw.close();
			osw.close();

			// **********************************************
			// ストリームとして読み込む準備
			// **********************************************
			// 以下読み込み3点セット InputStream / InputStreamReader / BufferedReader
			InputStream input_stream = http.getInputStream();
			// UTF-8 でリーダーを作成
			InputStreamReader input_stream_reader = new InputStreamReader(input_stream, targetCharset);
			// 行単位で読み込む為の準備
			BufferedReader buffered_reader = new BufferedReader(input_stream_reader);

			// **********************************************
			// 行の一括読み込み
			// **********************************************
			String line_buffer = null;
			// BufferedReader は、readLine が null を返すと読み込み終了
			while ( null != (line_buffer = buffered_reader.readLine() ) ) {
				// コマンドプロンプトに表示
				web_data.append( line_buffer );
				web_data.append( "\n" );
			}

			// **********************************************
			// 接続解除
			// **********************************************
			http.disconnect();
		}
		catch(Exception e) {
			// 失敗
			System.out.println( "インターネットへのアクセスに失敗しました" );
			e.printStackTrace();
		}
		return web_data.toString();
	}
}
@END