Translate

BTemplates.com

Powered by Blogger.

2018年3月31日土曜日

2018-03-12、19、28 、29 到達点メモ


Ajaxでjqueryを使ってalertを呼び出したところ
文字化けした。
htmlファイルの文字コードをEmEditerでutf-8(BOM無し)からutf-8(BOM有り)で
保存したところ、文字化けが治った。

Chromeのディベロッパーツールのショートカットは
Shift+Ctrl+Cで立ち上がる

アクティビティを最小化させるのは
moveTaskToBack()

finish()だとメインアクティビティの上に別のアクティビティを立ち上げていた場合
そのアクティビティを終了し、メインアクティビティを表示する時がある


あと、2018-03-10 到達点メモで言っていた履歴機能が正常に働かない問題は
普通に、自分の並び替えの処理が間違っていただけだった。
他のアプリと微妙に結果が違うが、操作の実感としては大体あっていたので
これで良しとする

うーん。久しぶりにふれたが大分使わないと操作を忘れる。
それはそれとして、今延長機能を実装しているのだが
初回だけタップしてもすぐ延長ボタンを押す必要があった。
端的にいうと延長ボタンをタップした時にタップしたというフラグを保存していたのだが
どうも、押した後にフラグを保存するデータをオフに戻していなかったのが原因だった。

もう少し奇麗なやり方がある気がすると思って調べてみた
多分、状態遷移の話っぽい気がする

参考サイト:「設計」できないエンジニア
参考サイト:「設計」できないエンジニア ー2ー
参考サイト:状態遷移表を使用した設計モデル(拡張階層化状態遷移表)
参考サイト:より良いシステム開発のために、状態遷移設計のことを知ってほしい


やはりちょっとごちゃごちゃしてきた
それはそれとして、どうやら Activity() を継承しない場合で
startActivityを使う場合、いつも使っている奴と違い
三つ引数が必要になる。
具体的には、Context、Intent、Bundleだ。また、IntentのFlagに
Intent.FLAG_ACTIVITY_NEW_TASKが必要になる
Flagを設定しない場合は以下のようなエラーが出る
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

上記をふまえて今回は以下のように書いた

var intent = Intent(context.applicationContext, ScheduleSettingActivity::class.java)
val bundle = Bundle()
val packageName = view.findViewById(R.id.appPackageName) as TextView
intent.putExtra("packageName",packageName.text.toString())
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(context,intent,bundle)

参考サイト:Android: Activity以外からActivityを起動させる

あと、今回アプリ一覧を他のアクティビティから戻ってきたときに
自動でデータの更新をしたうえで現在の状態に並び替えしたいのをうまくできなくて悩んでいました。

で、よく見たら普通に並び替えの処理をメソッドで切り出せて引数を
与えれば普通に動きそうなことに気が付いたので
やってみたら実際に上手く行きました。

思い込みで切り出せないと勘違いしているものは結構多いのかもしれない。
今日はここまで



0 コメント:

コメントを投稿