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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

346閲覧

Kotlinで開発をしててHTTPリクエストをしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2017/11/08 19:44

MainActivity.kt

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var button = findViewById<Button>(R.id.calcbutton) var button2 = findViewById<Button>(R.id.nextbutton) var number1 = findViewById<EditText>(R.id.numberinput1) var number2 = findViewById<EditText>(R.id.numberinput2) var result = findViewById<TextView>(R.id.result) } fun changeActivity(view:View) { startActivity(Intent(this, SubActivity::class.java)) } fun httprequest(view:View) { object : AsyncTask<Void,Void,String>() { override fun doInBackground(vararg params: Void): String? { val url = "http://www.google.com" val client = OkHttpClient() val request = Request.Builder().url(url).build() val call = client.newCall(request) val response = call.execute() val body = response.body() return body.toString() } }.execute() } }

httprequestが対応ボタンを押すと、アプリが閉じてしまいます。しかし、以下のように書き直すと正常にボタンは動作します。

fun httprequest(view:View) { var result = findViewById<TextView>(R.id.result) result.text = "Hello" }

何がおかしいのでしょうか。

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

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

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

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

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

hiramekun

2017/11/09 02:52

きっとボタンにclickListenerを追加している処理がどこかに書いてあるはずなので、そこを含めて載せていただきたいです
guest

回答1

0

ベストアンサー

AndroidManifest.xmlに

XML

1 <uses-permission android:name="android.permission.INTERNET" />

の記述がないんじゃないでしょうか。

投稿2017/11/09 06:07

keicha_hrs

総合スコア6766

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

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

退会済みユーザー

退会済みユーザー

2017/11/09 12:25

これがなく、追加しましたが、アプリは閉じなくなりましたが、何も起こりません。 http://localhost:5050でgoでサーバーを構築して、そこにリクエストしましたが、どうやら遅れてないようです。 どのようにしたらいいでしょうか?
keicha_hrs

2017/11/09 14:53 編集

手元で質問通りのコードを試してみましたが、宛先がgoogle.co.jpであれば変数responseにはOKが得られます。そちらでもそこまでの確認ができたのなら、本件としてはこれで締めで、その先は別件なんじゃないでしょうか。 その上で、できることとして提案できるのは、サーバーのOS上でWiresharkのようなパケットキャプチャーソフトを使える環境にあるのなら、それを導入してリクエストが届いているかどうか確認するところからではないでしょうか。
退会済みユーザー

退会済みユーザー

2017/11/11 08:48

なるほどです、、、ひとまずは自作ライブラリで実装しましたが、時間があるのならOkhttpで実装したいと思います。非常に参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問