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

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

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

     MyActivity.java      ---------------      package com.example.app;           import android.app.Activity;      import android.os.Bundle;           public class ExampleActivity extends Activity {            @Override       public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(new MyDrawView(this));           }            }           MyDrawView.java      ---------------      package com.example.all;           import android.content.Context;      import android.graphics.Canvas;      import android.graphics.Color;      import android.graphics.Paint;      import android.view.View;           public class MyDrawView extends View {              public MyDrawView(Context context) {         super(context);       }              protected void onDrawView(Canvas canvas) {         Paint paint = new Paint();         paint.setColor(Color.GREEN);         paint.setTextSize(25);         paint.setAntiAlias(true);         canvas.drawText("Hello World", 5, 30, paint);       }             }     
Построение и развертывание приложения производятся правильно. Какие ошибки в коде приведут к тому, что текст НЕ будет отображаться полностью?

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

Варианты ответа
MyDrawView должен быть расширением SurfaceView
в методе setContentView() должна быть ссылка на значение из R.java
в MyDrawView должен быть включен метод onDrawStart()
к super.onDraw(canvas) необходимо обращаться из onDrawView()
вместо onDrawView() должно быть onDraw()(Верный ответ)
Похожие вопросы
     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 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?
     public class MyActivity extends Activity implements OnClickListener {       @Override       public void onCreate(Bundle savedInstanceState) {       setContentView(R.layout.main);       }     }    
Какая проблема проиллюстрирована с помощью данного кода?
     public class CustomerDBHelper extends SQLiteOpenHelper {      CustomerDBHelper(Context context) {        super(context, "CustomerDatabase", null, 1);       }           @Override      public void onCreate(SQLiteOatabase db) {        db.execSQL("CREATE TABLE customers (lastName TEXT);");       }     }    
Почему данный класс НЕ может быть скомпилирован?
     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);       }      }    
Как проверить, что действие запущено, когда пользователь выполняет поиск в виджете?
 <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>        
Почему данные на выходе некорректны?
     <?xml version="1.0" encoding="utf-8"?>     <transition      xmlns:android="http://schemas.android.com/apk/res/android" >       <item android:drawable="@drawable/myLogo1" />      <item android:drawable="@drawable/myLogo2" />     </transition>        
Перемещение за 1 секунду в коде класса View осуществляется с помощью:
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);    } }}        
Нужно сохранить входящие телефонные номера. Какая строка кода должна быть на месте комментария?