最近接触了Android后,发现它似曾相识,但又有一些新鲜和神奇,今天我把初识Android后通过简单界面开发对它的了解进行了如下总结:
一、项目的创建
一切从头开始,第一步必然是新建了。基本步骤:File-New-(project...)-Android Application project
然后根据提示,对项目中的各种名字、图标进行设置。
当新建一个项目后,打开Eclipse的Package Explorer中的目录,一下子就头大了,一个项目里面包含的目录有那么一大串。一遍遍梳理后,整理出它们各自的用途:
src目录:应用程序源代码
gen目录:存放R文件,该文件是项目创建时自动生成,是只读文件,存储了该项目中的所有资源的索引
Android4.2.2目录:存放Android系统提供的库
assets目录:存放应用中用到的一些媒体文件
bin目录:存放Android应用程序编译后的可执行程序
res目录:资源文件夹,存放图片、页面布局文件、文字信息
AndroidManifest.xml:功能清单文件,该文件列出了应用中所使用的所有组件
二、手机模拟器的创建
所谓手机模拟器,就是手机模型,可以帮助我们测试程序,显示代码执行结果。(最好程序启动后就打开手机模拟器,因为这个手机启动比较慢)
三、Activity
在创建项目的过程中,我们一定已经看到了activity这个词,Activity就是Android应用与用户的接口,从视觉效果来看,一个Activity占据一个窗口界面
四、老生常谈的"Hello World"好像学大多数语言的时候,我们最先接触的都是打印出"Hello World"这句话,而Android比较神奇的地方就是当我们新建一个项目的时候,就已经帮我们处理好了显示这句话的前序。
五、简单登陆界面
界面的实现有两种方式,一个是老老实实地写代码,还有一个就是直接把组件向界面里面拖。为了表示我们是专业的,在这里就多说下第一种方式。
首先设置文本信息,在Android中,所有文本信息都在res目录下的string.xml中。我们通过以下代码先设置界面中用到的文本:
<string name="app_name">myFirstApp</string>
<string name="action_settings">Settings</string>
<string name="loginTitle">登陆界面</string>
<string name="username">用户名</string>
<string name="password">密码</string>
<string name="login">登录</string>
<string name="reset">重置</string>
组件的添加就涉及到了res目录下的Layout。Android中,我们用EditText表示文本输入框,TextView表示标签,Button表示按钮,分别设置这些组件对象的属性后,嵌套地放入布局中即可。代码如下:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<!-- 登录界面标题 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="@string/loginTitle" />
<!-- 用户名 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username" />
<EditText
android:layout_width="120dp"
android:layout_height="wrap_content"
android:id="@+id/edit_username"/>
</LinearLayout>
<!-- 密码 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- 密码 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password" />
<EditText
android:layout_width="120sp"
android:layout_height="wrap_content"
android:password="true"
android:id="@+id/edit_password"/>
</LinearLayout>
<!-- 按钮 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login"
android:id="@+id/button_login"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reset"
android:id="@+id/button_reset"/>
</LinearLayout>
</LinearLayout>
需要注意的是在Android中,我们添加的每个组件和布局,都少不了要设置长和宽
六、事件监听机制
功能的实现我们在src中完成,这里已经为我们新建了一个Activity类,我们只需要重写其中的方法onCreate(Bundle bd)即可。这里的参数Bundle表示的是该活动上次的状态。要添加事件监听机制,就要先获得界面中的控件,我们可以通过组件的索引id来得到。给按钮添加监听器的方法,和我们以前学习的方法是一样的,只是函数名变成了setOnClickListener(OnClickListener onClickListener).实现的具体代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过索引获取按钮
Button button_login = (Button)findViewById(R.id.button_login);
Button button_reset = (Button)findViewById(R.id.button_reset);
//获取文本输入框
edit_username = (EditText)findViewById(R.id.edit_username);
edit_password = (EditText)findViewById(R.id.edit_password);
//向按钮上添加监听器
button_login.setOnClickListener(onClickListener);
button_reset.setOnClickListener(onClickListener);
}
//实例化监听器
OnClickListener onClickListener = new OnClickListener(){
@Override
public void onClick(View arg0) {
if(arg0.getId()==R.id.button_login){
String username = edit_username.getText().toString();
String password = edit_password.getText().toString();
System.out.println("输出用户名和密码");
Toast.makeText(MainActivity.this, "用户名:"+username+" 密码:"+password,5).show();
Intent intent = new Intent();
intent.putExtra(username, username);
}else if(arg0.getId()==R.id.button_reset){
System.out.println("清空文本框");
edit_username.setText("");
edit_password.setText("");
}
}
};
分享到:
相关推荐
本书的第二章“初识Android程序”主要涵盖了以下几个关键知识点: 1. **JDK的下载、安装与配置**:JDK(Java Development Kit)是编写Java应用程序的基础,包括了Java编译器、Java运行环境和各种开发工具。在这一...
Android开发教程_013_初识Android Manifest 标清
《Android模块化项目实战》01+初识Android+Studio写字字帖
在Android开发中,构建一个有效的开发环境是至关重要的第一步。本文将通过图文详解的方式带你深入理解Android开发环境的基本构成,并对关键概念如Activity、配置文件、布局文件、常用控件以及Intent进行详细介绍。 ...
初识Android.bp 前言 最近在捣鼓Android 9 和10的build系统,看到一篇比较好的博客,大名鼎鼎的gityuan的,奉上链接理解Android.bp,为了方便学习和更多的人看到,特意重新编辑以发扬光大使更多人看到。 一....
该文档是用于企业内部培训使用,大致介绍了android系统的历史,架构,启动流程,以及四大组件,还有一些常用的工具介绍。希望对大家有用。
在组织上,《Android系统源代码情景分析(含CD光盘1张)》将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序...
罗升阳-Android源码情景分析,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动...
, 在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动...
全书共10章,主要内容包括初识Android、搭建Android源代码编译调试环境、深入解析通话流程、详解Telecom、详解TeleService、Voice Call语音通话模型、ServiceState网络服务、Data Call移动数据业务、SMS & MMS业务...
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动...