前提・実現したいこと
現在kotlinでAndroid開発をしているのですがwav音源を取り込んで、その波形をグラフに変換しようとしています。
当初スマホで表示していたのですがもっと大きい画面で見たいと思い、PCに表示しようとしたのですがAndroidstudioを使ってグラフをPCに大画面で表示する方法がわかりませんでした。
そこでVisual Studio Codeを使ってグラフをPCに表示しようとしたのですがandroi studioでのコードが使えないのかエラーが出てしまいます。
Android studioで仮想デバイスを用いずにPCにグラフを表示する方法、またはVisualstudio codeでのエラーの消し方どちらかでも解決策があれば教えていただきたいです。
発生している問題・エラーメッセージ
MainActivity.kt:4:8: error: unresolved reference: android import android.graphics.Color ^ MainActivity.kt:5:8: error: unresolved reference: android import android.os.Bundle ^ MainActivity.kt:6:8: error: unresolved reference: android import android.util.Log ^ MainActivity.kt:7:8: error: unresolved reference: android import android.widget.ArrayAdapter ^ MainActivity.kt:8:8: error: unresolved reference: android import android.widget.ListAdapter ^ MainActivity.kt:9:8: error: unresolved reference: android import android.widget.ListView ^ MainActivity.kt:10:8: error: unresolved reference: android import android.widget.TextView ^ MainActivity.kt:11:8: error: unresolved reference: androidx import androidx.appcompat.app.AppCompatActivity ^ MainActivity.kt:12:12: error: unresolved reference: github import com.github.mikephil.charting.charts.LineChart ^ MainActivity.kt:13:12: error: unresolved reference: github import com.github.mikephil.charting.data.* ^ MainActivity.kt:22:22: error: unresolved reference: AppCompatActivity class MainActivity : AppCompatActivity() { ^ MainActivity.kt:23:5: error: 'onCreate' overrides nothing override fun onCreate(savedInstanceState: Bundle?) { ^ MainActivity.kt:23:47: error: unresolved reference: Bundle override fun onCreate(savedInstanceState: Bundle?) { ^ MainActivity.kt:24:15: error: unresolved reference: onCreate super.onCreate(savedInstanceState) ^ MainActivity.kt:25:9: error: unresolved reference: setContentView setContentView(R.layout.activity_main) ^ MainActivity.kt:25:24: error: unresolved reference: R setContentView(R.layout.activity_main) ^ MainActivity.kt:27:25: error: unresolved reference: findViewById val lineChart = findViewById<LineChart>(R.id.linechart) ^ MainActivity.kt:27:38: error: unresolved reference: LineChart val lineChart = findViewById<LineChart>(R.id.linechart) ^ MainActivity.kt:27:49: error: unresolved reference: R val lineChart = findViewById<LineChart>(R.id.linechart) ^ MainActivity.kt:34:21: error: unresolved reference: resources input = resources.openRawResource(R.raw.sin20hz1) ^ MainActivity.kt:34:47: error: unresolved reference: R input = resources.openRawResource(R.raw.sin20hz1) ^ MainActivity.kt:42:13: error: unresolved reference: Log Log.d("debug", readBytes) ^ MainActivity.kt:48:13: error: unresolved reference: Log Log.d("debug", "error") ^ MainActivity.kt:63:21: error: unresolved reference: Log Log.i("Test", "fmtIdx:$fmtIdx") ^ MainActivity.kt:69:13: error: unresolved reference: Log Log.e(TAG, "No fmt chunk") ^ MainActivity.kt:78:21: error: unresolved reference: Log Log.i("Test", "dataIdx:$dataIdx") ^ MainActivity.kt:84:13: error: unresolved reference: Log Log.e(TAG, "No data chunk") ^ MainActivity.kt:88:9: error: unresolved reference: Log Log.i("Test", "wavChannel:$wavChannel") ^ MainActivity.kt:99:9: error: unresolved reference: Log Log.i("Test", "wavSamplingRate:$wavSamplingRate") ^ MainActivity.kt:102:9: error: unresolved reference: Log Log.i("Test", "wavByte:$wavByte") ^ MainActivity.kt:114:9: error: unresolved reference: Log Log.i("Test", "wavDataSize:$wavDataSize") ^ MainActivity.kt:177:37: error: unresolved reference: Log wavData[j].let { it1 -> Log.w("MainActivity", it1.toString()) } ^ MainActivity.kt:196:32: error: unresolved reference: Entry val entries: ArrayList<Entry> = ArrayList() ^ MainActivity.kt:203:25: error: unresolved reference: Entry entries.add(Entry(i.toFloat(), amp.toFloat())) ^ MainActivity.kt:207:23: error: unresolved reference: LineDataSet val dataset = LineDataSet(entries, "# of Calls") ^ MainActivity.kt:209:20: error: unresolved reference: LineData val data = LineData(dataset) ^ MainActivity.kt:210:27: error: unresolved reference: Color dataset.setColors(Color.BLUE) // ^ MainActivity.kt:212:19: error: variable expected lineChart.data = data
該当のソースコード
kotlin
1package com.example.chart 2 3 4import android.graphics.Color 5import android.os.Bundle 6import android.util.Log 7import android.widget.ArrayAdapter 8import android.widget.ListAdapter 9import android.widget.ListView 10import android.widget.TextView 11import androidx.appcompat.app.AppCompatActivity 12import com.github.mikephil.charting.charts.LineChart 13import com.github.mikephil.charting.data.* 14import java.io.FileNotFoundException 15import java.io.IOException 16import java.io.InputStream 17import java.nio.ByteBuffer 18import java.util.* 19import kotlin.experimental.and 20 21 22class MainActivity : AppCompatActivity() { 23 override fun onCreate(savedInstanceState: Bundle?) { 24 super.onCreate(savedInstanceState) 25 setContentView(R.layout.activity_main) 26 27 val lineChart = findViewById<LineChart>(R.id.linechart) 28 29 var input: InputStream? = null 30 var wavData: ByteArray? = null 31 32 try { 33 // wavを読み込む 34 input = resources.openRawResource(R.raw.sin20hz1) 35 wavData = ByteArray(input.available()) 36 37 // input.read(wavData) 38 val readBytes = java.lang.String.format( 39 Locale.US, "read bytes = %d", input.read(wavData) 40 ) 41 // input.read(wavData)のwarning回避のためだけ 42 Log.d("debug", readBytes) 43 input.close() 44 } catch (fne: FileNotFoundException) { 45 fne.printStackTrace() 46 } catch (ioe: IOException) { 47 ioe.printStackTrace() 48 Log.d("debug", "error") 49 } finally { 50 try { 51 input?.close() 52 } catch (e: java.lang.Exception) { 53 e.printStackTrace() 54 } 55 } 56 var j =0 57 repeat(5000){ 58 59 wavData[j].let { it1 -> Log.w("MainActivity", it1.toString()) } 60 j++ 61 } 62 63 var i =0 64 65 val entries: ArrayList<Entry> = ArrayList() 66 var intListArray = arrayListOf<Int>() 67 68 repeat(4000){ 69 val amp: Int = wavData[i].toInt() 70 //amp= (255*sin(2.0 * Math.PI * i/1000 )).toInt() 71 intListArray.add(amp) 72 entries.add(Entry(i.toFloat(), amp.toFloat())) 73 i++ 74 } 75 76 val dataset = LineDataSet(entries, "# of Calls") 77 78 val data = LineData(dataset) 79 dataset.setColors(Color.BLUE) // 80 81 lineChart.data = data 82 83 } 84 85 companion object { 86 private const val TAG = "ClassName" 87 } 88} 89
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/14 10:17
2021/05/14 11:05
2021/05/14 22:12