質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

3344閲覧

AndroidアプリでJSONでデータベースにデータを送る

gesuto

総合スコア12

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/06/27 20:23

前提・実現したいこと

AndroidアプリでJSONでデータベースにデータを送る---

発生している問題・エラーメッセージ

2019-06-28 04:36:15.234 8336-8336/? W/le.httpsendtes: Unexpected CPU variant for X86 using defaults: x86
2019-06-28 04:36:15.710 8336-8336/? W/le.httpsendtes: JIT profile information will not be recorded: profile file does not exits.
2019-06-28 04:36:15.713 8336-8336/? I/chatty: uid=10133(com.example.httpsendtest) identical 10 lines
2019-06-28 04:36:15.714 8336-8336/? W/le.httpsendtes: JIT profile information will not be recorded: profile file does not exits.
2019-06-28 04:36:15.837 8336-8336/? I/InstantRun: starting instant run server: is main process
2019-06-28 04:36:16.336 8336-8336/com.example.httpsendtest W/le.httpsendtes: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
2019-06-28 04:36:16.336 8336-8336/com.example.httpsendtest W/le.httpsendtes: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
2019-06-28 04:36:16.423 8336-9879/com.example.httpsendtest D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2019-06-28 04:36:16.543 8336-9874/com.example.httpsendtest D/OpenGLRenderer: Swap behavior 1
2019-06-28 04:36:16.543 8336-9874/com.example.httpsendtest W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-06-28 04:36:16.543 8336-9874/com.example.httpsendtest D/OpenGLRenderer: Swap behavior 0
2019-06-28 04:36:16.549 8336-9879/com.example.httpsendtest W/System.err: java.net.SocketException: socket failed: EPERM (Operation not permitted)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at java.net.Socket.createImpl(Socket.java:492)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at java.net.Socket.getImpl(Socket.java:552)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at java.net.Socket.setSoTimeout(Socket.java:1180)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
2019-06-28 04:36:16.550 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
2019-06-28 04:36:16.551 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219)
2019-06-28 04:36:16.552 8336-9879/com.example.httpsendtest W/System.err: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30)
2019-06-28 04:36:16.553 8336-9879/com.example.httpsendtest W/System.err: at com.example.httpsendtest.HttpSendJSON.doInBackground(HttpSendJSON.java:38)
2019-06-28 04:36:16.553 8336-9879/com.example.httpsendtest W/System.err: at com.example.httpsendtest.HttpSendJSON.doInBackground(HttpSendJSON.java:17)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at android.os.AsyncTask$3.call(AsyncTask.java:378)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2019-06-28 04:36:16.554 8336-9879/com.example.httpsendtest W/System.err: at java.lang.Thread.run(Thread.java:919)
2019-06-28 04:36:16.569 8336-9874/com.example.httpsendtest D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-06-28 04:36:16.569 8336-9874/com.example.httpsendtest D/EGL_emulation: eglCreateContext: 0xe461a120: maj 2 min 0 rcv 2
2019-06-28 04:36:16.589 8336-9874/com.example.httpsendtest D/EGL_emulation: eglMakeCurrent: 0xe461a120: ver 2 0 (tinfo 0xe460f1f0)
2019-06-28 04:36:16.624 8336-9874/com.example.httpsendtest W/Gralloc3: mapper 3.x is not supported
2019-06-28 04:36:16.668 8336-9874/com.example.httpsendtest D/OpenGLRenderer: Setting buffer count to 3, min_undequeued 1, extraBuffers 0
2019-06-28 04:36:16.678 8336-9874/com.example.httpsendtest D/EGL_emulation: eglMakeCurrent: 0xe461a120: ver 2 0 (tinfo 0xe460f1f0)
2019-06-28 04:36:16.682 8336-9874/com.example.httpsendtest D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 0

該当のソースコード

MainActivity.java

package com.example.httpsendtest;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // TODO 自動生成されたメソッド・スタブ // 送信先URL String strPostUrl = "https://...."; // アカウント情報のJSON文 String JSON = "{\"id\":\"1234\", \"user\":{\"name\":\"piyo\",\"age\":\"23\",\"email\":\"gmail.com\",\"result\":\"allright\"}}"; // 認証 HttpSendJSON httpSendJSON = new HttpSendJSON(); httpSendJSON.execute(strPostUrl,JSON); // 結果の表示 }

}

HttpSendJSON.java

public class HttpSendJSON extends AsyncTask<String,Integer,String>{ @Override protected String doInBackground(String... params) { HttpURLConnection con = null; StringBuffer result = new StringBuffer(); try { URL url = new URL(params[0]); con = (HttpURLConnection) url.openConnection(); // HTTPリクエストコード con.setDoOutput(true); con.setRequestMethod("POST"); con.setRequestProperty("Accept-Language", "jp"); // データがJSONであること、エンコードを指定する con.setRequestProperty("Content-Type", "application/JSON; charset=utf-8"); // POSTデータの長さを設定 con.setRequestProperty("Content-Length", String.valueOf(params[1].length())); // リクエストのbodyにJSON文字列を書き込む OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream()); out.write(params[1]); out.flush(); con.connect(); // HTTPレスポンスコード final int status = con.getResponseCode(); if (status == HttpURLConnection.HTTP_OK) { // 通信に成功した // テキストを取得する final InputStream in = con.getInputStream(); String encoding = con.getContentEncoding(); if (null == encoding) { encoding = "UTF-8"; } final InputStreamReader inReader = new InputStreamReader(in, encoding); final BufferedReader bufReader = new BufferedReader(inReader); String line = null; // 1行ずつテキストを読み込む while ((line = bufReader.readLine()) != null) { result.append(line); } bufReader.close(); inReader.close(); in.close(); } else { // 通信が失敗した場合のレスポンスコードを表示 System.out.println(status); } } catch (Exception e1) { e1.printStackTrace(); } finally { if (con != null) { // コネクションを切断 con.disconnect(); } } System.out.println(result.toString()); return result.toString(); } protected void onProgressUpdate(Integer... value){ } }

試したこと

調べてみましたが対処法がわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問