NetBeansを使用しnbandroid
てAndroidアプリをビルドしています。以前はAPIレベル10(2.3.3)をターゲットにしていましたが、そうすることでアプリから除外する人が多すぎることに気付き、(私は)アプリがAPIレベル7を超える機能を使用していなかったと思いました。 NetBeansのプロジェクトプロパティでAPIレベルを変更すると、プロジェクトがコンパイルされず、条件付きコンパイルに失敗しmyString.isEmpty()
ます。これは簡単に修正/交換できることは知っていますがString.isEmpty
、APIレベル10まで実際には利用できませんか?そうでない場合、どうすればnbandroid
プロジェクトを修正できますか?プロジェクトのプロパティでAPIレベルを選択した後でも、ライブラリでは常にAndroid2.3.3と表示されていることに気付きました。
5 に答える
文字列が空であるかどうかを確認する(メソッドがない場合isEmpty
)より効果的な方法は、次のように、を使用するのではなく、文字列の長さが0であることを確認することですequals
。
if ( myString.length() == 0 )
{
// is emtpy
}
実際、それisEmpty
が舞台裏で行われていることです。
isEmptyはAPI9で追加されました。(リファレンス)
必要に応じて、アプリケーションをAPI 7に変換することもできます。必要に応じて、String.length() != 0
ではなくを使用する必要があります。isEmpty();
これがドキュメントです。API9以降から利用できます。あなたが言ったように、それはかなり簡単に交換できます。
2.3.3に設定したので、おそらくまだ2.3.3ライブラリを使用していると表示されますtargetSdk
。
2.2(8)を超える最小SDKを使用すると、オーディエンスの27.1%が失われます
2.1(7)を超える最小SDKを使用すると、 6.2%が失われます
最小SDKが1.6(6)を超えると、 0.7%が失われます
したがって、 2.3(9)を超えてターゲットにしたくない場合は、あなた次第です。
(個人的には、minSdkを2.2(8)とし、3.0(11)をターゲットにすることをお勧めします)
String.isEmpty()について
if("".equals(String)){
// is Empty
}
また
if(!"".equals(String) && String != null){
// is Not Empty
}
完全なisEmpty実装の場合、文字列がnullまたはスペースでいっぱい(技術的には空)である可能性があることを覚えておく必要があります。
if(String != null && "".equals(String.trim())){
// is Empty
}
nullをチェックするとtrim()
、NullPointerExceptionなしでメソッドを呼び出すことができます
参照:
レベル9以降、そこにあります。