var im = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
im.hideSoftInputFromWindow(it.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
iOS:
textField.endEditing(true)
swift-xcodeならどのくらいで書けるかとおもって移植してみた
@IBAction func buttonTapped(_ sender : Any) {
bodyHeightField.endEditing(true)
bodyWeightField.endEditing(true)
sCrField.endEditing(true)
ageField.endEditing(true)
let height: Double = Double(bodyHeightField.text!)!
let weight: Double = Double(bodyWeightField.text!)!
let age: Double = Double(ageField.text!)!
let crea: Double = Double(sCrField.text!)!
var egfr: Double = 194*pow(age,-0.287)*pow(crea,-1.094) // new formula from Am J Kidney Disease in press
let bsa: Double = 0.007184*pow(weight,0.425)*pow(height,0.725) // The DuBois formula
if genderSwitch.selectedSegmentIndex != 0
{ egfr *= 0.739
}
let gfr: Double = egfr*bsa
CcrField.text = String(format: "%4.1f",gfr)
BSAField.text = String(format: "%4.1f",bsa)
eGFRField.text = String(format: "%4.1f",egfr)
// 腎障害ステージ
var stage: String = ""
switch egfr {
case 90...150: stage = "正常"
case 60...90: stage = "軽度腎障害"
case 30...60: stage = "中等度腎障害"
case 15...30: stage = "高度腎障害"
default: stage = "末期腎不全"
}
renalStageField.text = stage
// プラザキサ
if gfr>=50 && age<70
{ ...
苦労したこと
swift: Interface Builderはやっぱり簡単。でもいちいち @IBOutlet weak var bodyHeightField: UITextField! とかして接続してやんないといけないのはめんどい。
if がいちいち{}が必要でコードが汚い
whenがなく switchも多段ifの代わりに使えない
++がない
デベロッパー年間料金が高い(もう退会しちゃった)
kotlin: インターフェースデザインがすごく大変。今回はTable Layoutつかったけれど初だったのでよくわからない。思ったようにサイズ調整ができない。
ただLandscapeインターフェースが作りやすい iPhoneはめんどくさい
インターフェースと変数をいちいちひっぱる必要がない
when { -> } がスマートでコードが美しい
デベロッパー登録は1回だけで安い
iPhoneでswiftが簡単なように Androidでは kotlinがメジャーになっているらしい
そんなわけで久しぶりにandroid studioをインストール
Ccr計算機も
package com.hatenablog.gikoha.doaccalculator
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import kotlin.math.pow
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
calculateButton.setOnClickListener {
var height: Double = bodyHeightField.text.toString().toDouble()
var weight: Double = bodyWeightField.text.toString().toDouble()
var age: Double = ageField.text.toString().toDouble()
var crea: Double = sCrField.text.toString().toDouble()
var egfr: Double = 194*age.pow(-0.287)*crea.pow(-1.094) // new formula from Am J Kidney Disease in press
var bsa: Double = 0.007184*weight.pow(0.425)*height.pow(0.725) // The DuBois formula
if(femaleButton.isChecked) egfr *= 0.739
var gfr: Double = egfr*bsa
CcrField.text = "%4.1f".format(gfr)
}
}
}
こんな形ですごく簡単にかけました
Java使う気なくすじゃねーかw
やっと来たあ
福袋はオルタ沖田さん