3

NetBeansを使用しnbandroidてAndroidアプリをビルドしています。以前はAPIレベル10(2.3.3)をターゲットにしていましたが、そうすることでアプリから除外する人が多すぎることに気付き、(私は)アプリがAPIレベル7を超える機能を使用していなかったと思いました。 NetBeansのプロジェクトプロパティでAPIレベルを変更すると、プロジェクトがコンパイルされず、条件付きコンパイルに失敗しmyString.isEmpty()ます。これは簡単に修正/交換できることは知っていますがString.isEmpty、APIレベル10まで実際には利用できませんか?そうでない場合、どうすればnbandroidプロジェクトを修正できますか?プロジェクトのプロパティでAPIレベルを選択した後でも、ライブラリでは常にAndroid2.3.3と表示されていることに気付きました。

4

5 に答える 5

4

文字列が空であるかどうかを確認する(メソッドがない場合isEmpty)より効果的な方法は、次のように、を使用するのではなく、文字列の長さが0であることを確認することですequals

if ( myString.length() == 0 )
{
  // is emtpy
}

実際、それisEmptyが舞台裏で行われていることです。

于 2012-05-15T19:15:17.540 に答える
3

isEmptyはAPI9で追加されました。(リファレンス

必要に応じて、アプリケーションをAPI 7に変換することもできます。必要に応じて、String.length() != 0ではなくを使用する必要があります。isEmpty();

于 2012-05-15T18:36:00.243 に答える
2

これがドキュメントです。API9以降から利用できます。あなたが言ったように、それはかなり簡単に交換できます。

于 2012-05-15T18:35:58.263 に答える
2

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なしでメソッドを呼び出すことができます

参照:

統計リファレンス

于 2012-05-15T18:38:29.717 に答える
1

レベル9以降、そこにあります。

于 2012-05-15T18:35:48.760 に答える