長らくSDKアップデートぐらいじゃ何もなかったんだけど、今回はアップデートと同時に真っ赤なクラスが!
The import org.apache.http.HttpResponse cannot be resolvedって感じで通信周りがのクラスが居ない模様。
といっても、アナウンスはされてるんですよね。自分がちゃんと調べてないだけで。
5.1.1(lv22)デプ、6.0(lv23)リム。
http://developer.android.com/intl/ja/sdk/api_diff/22/changes.html
http://developer.android.com/intl/ja/sdk/api_diff/23/changes.html
ということで、しっかり対応するならこちらの素敵な記事にあるようにHttpURLConnectionを使いましょう。
Android : Deprecated HTTP Classes on Android5.1
http://yuki312.blogspot.jp/2015/03/android-deprecated-http-classes-on.html
結構前からHttpURLConnection推奨って話はあったと思うけど、Android以前から使われてて情報が多いDefaultHttpClientを結構使ってきてしまった。
でも即対応っていうのはなかなか。引き継ぎ案件とかだと尚更。
そんな時は「org.apache.http.legacy」ってライブラリを使えばその場を凌げるらしい。
Android Studioの場合は、Gradleの依存するライブラリに追加するだけ
android { useLibrary 'org.apache.http.legacy' }
参考:http://stackoverflow.com/questions/32071025/apache-http-connection-with-android-6-0-
未だEclipseだぜ!って場合は、SDKにライブラリがあるのでlibsに放り込み!
場所は、Android/Sdk/platforms/android-23/optional
そこに「org.apache.http.legacy.jar」があります。
公式のSDKに用意してくれるツンデレGoogleさん。
読み込むと「The type HttpResponse is deprecated」に変化!
Warningはちゃんと出しとく、きっちりGoogleさん。
でも、ちゃんと移行しないとな!