2017-01-11 5 views
8

Android dashboards Android 5.0以降のデバイスの半数しか表示されていないことがわかりました。 Androidのバージョンが5.0より低く、minSdkVersionを15から21に変更することを決定しました。フラグメントとサポートフラグメントの互換性についてapi 21(Android 5.0)以上をターゲットに設定した場合

このアップグレードでは、古い機能をすべてレビューし、古いものをサポートするために適用したいくつかのハッキリバージョン。現在適用可能な主な機能の1つは、android.support.v4.app.Fragmentandroid.app.Fragmentに置き換えることです。特にfragment API had been reviewed and improvedを知っているときには、良いアイデアのように思えます。

正しいパスを取るようにしてください。android.app.fragmentは私には驚かないでしょう。stackoverflow threadから質問を言い換えたいのですが - サポートライブラリのフラグメントは、開発中に既に利用可能ですが使用していますか? Android 5のための?フラグメントAPIにAndroid 5.0以降で発生し、サポートライブラリで修正されたバグはありますか?

更新アンドロイド-KTX解除後

Jake Wharton made the following statement in one of PRs

PRをするために時間を割いてくれてありがとう、私たちは、開発者がのみ使用することを奨励したいと思います(テストで!)サポートライブラリの断片。 次のバージョンのAndroidでは、プラットフォームの一部であるフラグメントのバージョンは廃止されます。したがって、このプロジェクトでは、これらをサポートするための拡張は追加しません。

サポートライブラリのフラグメントを使用するのが適切です。

答えて

6

私はいくつかの理由のために、とにかくサポートライブラリの断片を使用することをお勧めします:

  1. 今後の機能が追加され、バックポートし、次にあなたがそれらに
  2. 一貫性を使用するように書き換える必要があると思いますすることができます。サポートライブラリは、サポートフラグメントが常に同じように動作するように機能します。一方ネイティブの断片はバージョン間に微妙な違いがあるかもしれません。
  3. サポートライブラリには、プラットフォームに対するバグ修正が含まれており、さらに頻繁に更新することができます。
+0

Android 5.0以降のフラグメントAPIのバグを知っていますか?私はAndroid 4.0/4.1上で問題がたくさんあることを知っています。私はちょうどこのAPIがどれほど成熟しているのだろうかと疑問に思う。 –

0

私たちは数か月前に新鮮なAndroidアプリを始めました。私たちは同じことを思い出していました。

IMOの場合は、可能であればandroid.app.Fragmentを常に使用してください。このように、あなたはAndroid開発者がこのAPIを最適化、更新、サポートすることが確かであり、彼らはあなたに高品質の製品を提供します。

現在のところ、android.support.v4.view.ViewPagerなど、通常のAPIよりもサポートライブラリの機能が異なる他のコンポーネントが使用されています。

+1

私は「彼らはあなたに高品質な製品を与えるだろう」と同意しないだろう。それが本当だったなら、私は最初にこの質問をしません。なぜなら、AndroidチームがAndroid 4.0/3.0で堅実なフラグメントAPIを提供するからです –

関連する問題