База ответов ИНТУИТ

Разработка приложений для Android 4.0

<<- Назад к вопросам

 public class greeter {  public String buildGreeting(String firstName) {   String greetingl = "Hello, ";   String greeting2 = ", and welcome to the application!";   return greetingl + firstName + greeting2;   }    public StringBuffer getGreeting{String firstName) {   StringBuffer sb = new StringBuffer();    sb.append(buildGreeting(firstName));    return sb;  } }    
Как вызвать метод getGreeting(), не создавая временных объектов?

(Отметьте один правильный вариант ответа.)

Варианты ответа
использовать более эффективный класс ParallelStringBuffer вместо StringBuffer
использовать шаблоны в методе buildGreeting() вместо сложения строк
изменить параметры доступа к buildGreeting(), для того чтобы объекты можно было добавлять напрямую в класс StringBuffer(Верный ответ)
использовать лямбда выражение, для того чтобы контекст выполнялся в стеке, а не в очереди
сделать все аргументы метода конечными и создать их копии, чтобы работать в обоих методах одновременно
Похожие вопросы
 <permission-group android:description="@string/groupNetwork"  android:icon="@drawable/networkIcon" android:label="@string/groupNetworkLabel" android:name="@string/groupNetwork" />    
Для чего предназначен код?
public class MyPhoneReceiver extends BroadcastReceiver {  @Override  public void onReceive(Context context, Intent intent) {  Bundle extras = intent.getExtras();  if (extras != null) {   String state = extras.getString(TelephonyManager.EXTRA_STATE);   if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {    // INSERT CODE HERE    Log.w("DEBUG", phoneNumber);    } }}        
Нужно сохранить входящие телефонные номера. Какая строка кода должна быть на месте комментария?
     public class MainActivity extends Activity {       @Override       public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedlnstanceState) ;       setContentView(R.layout.main);       getLoaderManager().initLoader(0, null, this);       }      @Override       public Loader<Cursor> onCreateLoader(int id, Bundle args) {       // Create and return a new Loader       }      }     
Что надо добавить в исходный код, чтобы метод onCreateLoader выполнялся при создании нового объекта класса Loader?
     // onCreate() method from your searchable Activity class     @Override     public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.search);       Intent intent = getIntent();       if (Intent.ACTION_SEARCH.equals(intent.getAction())) {      String query = intent.getStringExtra(SearchManager.QUERY);       doMySearch(query);       }      }    
Как проверить, что действие запущено, когда пользователь выполняет поиск в виджете?
     public class MainActivity extends Activity {       @Override       public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedlnstanceState) ;       setContentView(R.layout.main);       getLoaderManager().initLoader(0, null, this);       }      @Override       public Loader<Cursor> onCreateLoader(int id, Bundle args) {       // Create and return a new Loader       }      }     
Как убедиться что onCreateLoader() запускается, когда нужен новый Loader?
 <xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.company.app">  <uses-sdk android:minSdkVersion="8" />  <application   android:icon="@drawable/ic1_launcher"   android:label="@string/app1_name" >   <activity android:label=@string/app1_name"    android:name=".MainActivity" >    <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.LAUNCHER" />    </intent-filter>   </activity>  </application>  <application   android:icon="@drawable/ic2_launcher" android:label="App#2" >   <activity android:label="App#2" android:name=".MainActivity" >    <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.LAUNCHER" />    </intent-filter>   </activity>   </application> </manifest>        
Почему данные на выходе некорректны?
     public class MyCustomViewView extends View {      private Paint mTextPaint;      private String mText;      private int mAscent;           public MyCustomViewView(Context context, AttributeSet attrs) {        super(context, attrs);       mTextPaint = new Paint();       mTextPaint.setAntiAlias(true);        mTextPaint.setTextSize(         16 * getResources().getDisplayMetrics().density       );       mTextPaint.setColor(0xFF000000);       setPadding(3, 3, 3, 3);       mAscent = (int) mTextPaint.ascent();       TypedArray a = context.obtainStyledAttributes(         attrs, R.styleable.MyCustomViewView       );       CharSequence s = a.getString (R.styleable.text);       this.mText = s.toString();       invalidate();       requestLayout();       a.recycle();        }              @Override      protected void onDraw(Canvas canvas) {        super.onDraw(canvas);       canvas.drawText(         mText, getPaddingLeft(), getPaddingTop() - mAscent, mTextPaint       );       }     }        
Какого размера будет изображение?
     1: public class ProgressTestActivity extends Activity {     2:     3:   private Handler handler;     4:   private ProgressBar progress;     5:     6:   @Override     7:   public void onCreate{Bundle savedInstanceState) {     8:   super.onCreate(savedInstanceState);     9:   setContentView(R.layout.main);     10:  progress = (ProgressBar)findViewById(R.id.progressBar);     11:  handler = new Handler();     12:  }     13:     14:  public void startProgress(View view) {     15:  Runnable runnable = new Runnable() {     16:   @Override     17:   public void run() {     18:    for (int i = 0; i <= 10; i++) {     19:     final int value = i;     20:     try {     21:      Thread.sleep(2000);     22:     } catch {InterruptedException e) { }     23:     handler.post(new Runnable() {     24:      @Override     25:      public void XXX() {     26:       progress.setProgress(value);     27:      }     28:     });     29:    }     30:   }     31:  };     32:      new Thread(runnable).start();     33:     }     34:  }        
Какой метод заменит XXX в 25-й строке, для того чтобы progress bar периодически обновлялась?
     public class MyActivity extends Activity implements OnClickListener {       @Override       public void onCreate(Bundle savedInstanceState) {       setContentView(R.layout.main);       }     }    
Какая проблема проиллюстрирована с помощью данного кода?
     // This method comes from an Activity class.      public void onClick(View v) {       new Thread(new Runnable () {        public void run() {        Bitmap b = loadImageFromNetwork("http://example.com/image.png");        mImageView.setImageBitmap(b);        }       }).start();      }        
Почему код не осуществляет ожидаемых действий?