完成這個任務,首先須要瞭解Android應用程序文件的組成:html
public final class R { public static final class attr{ ... } public static final class drawable{ ... } public static final class layout{ ... } public static final class string{ ... } }
這個文件將使程序中資源的使用變得更加方便。因爲這個文件不能被手動編譯,因此當咱們在項目中加入新的資源時,只須要刷新一下該項目便可。java
注意:在後面編寫程序時可能會出現「沒法找到R類」這樣的錯誤,極可能是編譯出現了問題。但具體狀況還要具體分析。能夠參考博客Android Studio中R文件丟失的解決辦法android
對於這個任務,咱們只須要將佈局文件activity_main.xml中相應的內容稍作修改:網絡
將其中的android:text="Hello World!"
改成android:text="Hello World!\n\t20155303"
便可。app
運行結果以下:框架
Android Stuidio調試應用程序的方法和普通的java程序調試方法相似。除此以外,須要注意的一點是,可使用日誌工具調試程序,很是簡便。ide
調試過程以下:Tools->Android->Android Device Monitor工具
返回目錄
佈局
@Override public boolean onTouch(View arg0, MotionEvent event) { Intent intent = new Intent(this, ThirdActivity.class); intent.putExtra("message", "20155303狄唯佳"); startActivity(intent); return true; }
在物理機上運行結果如圖:學習
activity_main示例以下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.dragon.toast.Main"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="20155303狄唯佳" android:id="@+id/btn1" android:layout_alignParentTop="true" android:layout_marginTop="31dp" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
MainActivity.java示例以下:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnshow1 = (Button) findViewById(R.id.btn1); btnshow1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Toast toast = Toast.makeText(MainActivity.this,"20155303狄唯佳", Toast.LENGTH_LONG); toast.show(); } });
在物理機上演示結果以下:
- 注意:
- Android中官方建議的屏幕適配方式,經過根據不一樣的分辨率在工程的res文件夾下創建不一樣的尺寸文件夾,每一個文件夾下都創建dimens.xml文件。而後根據不一樣的尺寸在dimens.xml文件夾中分別計算配置不一樣的dp或者sp單位。
- 若是直接複製上面的代碼,@dimen/activity_vertical_margin
是紅色的。@dimen/activity_vertical_margin
values文件夾下面的dimens文件裏面有一個name叫作activity_vertical_margin
的項,咱們沒有建立dimens文件夾,因此會提示找不到。
- 這個項裏面值是android:paddingBottom
的值。若是咱們想設定邊距能夠寫爲:android:paddingBottom="20dp"
。不過這種寫法不太建議,正規開發的規範寫法是把尺寸放入dimens文件中。
P290是一個幀佈局的示例,那麼咱們就以這個爲例進行具體說明。
好比我修改的結果以下(內容較少,因此我就沒有使用layout_gravity屬性來控制其在父控件中的位置):
<TextView android:id="@+id/tv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="50sp" android:textColor="#000000" android:text="20155303"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="40sp" android:textColor="#ffff00" android:text="狄唯佳"/>
查看xml文件,這樣就獲得瞭如下效果:
以課本P298爲例,代碼以下:
int counter = 0; int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN, Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY, Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it // is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } public void changeColor(View view) { if (counter == colors.length) { counter = 0; } view.setBackgroundColor(colors[counter++]); }
當用戶按下(或觸碰)時鐘的時候,會調用該方法並接受時鐘對象。要修改時鐘的顏色,須要調用其setBackgroundColor方法,傳入一個顏色對象,從而實現觸碰時鐘改變顏色。
在物理機上運行結果以下:
婁老師以前說過,「知識能造成結構,有融會貫通的感受,才能體會到學習的樂趣,困難的事情也會越作越容易」。對這句話的理解也在學習的過程當中不斷加深。各個未知的知識領域之間的關係錯綜複雜,初學者老是拘泥於一個點而不是整個網絡。若是理清學科之間的關係,不但對單個領域有了更加深刻全面的認識,最重要的是能觸類旁通,舉一反三。這樣一來,知識體系的寬度和深度都有了質的提高。
最後一點小小的感想...每一次都在本該嚴肅的技術博客中附上學習的心路歷程,分享過愉悅也記錄過迷茫,博客儼然成了個人心情全紀實…哈哈:)...不過回頭看看,這個學期真的收穫不少,但願本身可以繼續保持這種狀態,一點一點進步吧~