DefaultLifecycleObserver や LifecycleEventObserver の使い方

あら。

DefaultLifecycleObserver や LifecycleEventObserver の使い方

Annotation that can be used to mark methods on LifecycleObserver implementations that should be invoked to handle lifecycle events.

Deprecated
This annotation required the usage of code generation or reflection, which should be avoided. Use DefaultLifecycleObserver or LifecycleEventObserver instead.

いつのまにか deprecated。

言われる通りに代わりのやつらを使います。

👉 DefaultLifecycleObserver  |  Android Developers 

👉 LifecycleEventObserver  |  Android Developers 

昔のコードを久々に開くといろいろな新しい発見があります。

👉 android - Do I need to call removeObserver for lifecycle, upon its onDestroy() event? - Stack Overflow 
👉 JakeWharton/timber: A logger with a small, extensible API which provides utility on top of Android's normal Log class. 


まとも検索 検索オプション追加 のブックマークレット

使ってみると確かに便利です!

👉 「Google検索は死んでいる」がバズったので「まとも検索」を作った。:村上福之の「ネットとケータイと俺様」:オルタナティブ・ブログ 

Google 検索オプションやドメインのおさらいしながら、雑にブックマークレットにしておきます。

まとも検索

通常のGoogle検索の結果表示のあと、ブックマークレットで検索オプションを追加して、結果を絞り込みます。


javascript:(()=>{
  if (location.host == 'www.google.com' && location.pathname == '/search') {
    var params = new URLSearchParams(location.search);
    params.set('q', 'site:ac.jp OR site:go.jp OR site:lg.jp ' + params.get('q'));
    location.search = params.toString();
  }
})()

👉 Googleの検索言語をサクッと切り替えるためのブックマークレット - かみのメモ 

公的期間に限定: ac.jp/lg.jp/go.jp

https://www.google.com/search?q=site%3Aac.jp+OR+site%3Ago.jp+OR+site%3Alg.jp+%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF

AC.JP
高等教育機関および学校法人などが登録できます。
- 大学、大学校、高等専門学校、大学共同利用機関、障害者職業能力開発校など
- 学校法人、職業訓練法人、国立大学法人、大学共同利用機関法人、公立大学法人など
- 専門学校や各種学校のうち、18歳以上を対象とするもの

LG.JP
地方公共団体と、それらの組織が行う行政サービスが登録できます。

GO.JP
日本の政府機関や各省庁所管の研究所、特殊法人、独立行政法人が登録できます。
政府機関は、一つの組織で複数のGO.JPドメイン名を登録できます。

👉 種類と対象 | JPドメイン名の種類 | JPドメイン名について | JPRS 


javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('q', 'site:ac.jp OR site:go.jp OR site:lg.jp ' + params.get('q'));location.search=params.toString();}})()

医療情報に限定: 大学・大学病院(ac.jp)のみ

https://www.google.com/search?q=site%3Aac.jp+%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF


javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('q', 'site:ac.jp ' + params.get('q'));location.search=params.toString();}})()

国内論文限定: ci.nii.ac.jp に限定

https://www.google.com/search?q=site%3Aci.nii.ac.jp+%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF

CiNii(NII学術情報ナビゲータ[サイニィ])は、論文、図書・雑誌や博士論文などの学術情報で検索できるデータベース・サービスです。どなたでもご利用いただけます。

「CiNii Articles - 日本の論文をさがす」では、学協会刊行物・大学研究紀要・国立国会図書館の雑誌記事索引データベースなどの学術論文情報を検索できます。

👉 CiNii Articles - 日本の論文をさがす - 国立情報学研究所 


javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('q', 'site:ci.nii.ac.jp ' + params.get('q'));location.search=params.toString();}})()

pdfのみ: 正確な情報が多い

https://www.google.com/search?q=filetype%3Apdf+%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF


javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('q', 'filetype:pdf ' + params.get('q'));location.search=params.toString();}})()

英文論文限定: pubmed.ncbi.nlm.nih.gov に限定

https://www.google.com/search?q=site%3Apubmed.ncbi.nlm.nih.gov+%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF

PubMed is a free resource supporting the search and retrieval of biomedical and life sciences literature with the aim of improving health–both globally and personally.

The PubMed database contains more than 33 million citations and abstracts of biomedical literature. It does not include full text journal articles; however, links to the full text are often present when available from other sources, such as the publisher's website or PubMed Central (PMC).

👉 PubMed 


javascript:(()=>{if(location.host=='www.google.com'&&location.pathname=='/search'){var params=new URLSearchParams(location.search);params.set('q', 'site:pubmed.ncbi.nlm.nih.gov  ' + params.get('q'));location.search=params.toString();}})()

ありがとうございます。

ホント今の広告だらけの検索結果にうんざりです。

👉 ブックマークレットの登録方法 - Qiita 

👉 Google 検索オプション 
👉 Google 画像検索オプション 
👉 Google 動画検索オプション 
👉 ブックス検索オプション 

👉 Stackoverflow の短い公式URLでコピペ用ブックマークレットを作る 


Error: ComponentProcessingStep was unable to process 'AppApplication_HiltComponents.SingletonC' because 'DefaultActivityViewModelFactory' could not be resolved.

Releases dagger-2.34
Dagger2.34 にアップデートしたら全くビルドが通らず。

Error: ComponentProcessingStep was unable to process 'com.example.eg.AppApplication_HiltComponents.SingletonC' because 'dagger.hilt.android.internal.lifecycle.DefaultActivityViewModelFactory' could not be resolved.

なんすかねこれ。

 

androidx.hilt:hilt-lifecycle-viewmodel が不要

Hmm, the androidx.hilt:hilt-lifecycle-viewmodel artifacts were deprecated in the Dagger 2.34 release in favor of native Hilt API. The missing DefaultActivityViewModelFactory class is no longer in the Hilt codebase.

You should be able to fix this using the instructions in the 2.34 release notes to upgrade to the new HiltViewModel API.

androidx.hilt:hilt-lifecycle-viewmodel アーティファクトはDagger 2.34リリースで非推奨となり、ネイティブHilt APIに切り替わりました。

👉 ComponentProcessingStep was unable to process '*Application_HiltComponents.SingletonC' · Issue #3257 · google/dagger

New breaking changes
The alpha androidx extension @ViewModelInject is no longer supported. @ViewModelInject has been deprecated since androidx.hilt 1.0.0-alpha03 and was removed in androidx.hilt 1.0.0-beta01. Hilt now falls back to the base activity/fragment default ViewModelProviderFactory (3778ee2)

Migration steps:
Users of @ViewModelInject can migrate to @HiltViewModel which was added in Dagger 2.31.

1. Add @HiltViewModel annotation to the class
2. Replace the @ViewModelInject annotation on the constructor with @Inject.
3. Remove @Assisted from the SavedStateHandle constructor parameter, if it exists
4. Remove the old androidx.hilt:hilt-lifecycle-viewmodel dependency from your build.gradle file

👉 Release Dagger 2.34 · google/dagger 

私の場合は、上記の手順を確認して build.gradle を修正でビルド通るようになりました。削除漏れです。

androidx.hilt:hilt-lifecycle-viewmodel artifacts were deprecated in the Dagger 2.34 release in favor of native Hilt API.

build ファイルの削除漏れが影響を及ぼすことが結構多くなりました、最近。