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

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

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

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

Android

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

Android Studio

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

Q&A

解決済

1回答

242閲覧

java作成途中でkotlinを作れますか?

syyyow

総合スコア28

Java

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

Android

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

Android Studio

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

0グッド

0クリップ

投稿2018/07/12 11:01

編集2018/07/12 23:40

javaでアプリ 作成をしています。
JSONを使い、APIを持ってきたいと思い
色々調べました結果、Kotlinを使用することが
一番簡潔で分かりやすくAPIで情報を持ってこれるということで
Kotlinを使用し始めました。

もともと作っていた文に
こちらの文をnewクラスで作成しました。

java

1 2MainActivity 3 4import android.os.AsyncTask 5import android.support.v7.app.AppCompatActivity 6import android.os.Bundle 7import **kotlinx**.android.synthetic.main.activity_main.* 8import org.json.JSONArray 9import org.json.JSONException 10import org.json.JSONObject 11import java.io.BufferedReader 12import java.io.IOException 13import java.io.InputStreamReader 14import java.net.HttpURLConnection 15import java.net.MalformedURLException 16import java.net.URL 17 18class MainActivity : AppCompatActivity() { 19 20 override fun onCreate(savedInstanceState: Bundle?) { 21 super.onCreate(savedInstanceState) 22 setContentView(R.layout.activity_main) 23 24 btn.**setOnClickListener** { 25 //ボタンがクリックされたらAPIを叩く。 26 HitAPITask().execute("https://api.bitflyer.jp/v1/getmarkets") 27 } 28 } 29 30 //後からここにinner classを作ります。 31 inner class HitAPITask: AsyncTask<String, String, String>(){ 32 33 override fun doInBackground(vararg params: String?): String? { 34 //ここでAPIを叩きます。バックグラウンドで処理する内容です。 35 var connection: HttpURLConnection? = null 36 var reader: BufferedReader? = null 37 val buffer: StringBuffer 38 39 try { 40 //param[0]にはAPIのURI(String)を入れます(後ほど)。 41 //AsynkTask<...>の一つめがStringな理由はURIをStringで指定するからです。 42 val url = URL(params[0]) 43 connection = url.openConnection() as HttpURLConnection 44 connection.connect() //ここで指定したAPIを叩いてみてます。 45 46 //ここから叩いたAPIから帰ってきたデータを使えるよう処理していきます。 47 48 //とりあえず取得した文字をbufferに。 49 val stream = connection.inputStream 50 reader = BufferedReader(InputStreamReader(stream)) 51 buffer = StringBuffer() 52 var line: String? 53 while (true) { 54 line = reader.readLine() 55 if (line == null) { 56 break 57 } 58 buffer.append(line) 59 //Log.d("CHECK", buffer.toString()) 60 } 61 62 //ここからは、今回はJSONなので、いわゆるJsonをParseする作業(Jsonの中の一つ一つのデータを取るような感じ)をしていきます。 63 64 //先ほどbufferに入れた、取得した文字列 65 val jsonText = buffer.toString() 66 67 val parentJsonObj = JSONArray(jsonText) 68 69 val parentJSONObject = parentJsonObj.getJSONObject(0) 70 71 val product_code: String = parentJSONObject.getString("product_code") // => Your Name. 72 73 return "$product_code" // => Your Name. - 2016 74 75 //ここから下は、接続エラーとかJSONのエラーとかで失敗した時にエラーを処理する為のものです。 76 } catch (e: MalformedURLException) { 77 e.printStackTrace() 78 } catch (e: IOException) { 79 e.printStackTrace() 80 } catch (e: JSONException) { 81 e.printStackTrace() 82 } 83 //finallyで接続を切断してあげましょう。 84 finally { 85 connection?.disconnect() 86 try { 87 reader?.close() 88 } catch (e: IOException) { 89 e.printStackTrace() 90 } 91 } 92 //失敗した時はnullやエラーコードなどを返しましょう。 93 return null 94 } 95 //返ってきたデータをビューに反映させる処理はonPostExecuteに書きます。これはメインスレッドです。 96 override fun onPostExecute(result: String?) { 97 super.onPostExecute(result) 98 if(result == null) return 99 100 textView.**text** = result 101 } 102 } 103}

webにあった例文を参照にしています。

太字にしてあります
kotlinxsetOnClickListenertext
で、エラーが出ています。

試しに、新規で作成したプロジェクトではエラーは出ませんでした。
なので、原因は元々作成していた方に何かあるのかな?と思っています。

java

1 2build.gradle 3 4apply plugin: 'com.android.application' 5apply plugin: 'kotlin-android' 6apply plugin: 'kotlin-android-extensions' 7 8android { 9 compileSdkVersion 27 10 defaultConfig { 11 applicationId "jp.aftech.myapplication" 12 minSdkVersion 21 13 targetSdkVersion 27 14 versionCode 1 15 versionName "1.0" 16 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 17 } 18 buildTypes { 19 release { 20 minifyEnabled false 21 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 } 23 } 24} 25 26dependencies { 27 implementation fileTree(dir: 'libs', include: ['*.jar']) 28 implementation 'com.android.support:appcompat-v7:27.1.1' 29 implementation 'com.android.support:design:27.1.1' 30 implementation 'com.android.support.constraint:constraint-layout:1.1.2' 31 implementation 'com.android.support:support-v4:27.1.1' 32 testImplementation 'junit:junit:4.12' 33 androidTestImplementation 'com.android.support.test:runner:1.0.2' 34 androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 35 compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 36 implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 37 38} 39repositories { 40 mavenCentral() 41} 42 43

こちらも記載済みです。

解決方法をご存知の方、よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

モジュール側のbuild.gradle(デフォルトならapp)に

gradle

1apply plugin: 'kotlin-android-extensions'

の記述があるでしょうか?これがないとkotlinxパッケージは使えません。

投稿2018/07/12 15:25

keicha_hrs

総合スコア6766

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

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

syyyow

2018/07/12 23:41

はい、記載済みです。 全文に変更しました!
syyyow

2018/07/13 02:59

kotlinxのエラーはなくなりましたが、未だに”setOnClickListener”と"text"にエラーが出てしまいます。
keicha_hrs

2018/07/14 04:05

メニューのTools→Kotlin→Configure Kotlin in Projectは実行済みですよね?(それを実施した形跡は見られるし)それを行い、'kotlin-android-extensions'を追加しさえすれば、こちらでは質問のKotlinソースコードの丸写しでノーエラーで通りますね。レイアウトXMLでTextViewに与えているIDに間違いはありませんか?btnは赤字にならずsetOnClickListenerは赤字になるのだとしたら、これも何らかのtypoじゃないかと思いますが・・・。
syyyow

2018/07/14 05:13

一度作成のし直しをしましたら、エラーがなくなりました。。 度々ある、何もズレはないのにでるエラー。だったのでしょうか、、 ご回答ありがとうございました><
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問