FirstFragment.kt で import okhttp3.*
をすると okhttp
部が赤文字になり、Unresolved reference: okhttp3
のエラーが出ます。
検索して出た情報から下記は試しましたが同様の結果になりました。
- build.gradle の
implementation
をcompile
に変える - クリーンビルド
正しい import の方法を教えていただきたいです。
FirstFragment.kt
Kotlin
1package com.example.test_application 2 3import android.os.Bundle 4import androidx.fragment.app.Fragment 5import android.view.LayoutInflater 6import android.view.View 7import android.view.ViewGroup 8import androidx.navigation.fragment.findNavController 9import com.example.test_application.databinding.FragmentFirstBinding 10import java.io.IOException 11import okhttp3.* 12 13/** 14 * A simple [Fragment] subclass as the default destination in the navigation. 15 */ 16class FirstFragment : Fragment() { 17 18 private var _binding: FragmentFirstBinding? = null 19 20 // This property is only valid between onCreateView and 21 // onDestroyView. 22 private val binding get() = _binding!! 23 24 override fun onCreateView( 25 inflater: LayoutInflater, container: ViewGroup?, 26 savedInstanceState: Bundle? 27 ): View? { 28 29 _binding = FragmentFirstBinding.inflate(inflater, container, false) 30 return binding.root 31 32 } 33 34 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 35 super.onViewCreated(view, savedInstanceState) 36 37 binding.buttonFirst.setOnClickListener { 38 findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment) 39 } 40 } 41 42 private val client = OkHttpClient.Builder() 43 .connectTimeout(CONNECTION_TIMEOUT_MILLISECONDS.toLong(), TimeUnit.MILLISECONDS) 44 .readTimeout(READ_TIMEOUT_MILLISECONDS.toLong(), TimeUnit.MILLISECONDS) 45 .build() 46 47 fun startGetRequest() { 48 val request = Request.Builder() 49 .utl("https://482f.net/api/regalias") 50 .build() 51 client.newCall(request).enqueue(object: Callback { 52 fun onResponse(call: Call, response: Response) { 53 val responseBody = response.body?.string().orEmpty() 54 Log.println(responseBody) 55 } 56 fun onFailure(call: Call, e: IOException) { 57 Log.e("Error", e.toString()) 58 } 59 }) 60 } 61 62 override fun onDestroyView() { 63 super.onDestroyView() 64 _binding = null 65 } 66}
build.gradle (:app)
gradle
1plugins { 2 id 'com.android.application' 3 id 'org.jetbrains.kotlin.android' 4} 5 6android { 7 namespace 'com.example.test_application' 8 compileSdk 32 9 10 defaultConfig { 11 applicationId "com.example.test_application" 12 minSdk 30 13 targetSdk 32 14 versionCode 1 15 versionName "1.0" 16 17 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 18 } 19 20 buildTypes { 21 release { 22 minifyEnabled false 23 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 24 } 25 } 26 compileOptions { 27 sourceCompatibility JavaVersion.VERSION_1_8 28 targetCompatibility JavaVersion.VERSION_1_8 29 } 30 kotlinOptions { 31 jvmTarget = '1.8' 32 } 33 buildFeatures { 34 viewBinding true 35 } 36} 37 38dependencies { 39 40 implementation 'androidx.core:core-ktx:1.7.0' 41 implementation 'androidx.appcompat:appcompat:1.4.1' 42 implementation 'com.google.android.material:material:1.5.0' 43 implementation 'androidx.constraintlayout:constraintlayout:2.1.3' 44 implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1' 45 implementation 'androidx.navigation:navigation-ui-ktx:2.4.1' 46 testImplementation 'junit:junit:4.13.2' 47 androidTestImplementation 'androidx.test.ext:junit:1.1.3' 48 androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 49 50 implementation 'com.squareup.okhttp3:okhttp:4.10.0' 51}
あなたの回答
tips
プレビュー