Layout dinâmico vs XML no Android?

Eu sou novo no desenvolvimento do Android e comecei a criar minha própria interface do usuário. Eu vejo que você pode criar dinamicamente algo assim (Layouts Dinâmicos):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView sv = new ScrollView(this);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    sv.addView(ll);
    TextView tv = new TextView(this);
    tv.setText("Name");
    ll.addView(tv);
    EditText et = new EditText(this);
    ll.addView(et);
    Button b = new Button(this);
    b.setText("Ok");
    ll.addView(b);
}

mas também vejo que o netbeans tem um arquivoRecursos-> layout-> main.xml. Então você pode criar um layout XML para a interface do usuário (Declarando o layout XML):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Hello World, AndroidTest"
    />
</LinearLayout>

Então, minha pergunta é qual devo usar? o que é recomendado e quais são os prós / contras dos layouts dinâmicos versus XML no desenvolvimento do Android?

questionAnswers(7)

yourAnswerToTheQuestion