完成这个任务,首先须要了解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方法,传入一个颜色对象,从而实现触碰时钟改变颜色。
在物理机上运行结果以下:
娄老师以前说过,“知识能造成结构,有融会贯通的感受,才能体会到学习的乐趣,困难的事情也会越作越容易”。对这句话的理解也在学习的过程当中不断加深。各个未知的知识领域之间的关系错综复杂,初学者老是拘泥于一个点而不是整个网络。若是理清学科之间的关系,不但对单个领域有了更加深刻全面的认识,最重要的是能触类旁通,举一反三。这样一来,知识体系的宽度和深度都有了质的提高。
最后一点小小的感想...每一次都在本该严肃的技术博客中附上学习的心路历程,分享过愉悦也记录过迷茫,博客俨然成了个人心情全纪实…哈哈:)...不过回头看看,这个学期真的收获不少,但愿本身可以继续保持这种状态,一点一点进步吧~