RecyclerView.Adapter の onBindViewHolder ではViewType判別に「getItemViewType」と「holderをinstanceofで判定」のどちらを用いるのが良いか (Android)

投稿者: Anonymous AndroidのRecyclerView.Adapterの実装において、2種類以上のViewTypeを扱う場合には onBindViewHolder の実装内で場合分けをする必要があると思っています。 一般的なサンプルコードでは、たとえば以下のような実装が成されていると認識しています: // in Kotlin override fun onBindViewHolder(holder: ViewHolder, position: Int) { when (getItemViewType(position)) { VIEW_TYPE_MY_STANDARD -> { (holder as MyStandardViewHolder) // do something } VIEW_TYPE_MY_SUB -> { (holder as MySubViewHolder) // do something } else -> throw IllegalStateException() } } 対しチームメンバーのコードが、以下のようになっておりました: // in Kotlin override fun onBindViewHolder(holder: ViewHolder, position: Int)…(Continue Reading)

Problemas con TextView en Android Studio 3.0.1

publicado por: Anonymous Hola estoy usando Android Studio 3.0.1 y el TextView me lo marca en rojo como error, dice Function invocation ‘TextView(…)’ expected None of the following functions can be called with the arguments supplied. (Context!) defined in android.widget.TextView (Context!, AttributeSet!) defined in android.widget.TextView (Context!, AttributeSet!, Int) defined in android.widget.TextView (Context!, AttributeSet!, Int, Int)…(Continue Reading)

KotlinでNullPointerExceptionが発生する

投稿者: Anonymous Kotlinでパッケージ名からアイコン(Drawable)とアプリ名を取得する処理を行いたいのですが、NullPointerExceptionが発生してしまいます。 以下にプログラムの全文を載せます。 Loading.ktでデータ(パッケージ名+その他)を読み込み、IntentでMainActivityに渡しています。MainActivityにてパッケージ名からアイコンとアプリ名を生産しています。(←ここでヌルポが発生 MainActivity.kt GetAppName(),GetAppIcon()) エラーメッセージは以下のとおりです。 java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.Context android.content.Context.getApplicationContext()’ on a null object reference nullオブジェクトと言われても、宣言と同時にgetgetApplicationContext().getPackageManager()で初期化しているはずなので、エラーメッセージの内容がよくわかりません… ご教授お願いします。 ※ヤフー知恵袋にてマルチポストを行っています。https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13210123708 MainActivity.kt package caios.android.notification_log import android.app.Application import android.content.Context import android.content.Intent import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.graphics.BitmapFactory import android.graphics.drawable.Drawable import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter…(Continue Reading)

オプションメニューの内容を動的に変更する(Kotlin)

投稿者: Anonymous オプションメニューの内容を動的に変更したいのですが、MenuItemのインスタンス作成時にエラーが出ます。 参考サイト var item = MenuItem() kotlinの場合、参考サイトと同じようにできるのでしょうか? こちらにも同じ質問をしていますTeratail 解決 正攻法としては、Kotlin文法を学びJavaコードと対応付けられるようにする、ということになると思いますが、マルチポスト先ではそのよう指向されているようなので別の邪道を。 KotlinでAndroid開発を行っているということはおそらくAndroid Studio上で開発していると思われますが、JavaからKotlinへの変換機能があります。 Javaコードが既に存在しているのであれば、その機能で自動変換してやればそれなりのKotlinコードが得られます。 今回の場合、適当にダミーのActivityクラスを新規作成し、そのファイルに該当メソッドをペーストした後、上記の機能を使用すると次のように変換されます。 override fun onPrepareOptionsMenu(menu: Menu): Boolean { super.onPrepareOptionsMenu(menu) // メニューアイテムを取得 if (flag === 0) { // menu0を表示 menu.findItem(R.id.item0).setVisible(true) // menu1を非表示 menu.findItem(R.id.item1).setVisible(false) } else if (flag === 1) { // menu0を非表示 menu.findItem(R.id.item0).setVisible(false) // menu1を表示 menu.findItem(R.id.item1).setVisible(true) } return true } 回答者: Anonymous

android kotlinでのactivity?.let{ }のactivityについて

投稿者: Anonymous kotlinはまったく初めての者ですが、googleのandroidデベロッパーズサイト掲載のkotlinコードについての質問です。 ダイアログの解説ページ( https://developer.android.com/guide/topics/ui/dialogs#kotlin )に、kotlinのコードで下記のように “activity?” というものが記述されています。 「nullでなければActivityが存在している」ということと思います。 一方、Android Studioでkotlinでのプロジェクトを作って activity?.println(“OK”) と書くと unresolved reference となります。 デベロッパーズサイトのようにactivityを使うにはどうすればよいのでしょうか? override fun onCreateDialog(savedInstanceState: Bundle): Dialog { return activity?.let { …. } ?: throw IllegalStateException(“Activity cannot be null”) } OOPer様、ありがとうございます。 「activityと言うのは、DialogFragmentのプロパティ(親クラスのFragmentから継承したもの)です。(JavaのgetterメソッドgetActivity()が、Kotlinではプロパティとして扱われています。)」についてですが、デベロッパーズサイトを見ると、 “Activity! getActivity() Return the Activity this fragment is currently associated with.” とありますが、activityフィールドについての記述はありません。 「activity?ってなんだろう?」と思った時、どうやって調べればよいのでしょうか? 自分で書いてみたコードは下記の単純なものです。activityプロパティの無いクラスですね。 class MainActivity : AppCompatActivity() { override…(Continue Reading)

Backキー 押下時のエラー

投稿者: Anonymous WebViewで何かページを表示した後、Backキー押下時エラーが発生します。 現在、調査中ですが、原因を見つけるアドバイスが欲しいです。 WebViewActivityクラスのsetupUri()に機能を追加してから発生しています。 追加した機能:WebViewで表示する為にリクエストされたURLを種類によって別のURLに上書きする。 機能の追加の仕方やソースの書き方が綺麗でないのは分かっているんですが、どのように整理したら良いか悩んでいます。 package jp.yahuu.hogehoge.app.activities import android.content.Intent import android.net.Uri import android.os.Bundle import android.webkit.JavascriptInterface import android.widget.Toast import jp.yahuu.hogehoge.app.R import jp.yahuu.hogehoge.app.advertising.AdvertisingIdentifierManager import jp.yahuu.hogehoge.app.constants.Constants import jp.yahuu.hogehoge.app.data.feed.user.User import jp.yahuu.hogehoge.app.fragment.WebFragment import jp.yahuu.hogehoge.app.proguardHelper.NonObfuscate import jp.yahuu.hogehoge.app.web.* import kotlin.properties.Delegates //import kotlinx.android.synthetic.web_fragment.* /** * Created by henrique on 2/13/15. */ //リスタートフラグ(ログアウト用) var restartFlag: Boolean = false public class WebViewActivity(var uri:…(Continue Reading)

ExcelのC1R1形式からセルのラベル(A1、C7)形式への変換

投稿者: Anonymous KotlinでPOIを使ったプログラミングをしているのですが、その中でセルの座標(x=5、y=4)からセルのラベル(座標は0から開始のためこの場合F3)に変換する効率的なアルゴリズムがないかを知りたいです。 26進法で考えていますが、A〜Zまで来た次がAAのため簡単にできないと思っています。 以下、テストで作成し正しく動くものはできてはいます。ただ、直感的にわかりやすいプログラムではないため、もう少しわかりやすいものができないかと試行錯誤しています。 @JvmStatic fun cellIndexToCellName(x: Int, y: Int): String { var cellName = “” var threshold = 26 var tempX = x var loop = 0 // ループの2回目以降は値から1を引く while (true) { val mod26 = tempX % threshold cellName = (mod26 + 65 – loop).toChar() + cellName if (tempX < threshold) { break…(Continue Reading)

IDEAでKotlinのBool変数を反転させるコードを書くと”Redundant ‘if’ statement”という提案が表示される

投稿者: Anonymous 環境 IntelliJ IDEA 2017.3.4 Kotlin 1.2.30 Windows 10 64bit 下記のようなBool値を反転させるコードを書くと、Redundant ‘if’ statementという提案が表示されます。 class Foo { private var boolVar = false fun doSomething() { if (boolVar) { boolVar = false } else { boolVar = true } } } 提案の詳細は下記の通りです。 Redundant ‘if’ statement Reports if statements which can be simplified to single statements. For…(Continue Reading)

言語kotlinの->はラムダ式でしょうか?

投稿者: Anonymous ApiManager.getSuggestions(newText, { receiver -> val keywords = receiver.receive() if (keywords.isEmpty()) { self.updateKeywordList(arrayOf(newText), “このキーワードで検索”) } else { self.updateKeywordList(keywords, “以下のキーワードで検索”) } } 言語コトリンについて質問させてください 質問1 ->はラムダ式でしょうか? 質問2 receiverに対してどんな処理が行われていますか? 質問3 オブジェクトApiManagerに対してどんな処理が行われています? いただいた解答によってkotlinとAndroidについて理解を深めようとしています。 質問の仕方が悪いかもしれませんがご指摘いただければ直したいと思います。 よろしくお願いいたします。 解決 質問1 はい。 ->はラムダ式の引数リストとボディを分けるための記号です。 質問2, 3 実際のコードを見ないことには何とも言えませんが receiverはgetSuggestionsの結果のコールバック関数の引数のようです。 receiver.receive()で、受け取った結果のキーワードを取得しているようですね。 回答者: Anonymous

visual studio code で hotswap できない

投稿者: Anonymous ネットをあさるとIntelliJでhotswapしている例が出てくるのですが、visual studio codeで解決している例はありませんでした。 そもそも、spring-boot-devtools と springloaded があれば実現できそうなので、IntelliJだろうがvisual studio codeであろうがどちらでもよいと思ったのですが、違うのでしょうか? また、言語はKotlinを使用しています。 設定抜粋 build.gradle.kts dependencies { … runtimeOnly(“org.springframework.boot:spring-boot-devtools”) runtimeOnly(“org.springframework:springloaded:1.2.6.RELEASE”) … } application.properties … spring.thymeleaf.cache=false … 上記設定後、@Controller内にprint文を付け足し、ファイルを保存、ページをリロードしましたが、printの結果は出力されませんでした。もちろん手動でspringの再起動後は出力されました。なので、hotswapはできておりません。 関係あるとすると 20. Developer tools にリスタートの方法がIntelliJとEclipseで違うようなので、visual studio codeではどのようにするのか?という質問になるかもしれません。 ちなみに build.gradle.kts 末尾に bootRun { addResources = true } を足すと以下のエラーが起こってしまいます。 Expression ‘bootRun’ cannot be invoked as a function. 回答を受けてバージョンに関する追記: build.gradle.kts plugins { id(“org.springframework.boot”)…(Continue Reading)

kotlinの「?」

投稿者: Anonymous kotlinの「?」の意味が分からないので教えてください。 JSONObject? // 実行後 override fun postExecute(result: JSONObject?) { if (result == null) { return } try { // 各 ATND イベントのタイトルを配列へ格納 val list = ArrayList<String>() val eventArray = result.getJSONArray(“data”) for (i in 0..eventArray.length() – 1) { val eventObj = eventArray.getJSONObject(i) val event = eventObj.getJSONObject(“data”) list.add(event.getString(“data”)) } Kotlinの基本はここに記述されていますが、実例が少なく行き詰っています。 他に良いものがあれば教えください。 解決 そのサイトで言うと、5.4のNULL安全に関する文法にあたります。 https://sites.google.com/site/tarokotlin/chap5/sec54 NULLに対して操作を行ったときに発生する例外をコンパイル時に防ぐために、NULLを代入可能にするには型名に?を付けて宣言する必要があり、その変数に対してメソッドを呼ぶ場合もNULLチェックをするか、?を付けて呼び出さないとコンパイルエラーになる、という文法上の規則です。…(Continue Reading)

HandlerDelegateは呼び出しでしょうか?

投稿者: Anonymous public class WebViewActivity(var uri: Uri? = null): DefaultActivity() { private class WebViewFragment(): WebFragment(), AdEventHandlerDelegate, FavorEventHandlerDelegate, ShareEventHandlerDelegate, NewPageEventHandlerDelegate, LoginPageEventHandlerDelegate, LogoutPageEventHandlerDelegate { private object KeyName { val Uri = “Uri” } public companion object { //Function型 fun public fun newFragment(uri: Uri): WebViewFragment { val fragment = WebViewFragment() val args = Bundle() args.putString(KeyName.Uri, uri.toString()) fragment.setArguments(args) return…(Continue Reading)

Notificaciones Android

publicado por: Anonymous tengo el siguiente problema. Tengo un app que recibe notificaciones push de firebase. Hasta el momento excelente. Cuando recibo la notificación lo que hago es crear una notificación de la siguiente manera: private fun sendNotification(messageBody: String, title: String) { val intent = Intent(this, NotificacionesActivity::class.java) intent.setClassName(this.packageName, “${this.packageName}.NotificacionesActivity”) intent.putExtra(“notificacion”,true) intent.action = Intent.ACTION_VIEW intent.addCategory(Intent.CATEGORY_INFO) intent.flags…(Continue Reading)

logback.xmlを用意するとSpring Bootのログ出力まで影響をうけてしまう

投稿者: Anonymous java – logback show logs with line number – Stack Overflow Logback 使い方メモ – Qiita Best practices for loggers – Kotlin Discussions 上記を参考に下記の logback.xml を作りました。 本当は用意してないデフォルトの出力でもそこまで不満がなかったのですが、行番号を表示させたいので作成しました。 <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE logback> <configuration> <appender name=”STDOUT” class=”ch.qos.logback.core.ConsoleAppender”> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M(%line) – %msg%n</pattern> </encoder> </appender> <root> <appender-ref ref=”STDOUT” /> </root> </configuration> すると [THYMELEAF]…(Continue Reading)

Cómo instanciar clase en Kotlin sin usar apply

publicado por: Anonymous En Kotlin tengo una clase definida así: open class miClase { var atributo1: String = “” var atributo2: String = “” var atributo3: String = “” } Hasta ahora la estaba inicializando así: val miObjeto = miClase().apply { atributo1 = “valor 1” atributo2 = “valor 2” atributo3 = “valor 3” } Que…(Continue Reading)

Como guardar pdf

publicado por: Anonymous Como puedo guardar un archivo .PDF en /my_folder con la fecha actual como nombre de archivo? val date = Date() val timeStamp = SimpleDateFormat(“dd-MM-yyyy HH:mm:ss”, Locale.getDefault()).format(date) val dir = “${Environment.getExternalStorageDirectory()}/my_folder” File(dir).mkdirs() val outpath = Environment.getExternalStorageDirectory().toString()+ “/my_folder” + File.separator + timeStamp +”.pdf” val document = Document() PdfWriter.getInstance(document, FileOutputStream(outpath)) document.open() solución Usando las clases:…(Continue Reading)

Fragment から別の Fragment に画面遷移をKotlinで実行するときのエラー

投稿者: Anonymous 実行したいこと Fragment から別の Fragment に画面遷移をしようとしています。 [Android] Fragment から別の Fragment に画面遷移させてみるという記事を参考にしていますが、Javaで書かれているので自動翻訳でKotlinにするとエラーが起きて解決方法がわかりません。 エラーメッセージ これらのエラーをどうしたら解決できるのかわからず、困っています。 MainActivity.kt Unresolved reference:activity_main Unresolved reference:container Fragment01.kt Unresolved reference:fragment01 Unresolved reference:textview_01 Unresolved reference:button_01 Unresolved reference:container Unresolved reference:pop_01 Fragment02.kt Unresolved reference:fragment02 Unresolved reference:textview_02 Unresolved reference:button_02 Unresolved reference:container Unresolved reference:pop_02 コード layoutとvaluesはそのまま[Android] Fragment から別の Fragment に画面遷移させてみるのコードを実行しています。 MainActivity.kt package com.example.fragfrag import android.R import android.os.Bundle import…(Continue Reading)

Can not issue data manipulation statements with executeQuery() が出る

投稿者: Anonymous @QueryでnativeQuery=trueにしてupdate文を作ったところ実行時に、下記のようなエラーが出ました。 どのようにすれば解決できますか? 2020-08-19 10:16:19.739 WARN 76089 — [nio-8080-exec-7] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S1009 2020-08-19 10:16:19.739 ERROR 76089 — [nio-8080-exec-7] o.h.engine.jdbc.spi.SqlExceptionHelper : Can not issue data manipulation statements with executeQuery(). 2020-08-19 10:16:19.756 ERROR 76089 — [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed;…(Continue Reading)

Spring Bootを2.3.0にバージョンアップしたら、 Unresolved reference: validation が出る

投稿者: Anonymous Spring Bootを2.3.0にバージョンアップしたら import javax.validation.Valid としていた箇所で、Unresolved reference: validation が出ました。 他にも、似たような箇所で、 Unresolved reference: NotBlank やUnresolved reference: Size 等が出ました。 どうすればよいのでしょうか? 解決 javax.validation.constraints missing in 2.3.0? · Issue #21465 · spring-projects/spring-boot Spring Boot 2.3 Release Notes · spring-projects/spring-boot Wiki 上記のリンクにある通り、spring-boot-starter-validation への依存関係を自分で示す必要があります。 私の場合は、build.gradle.ktsを使っているので、 build.gradle.kts に下記を追加で動きました。 implementation(“org.springframework.boot:spring-boot-starter-validation”) 回答者: Anonymous

Kotlinのメソッドで自分自身のクラスを返したい

投稿者: Anonymous タイトルのことを実現するには↓のように実装するだけです。 open class A { fun chain(): A { return this } } このAを継承したサブクラスで上記メソッドを実行すると メソッドの実装どおり、Aクラスを返すことになります。 class B: A { } 私はイメージとして、 B().chain() では B クラスを返したいです。 これを実現できる方法はありますか? 【追記】 @kunif さんの回答は限りなく正解に近いものだと思うのですが↓のような結果になりました。 何故かBクラスのメソッド内部でしか chain メソッドが見えなくなりました。 open class A { fun <T:A>T.chain(): T { return this } } class B: A() { fun test() { val chainメソッド参照可能返ってくるのはBクラス = chain() } } A().chain()…(Continue Reading)

Kotlinのvalって何の略称なのでしょうか?

投稿者: Anonymous varとvalがどっちがどっちなのかよくわからなくなります。語源がわかれば迷うことが少なくなると思いました。 varはvariable。ではvalは? 解決 value みたいですね(予想通りだと思いますが)。 このページにこんなことが書いてありました。 Why? Not sure the exact origins of which language did it first. But scala, which Kotlin is inspired by uses val and var. Var means variable, and thus is an asisgnable reference number Val means value, which has a specific meaning. For example the value of 2…(Continue Reading)

Spring BootにおけるJUnitがUnresolvedになる。

投稿者: Anonymous Spring BootにおけるJUnitがUnresolvedになる。 概要 現在、Kotlin + SpringBootを参考書を使用して入門中です。 そこで、参考書通りにJUnitを使用したテストコードを書き、% gradle testを実行したところ下記のようなエラーが発生しました。ライブラリが正常にインポートされていないのは理解できています…。 自分なりに色々調べてみましたが解決せず…。 どなたか解決方法のご教授お願いいたします。 エラー内容 > Task :compileTestKotlin FAILED e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (6, 18): Unresolved reference: Before e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (7, 18): Unresolved reference: Test e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (8, 30): Unresolved reference: Before e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (10, 18): Unresolved reference: runner e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (21, 2): Unresolved reference: RunWith e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt:…(Continue Reading)

Spring Boot で作ったプロジェクトとSpring関係のバージョンの調べ方はどのようにすればできますか?

投稿者: Anonymous まだ Spring Bootについての理解が浅く、Springの開発を楽にしてくれるくらいの認識しかないのですが、https://start.spring.io/ で Gradle Project, Kotlinを選択しました。 この場合 build.gradle.ktsにバージョンに関することが記載されていると考えています。 Springには、Spring Framework(Core), Spring MVC というように Spring と名前のつくものがたくさんあるようですが、おそらく https://start.spring.io/ で作ったプロジェクトに少なくとも Spring Framework(Core) と Spring MVC は入っているのではないかと推測しています。 この推測が正しいとした場合、Spring BootとSpring Framework(Core), Spring MVCのバージョンの関係を知りたいと思いました。 Spring BootのバージョンHoge は Spring Framework(Core)バージョンFooを使っている等。 こういった情報はどこにどのように記載されていますでしょうか? 背景としては、フレームワークのバージョンが上がったときにどう対処するのか気になったためですが、Spring Bootを使った場合は、細かい Spring Framework(Core) のことなど気にせずに、 Spring Bootのバージョンだけ追っておけば基本問題なかったりするのでしょうか。 (Gradle Project, Kotlinを選択しましたが、回答は Maven ProjectやJavaでもかまいません。本質的には同じと思うので、あとで対応を調べるつもりです) 解決 コード上からは spring-boot-dependenciesの構成ファイルを見ると良いかと思います。 先日リリースされた2.3.0からはMavenからGradle(build.gradle)に変わっているようですね… 私は普段Maven+Eclipseで開発しているのでそちらでの例になりますが、 自分のSpring…(Continue Reading)

Problema (App en blanco) y error E/RecyclerView: No adapter attached; skipping layout

publicado por: Anonymous estoy probando a hacer un RecyclerView y aunque aparentemente el Build dice que todo está correcto, luego cuando se abre la app sale todo el RecyclerView en blanco (solo se ve el Toolbar). He probado a meterme en el Run y he encontrado el siguiente error: E/RecyclerView: No adapter attached; skipping layout…(Continue Reading)

Coroutineで大量の処理を並列実行したい

投稿者: Anonymous KotlinのCoroutineで大量の処理を複数実行したいです。処理を並列実行するには以下のように、asyncで動かして、awaitで待ち合せればいいとのことですが、この処理が大量にある場合はどうしたらいいのでしょうか? 例えば以下のprocess関数に1~1000を代入して関数を走らせるとします。それぞれの処理に1秒かかるとしたら、普通にやれば1000秒、並列処理で行えば1秒で処理が終わることになります。しかし、以下のように1000個すべてにawait()と書くわけにもいきませんし、そもそも1000という数が動的に変わる値であったら対応できません。 このような場合はどのように並列処理を実現するのでしょうか? fun runMain(): Job = scope.launch { val price1 = async { process(1) } val price2 = async { process(2) } println("Result: ${price1.await()}, ${price2.await()}") } ※マルチポスト 少し急いでいますので、マルチポストさせていただきます。Taratail 解決 解決しました。 以下のようにループでコルーチンを作成し、awaitで待ち合わせればいいそうです。 ありがとうございました。 // count個のasyncを起動して待ち合わせ val prices = (1..count) .map { async { process(it) } } .map { it.await() } println("Results: ${prices}) 回答者:…(Continue Reading)

RealmのJavaからkotlinへ書き換えたい

投稿者: Anonymous 以下の処理をkotlinで書きたいのですが ご教授のほどよろしくお願いします。 公式のDocumentを探したのですが見つけられなかったため質問させてください。 やりたいことはrealmの読み書きが発生したときの通知を実装したいです private Realm realm; private RealmChangeListener realmListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); realm = Realm.getDefaultInstance(); realmListener = new RealmChangeListener() { @Override public void onChange(Realm realm) { }}; realm.addChangeListener(realmListener); } @Override protected void onDestroy() { super.onDestroy(); // Remove the listener. realm.removeChangeListener(realmListener); // Close the Realm instance. realm.close(); } }…(Continue Reading)

is not public in cannot be accessed from outside package インスタンスエラー

投稿者: Anonymous クラスインスタンスをnewする場所でエラーになってしまいます。 User user = new User(); ‘User()’is not public in 『mypackage』 cannot be accessed from outside package Userのクラスとnewしようとしているクラスではパッケージが違います。 調べてみると英語で解説が載っていそうですがわかりません。すみませんが教えてください。 //追記 20151104 newしようとしていたものが、objectになっていたので質問を解決とさせていただきます。 ありがとうございます。 public object User 解決 packageが違う場合、「User」クラスをpublicにする必要があります。 回答者: Anonymous

Kotlinで名前付きでの呼び出しを必須にできないか?

投稿者: Anonymous Kotlinにまだ慣れていないのですが下記のようなクラスを用意したとして class Hoge( val name: String, val age: Int ) Hogeを生成するときに、下記のように名前付き引数の場合でもOKだし、 val h = Hoge( name = “AAA”, age = 1 ) また下記のように名前を付けなくてもOKであることに気づきました。 val hh = Hoge( “BBB”, 2 ) 呼び出す際に名前付きを必須にすることはできますか?(できない場合はlintツールかなにかでコーディング規約的に守っていくことになるのでしょうか?) コンストラクタに関わらず、一般的な関数でも同じことを確認しましたので、名前付きでの呼び出しを必須にする方法はありますか? 解決 Kotlin で引数の名前つきでの呼び出しを強制する裏ワザ | d.sunnyone.org 本家での似たような質問 に裏技ちっくなものを発見しました。 /* requires passing all arguments by name */ fun f0(vararg nothings: Nothing, arg0: Int,…(Continue Reading)

android microusb 有線接続での、ゲームコントローラー制御について

投稿者: Anonymous androidにてkotlinを使って趣味でappを作ったりしています。 android micro usb 有線接続で、物理ボタンやゲームコントローラーなどを接続し、その特定のボタンを押したら、それを検知してなにかのアクションを起こしたいです。 できれば、二股コード等にも対応できるようにしたいです。 で、現在調べているのですが、あまりわからず、 https://developer.android.com/guide/topics/connectivity/usb/host https://developer.android.com/reference/android/hardware/usb/UsbDevice ここに書かれていることに関連するものなのですか? 加えて、全く関係ないものなだとしたら、用語や、ドキュメント等を教えていただけると嬉しいです。 解決 Androidでゲームコントローラに関連する記事はこちらでしょう。 ゲーム コントローラをサポートする | Android デベロッパー>ドキュメント>ガイド プレーヤーが自分のお気に入りのゲーム コントローラを使用できるようにすることで、ゲームのユーザー エクスペリエンスを大幅に高めることができます。Android フレームワークには、ゲーム コントローラからのユーザー入力を検出して処理するための API が用意されています。 このクラスでは、各種の Android API レベル(API レベル 9 以上)においてゲーム コントローラを使ってゲームを同じように操作できるようにする方法と、アプリで複数のコントローラを同時にサポートすることによってプレーヤーのゲーミング エクスペリエンスを高める方法について説明します。 コントローラの操作を処理する | Android デベロッパー>ドキュメント>ガイド Android はシステムレベルで、ゲーム コントローラからの入力イベントコードを Android のキーコードおよび軸の値としてレポートします。ゲームでこれらのコードと値を受け取って、特定のゲーム内アクションに変換することができます。 プレーヤーがゲーム コントローラと Android デバイスを物理的に接続するか、無線でペア設定すると、システムがコントローラを入力デバイスとして自動検出し、入力イベントのレポートを開始します。アクティブなActivityまたはフォーカスされているViewに以下のコールバック メソッドを実装することにより、ゲームでこれらの入力イベントを受け取ることができます(Activity または View(両方ではない)のコールバックを実装する必要があります)。 以下省略。 回答者: Anonymous