Android学习笔记(一)
活动(Actiity)是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用中可以包含零个或多个活动。
所有的自己写Activity都继承于Activity类。项目中的任何活动都应该改重写Activity的onCreate()方法。比如下面的FirstActivity活动:
public class FirstActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState){ Super.onCreate(savedInstanceState); } }
上面的onCreate()方法很简单,就是调用了父类的onCreate()方法,后面我们需要在里面加入很多自己的逻辑。
当我们写成一个活动(Activity)时,Android程序设计讲究逻辑和视图分离,活动最好都对应一个布局,布局就是用来显示界面内容的。
在这里可以新建一个布局文件并命名为first_layout。我们默认的布局的XML文件应该如下代码:
<?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" android:orientation="vertical" > </LinearLayout>
如果需要在布局文件中加入一个按钮(Button),则在XML文件中编辑,加入的Button布局代码如下所示:
<?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" android:orientation="vertical" > <!--添加一个Button按钮 --> <Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/app_button_1"/> </LinearLayout>
其中
android:id是给当前的元素定义一个唯一的标识符,之后在代码中可以对这个元素进行操作。(在XML中,引用一个id,就使用@id/id_name;
如果需要在XML中定义一个id,需要使用@+id/id_name)
android:layout_width指定了当前元素的宽度,这里使用match_parent表示让当前元素和父元素一样宽。
android:layout_height指定了当前元素的高度,这里使用wrap_content表示让当前元素的高度刚好包含里面的内容。
android:text指定了元素中显示的文字内容。(@string/app_button_1表示text引用是string中的app_button_1)。
这样一个简单的布局文件就编写完成了。接下来就是在活动中加载这个布局文件,重新回到FirstActivity,在onCreate()方法中加入如下代码:
public class FirstActivity extends Activity { protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //在活动中加载布局,使用setContentView()方法 setContentView(R.layout.first_layout); }
这里调用setContentView()方法来给当前的活动加载一个布局,一般都会传入一个布局文件的id。调用R.layout.first_layout就可以得到first_layout.xml布局的id,然后把这个值传入setContentView()方法即可(注意:代码中使用的R文件是自己所建包下的R文件,不要导入android包下的R文件)。
我们的布局文件写完了,也在活动(Activity)中加载了,但是还没有完成。所有的活动(Activity)都要在AndroidTestManifest.xml中进行注册才能生效。
下面的代码就是在AndroidTestManifest.xml中注册我们所写的活动(Activity):
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.gui.activitytest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".FirstActivity" android:label="this is Firstactivity" > <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
其中
android:name 指定具体注册哪一个活动。
android:lable指定活动中标题栏的内容(给主活动指定的lable不仅会成为标题栏的内容还会成为启动器(launcher)中应用程序显示的名称)。
在<activity>标签中加入了<intent-filter>标签,加入
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
这两句声明,会让FirstActivity作为程序的主活动,即打开应用图标首先打开的就是这个活动。
编写完上面的内容,我们就可以在模拟器中运行程序了。
Android学习笔记(一)的更多相关文章
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- android学习笔记36——使用原始XML文件
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- Android学习笔记之Activity详解
1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...
- Pro Android学习笔记 ActionBar(1):Home图标区
Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...
- 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...
- 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...
随机推荐
- 如何有效使用Project(2)——进度计划的执行与监控
继上次的的<编制进度计划.保存基准>继续讲解如何对计划进行执行和监控. 计划执行即:反馈实际进度.反馈工作消耗(本文只考虑工时,不考虑成本).提出计划变更请求.如果你的企业实施了专门的PM ...
- MySQL 主从热备份(读写分离)
MySQL的主从备份,听个名词很高大上,其实都是MySQL原本就实现的了,你只需要简单配置一下就可以实现. 第一步:保持主从两个数据库是同步的,最好事先手动同步一下: 第二步:停止两个数据库,分别更改 ...
- .htaccess应该放在哪里?
根据 Apache 官方的介绍,.htaccess 文件属于分布式配置文件,可以放置在网站 www 根目录的所有子目录.以及 www 根目录的上一级目录中,生效的路径总是当前目录及其所有子目录(可在文 ...
- PHP中file_put_contents追加时换行
很多时候记录日志需要换行.不建议使用\r\n,因为:在windows中\r\n是换行在Mac中\r是换行在Liunx中\n是换行 但是PHP提供了一个常量来匹配不同的操作系统,即: file_put_ ...
- 搭建mysql5.626及如何去官网下载历史版本数据库
MySQL官网下载历史版本 网上搜索MySQL官网 2 查询所有的归档文件 点击进入服务器列表 列表中默认只有Windows 版本的,可选择其它版本,但无法进行查询 查看网页元素 发现 ...
- c# windows编程控件学习-2
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- HTML5新增Canvas标签及对应属性、API详解(基础一)
知识说明: HTML5新增的canvas标签,通过创建画布,在画布上创建任何想要的形状,下面将canvas的API以及属性做一个整理,并且附上时钟的示例,便于后期复习学习!Fighting! 一.标签 ...
- asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)
//请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...
- JSP EL表达式 与输入有关的内置对象
与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数.在使用EL之前可以使用如下代码取得用户的请求参数: request.getParameter(String nam ...
- 连HTTPS都有漏洞,这么不安全的互联网我们还要继续用吗?
转载自 http://www.huxiu.com/article/45302/1.html 10月24日和25日,虎嗅君参加了GeekPwn(极棒)安全极客嘉年华活动. 嗯...说是嘉年华,其实就 ...