【Android开发1-1】手动创建第一个APP:HelloWorld
2016-03-19 21:48
411 查看
首先新建一个android工程,选择不创建Activity。
新建一个layout xml file(在New--->XML中),命名为 first_activity.xml
打开这个文件,切换到代码视图,在根节点<Linearlayout>节点里面嵌套一个TextView组件,代码如下,红色为添加的TextView,
<TextView>是显示文本的一个控件,
其中定义了3个属性
android:layout_width="wrap_content" 表示它的宽度是wrap_content,即包裹内容
android:layout_height="wrap_content" 同理,是高度包裹内容,除了可以为wrap_content,还可以自己定义大小 如match_parent(填充父容器) 、10dp(自定义大小为10dp)
android:text="HelloWorld" 表示要显示在控件中的内容是HelloWorld,可以键入任意字符串。
布局建立好了,如何去让安卓手机识别、显示、并配置为主界面呢?
添加代码如下:(需要导包的要导包)
类中,重写了 OnCreate方法,用super语句拿到了父类OnCreate方法的全部内容,下面再写的代码就相当于,给父类的方法增加内容。
可以看到,我们在OnCreat方法中添加了setContentView(R.layout.firstactivity);语句,调用了setContentView方法,传入了一个R.layout.firstactivity参数,
这个参数的值就是刚刚创建的layout布局的一个标识值,就可以通过这个标识值找到刚刚创建的布局外观,并关联给FirstActivity,即创建这个Activity后,就加载这个布局文件。
内部代码写完了,一个程序那么多Activity,安卓怎么知道去调用哪一个呢?我们就需要修改一下工程配置文件AndroidManifest.xml。
首先,打开编辑 app/src/main/AndroidManifest.xml 在<application>节点里面嵌套一个<activity>节点代码(红色)
然后我们发现<activity>节点里嵌套了一个<intent-filter>节点,这个节点是一个意图过滤器,可以暂时理解为 里面包含了这个Activity所有的信息,
在<intent-filter>节点里面嵌套了一个<action>节点和一个<category>节点,里面有相应的name值,这两个节点里的属性都是非常重要的。//注意用英文解释来理解
<action>的name值为android.intent.action.MAIN,意思是说这个Activity是这个程序的主activity,即一打开这个程序就打开这个Activity。
<category>的name值为android.intent.category.LAUNCHER,意思是说这个程序的主activity,将在安卓自带的功能表里面出现。
配置好这些,我们第一个APP就制作成功了,快在模拟器上运行一下试试吧~~~关于怎么在模拟器上运行,以及如何使用真机测试,博主将在下一篇博文里提到。
一、创建布局,即外观
首先,切换到Project目录视图,在app/src/main/res/layout/文件夹中(没有layout文件夹就新建一个),新建一个layout xml file(在New--->XML中),命名为 first_activity.xml
打开这个文件,切换到代码视图,在根节点<Linearlayout>节点里面嵌套一个TextView组件,代码如下,红色为添加的TextView,
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="HelloWorld"/> </LinearLayout>
<TextView>是显示文本的一个控件,
其中定义了3个属性
android:layout_width="wrap_content" 表示它的宽度是wrap_content,即包裹内容
android:layout_height="wrap_content" 同理,是高度包裹内容,除了可以为wrap_content,还可以自己定义大小 如match_parent(填充父容器) 、10dp(自定义大小为10dp)
android:text="HelloWorld" 表示要显示在控件中的内容是HelloWorld,可以键入任意字符串。
布局建立好了,如何去让安卓手机识别、显示、并配置为主界面呢?
二、创建内部代码文件
首先,切换到Project目录视图,在app/src/main/java/(包名,一般是com.xxxx.xxxx)/文件夹中新建一个JAVA类文件,命名为FirstActivity.class添加代码如下:(需要导包的要导包)
public class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.firstactivity); } }第一行代码是创建了一个类,并继承了Android提供的Activity基类,它就具备了Activity的性质。
类中,重写了 OnCreate方法,用super语句拿到了父类OnCreate方法的全部内容,下面再写的代码就相当于,给父类的方法增加内容。
可以看到,我们在OnCreat方法中添加了setContentView(R.layout.firstactivity);语句,调用了setContentView方法,传入了一个R.layout.firstactivity参数,
这个参数的值就是刚刚创建的layout布局的一个标识值,就可以通过这个标识值找到刚刚创建的布局外观,并关联给FirstActivity,即创建这个Activity后,就加载这个布局文件。
内部代码写完了,一个程序那么多Activity,安卓怎么知道去调用哪一个呢?我们就需要修改一下工程配置文件AndroidManifest.xml。
三、修改AndroidManifest.xml文件
如果说第一步是创建layout布局,即UI,第二步是创建内部运算代码逻辑并绑定UI,那么这一步就是让安卓手机认识这个代码逻辑。首先,打开编辑 app/src/main/AndroidManifest.xml 在<application>节点里面嵌套一个<activity>节点代码(红色)
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxxx.xxxx"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@android:style/Theme.NoTitleBar"> <span style="white-space:pre"> </span><activity> <activity android:name=".FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest><activity>节点里 有一个android:name=".WelcomeActivity" 属性,这个属性是告诉安卓系统,这个.FirstActivity是一个Activity,这样安卓系统才能打开这个activity,
然后我们发现<activity>节点里嵌套了一个<intent-filter>节点,这个节点是一个意图过滤器,可以暂时理解为 里面包含了这个Activity所有的信息,
在<intent-filter>节点里面嵌套了一个<action>节点和一个<category>节点,里面有相应的name值,这两个节点里的属性都是非常重要的。//注意用英文解释来理解
<action>的name值为android.intent.action.MAIN,意思是说这个Activity是这个程序的主activity,即一打开这个程序就打开这个Activity。
<category>的name值为android.intent.category.LAUNCHER,意思是说这个程序的主activity,将在安卓自带的功能表里面出现。
配置好这些,我们第一个APP就制作成功了,快在模拟器上运行一下试试吧~~~关于怎么在模拟器上运行,以及如何使用真机测试,博主将在下一篇博文里提到。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories