ジャックとアンドロイド、または地球と空の物語

画像

こんにちは親愛なる読者。 今日は、Java 8やAndroidなどのトピックについてお話します。 長所と短所、およびその他の興味深いトピック。

Java 8がリリースされてからかなりの時間が経ちましたが、Androidにはそれほど前に登場しませんでした。 この話がJava 7への移行とともに繰り返された後、ここでも同じ場所にいます。

そして、タンバリン踊った後、最終的にJava 8をプロジェクトに接続しました。

Java 8の長所


主な利点は、信じられないかもしれませんが、Java 8です。新機能は本当に便利で、とてもクールです。 これらは同じラムダ式であり、メソッドへの参照、1日中書くことができる他のクールなこと、そして今では悪いことについてです。

Java 8の短所


Java 8には大きなマイナス点が1つあります-ジャック。 新しいJavaをプロジェクトに接続するには、しばらく時間を費やす必要があり、Jack Androidの開発では地獄に変わります。

私のカラフルな経験


一度私はどんな動物を試してみることにしました。 私は自分のプロジェクトにJava 8を追加しましたが、いじくりまわす必要がありましたが、それをやったことが本当にうれしかったです。 Java 8はDaggerと友達になりたくありませんでした。 しかし、スタックオーバーフローやその他の由緒ある場所への答えを求めている異教の神々へ犠牲の後、結果は完全に機能する付録になりました。 すべてがクールに見えた。 そして、私は自分自身のために、Java 7-良い、長生きするJava 8を決定しました。

バラ色の少ない継続


私は、後悔したJava 8を使用して次のプロジェクトを行うことにしました。 前のプロジェクトとは異なり、これは迅速に行う必要があり、時間の浪費を無駄にしませんでした。 次のビルドの後、添付ファイルがクラッシュするまで、問題は何も予兆しませんでした。 それは古き良きNullPointerExceptionでした。 それはまだ予想外の人です。 TextView変更テキストを食べていたときに機能しました。 TextView == nullです。 しかし、どのように? ButterKnife.bind(this); 私は忘れていないので、問題は何ですか? そして、なぜ今すぐクラッシュしましたか?すべてがうまくいく前に、私は何も変更しなかったからですか? 再構築することにしました-すべてが再び大丈夫です。 私は思う:大丈夫、それは何らかの形で後で整理された。 再び、何かが変更され、再びビルドされ、再びNullPointerExceptionが発生しました。 唯一の合理的な説明は、いくつかの正当な理由で、butterKnifeが気の毒なことをしないということでした。 数回の再構築の後、すべてが正常に戻り、再びクラッシュし、別のフォーラムでの検索の次の犠牲の後、答えが見つかりました:それは私だけではなく、悪名高いジャックがそれを責めることです( ジェイク・ウォートン自身も彼について温かく話しました ) 理解する時間がなかったので、古き良きJava 7に戻りました。

結局のところ、ジャックの問題はButterKnifeだけではありませんでした。 それ以来、Jackは不安定すぎると思うので、Java 7の作業を続けています。 ルーレットをプレイするような感じです。 そのため、虹の光は灰色の悲しみに変わりました:(

Source: https://habr.com/ru/post/J337596/


All Articles