Android实验二
- 格式:doc
- 大小:80.50 KB
- 文档页数:12
《移动应用开发》课程教学大纲课程编号:08152400课程名称:移动应用开发/ Mobile application development总学时/学分:48 /3 (其中理论32学时, 实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 了解Android特征,理解Android的体系结构,熟悉Android的用户界面,能够较为深入地理解Android的体系结构。
目标2. 利用Android的四大组件和组件通信等技术来表达处理程序应用问题。
目标3. 将数据存储等技术运用到综合系统开发中。
目标4. 搭建Android开发环境,能设计实现各种Android技术的应用程序,且能测试运行。
二、教学过程安排三、实验或上机内容四、课程目标达成方法五、考核标准本门课程考核包括5个部分,分别为考试、作业、实验、讨论和测验。
具体要求及评分方法如下:4、课堂讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,课堂汇报。
5、测验随堂测验,老师给出题目,学生回答。
具体有任课老师给出评分标准。
六、教材及主要参考资料[1] 仲宝才,颜德彪,刘静. Android移动应用开发实践教程.清华大学出版社,2018-9[2] 明日科技.零基础学Android,吉林大学出版社,2017年9月.[3] 王向辉,张国印,沈洁. Android应用程序开发.清华大学出版社,2016-6[4] 杨谊.喻德旷.Android移动应用开发. 人民邮电出版社;2018.4[5] 兰红,李淑芝. 21世纪高等学校计算机类课程创新规划教材:Android studio移动应用开发从入门到实战.清华大学出版社; 第1版,2018.11。
一、实验目的通过本次实验,掌握安卓常用控件的基本属性、方法和事件处理,熟悉这些控件在实际应用中的使用方法,提高对安卓界面设计的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.5.33. 手机型号:华为Mate 20三、实验内容本次实验主要涉及以下安卓常用控件:1. TextView2. EditText3. Button4. ImageView5. RadioButton6. CheckBox7. Spinner8. ListView四、实验步骤1. 创建一个新的Android项目,命名为“ControlOperation”。
2. 在布局文件activity_main.xml中添加以下控件:```xml<TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Hello World!"android:layout_marginTop="20dp" /><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content" android:hint="Enter your name" /><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Click Me!" /><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <RadioButtonandroid:id="@+id/radioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Male" /><CheckBoxandroid:id="@+id/checkbox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Subscribe to newsletter" /><Spinnerandroid:id="@+id/spinner1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/countries" /><ListViewandroid:id="@+id/listView1"android:layout_width="match_parent"android:layout_height="wrap_content" />```3. 在strings.xml文件中添加以下字符串资源:```xml<string name="app_name">Control Operation</string> <string name="enter_name">Enter your name</string> <string name="click_me">Click Me!</string><string-array name="countries"><item>China</item><item>USA</item><item>Japan</item></string-array>```4. 在MainActivity.java文件中添加以下代码:```javaimport android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.ScrollView;import android.widget.TextView;import android.widget.CheckBox;import android.widget.Spinner;import android.widget.ListView;import android.widget.ArrayAdapter;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private TextView textView1;private EditText editText1;private Button button1;private ImageView imageView1;private RadioButton radioButton1;private CheckBox checkBox1;private Spinner spinner1;private ListView listView1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);textView1 = findViewById(R.id.textView1);editText1 = findViewById(R.id.editText1);button1 = findViewById(R.id.button1);imageView1 = findViewById(R.id.imageView1);radioButton1 = findViewById(R.id.radioButton1);checkBox1 = findViewById(R.id.checkbox1);spinner1 = findViewById(R.id.spinner1);listView1 = findViewById(R.id.listView1);ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this,R.array.countries, yout.simple_spinner_item);adapter.setDropDownViewResource(yout.simple_spinner_dropdown _item);spinner1.setAdapter(adapter);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = editText1.getText().toString();Toast.makeText(MainActivity.this, "Hello " + name, Toast.LENGTH_SHORT).show();}});radioButton1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "You selected Male", Toast.LENGTH_SHORT).show();}});checkBox1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (checkBox1.isChecked()) {Toast.makeText(MainActivity.this, "You subscribed to the newsletter", Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "You unsubscribed from the newsletter", Toast.LENGTH_SHORT).show();}}});}}```5. 运行程序,观察效果。
安卓实验报告Android是目前全球最为流行的操作系统之一,其强大的应用程序生态系统和广泛的设备兼容性使得安卓成为开发者和用户的首选。
本文将介绍我在安卓实验中进行的一系列任务和实验结果。
实验一:安装开发环境在进行安卓开发之前,我们首先需要安装必要的开发环境。
我使用的是Android Studio,这是谷歌官方提供的开发工具,具有强大的功能和友好的用户界面。
通过安装Android Studio,我成功搭建了安卓开发环境,并进行了一些基本的配置。
实验二:创建第一个安卓应用程序根据老师的指导,我按照步骤成功创建了我的第一个安卓应用程序。
我选择了一个简单的计算器应用程序作为开始,它可以实现基本的加法和减法功能。
通过这个实验,我学会了使用Android Studio的界面设计工具和编写基本的Java代码。
实验三:UI设计和布局在这个实验中,我学习了安卓应用程序的用户界面设计和布局。
我使用了安卓提供的各种布局方式,如线性布局、相对布局和帧布局等,来设计和展示应用程序的不同界面。
通过这个实验,我对安卓界面设计的原则和技巧有了更深入的理解。
实验四:应用程序调试与测试在开发过程中,调试和测试是非常重要的环节。
通过Android Studio提供的调试工具,我能够针对应用程序中的问题进行定位和修复。
我还学会了使用模拟器和真机进行应用程序的测试,以确保应用程序的功能和稳定性。
实验五:数据库操作在这个实验中,我学习了如何在安卓应用程序中使用数据库。
我使用了SQLite数据库来存储和管理应用程序的数据。
通过编写SQL语句,我能够进行数据的插入、查询、更新和删除等操作。
这为我今后的应用程序开发提供了非常有用的技能。
总结:。
实验1 搭建开发环境与第1个Android程序【实验目的】1.熟悉Android开发环境的搭建2.掌握用Eclipse开发Android程序的流程【实验内容】一、搭建Android开发环境按照下面的步骤,完成Android环境的搭建。
1.1 JDK的安装及配置1.根据电脑的系统位数安装软件包里的JDK,安装目录设置为d:\jdk1.x。
(d为你的安装盘,可以设为任意盘;x为你安装的jdk版本)2. WIN7系统环境变量设置(1)环境变量设置一(2)环境变量设置二(3)环境变量设置三(4)环境变量设置四1)创建新的环境变量。
名:JA V A_HOME,值:x:\jdk1.72)修改系统变量Path,在path变量值前添加这段:%JA V A_HOME%\bin;3)修改系统变量classpath,值为:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;(5)环境变量设置五1)测试开发环境。
在开始->搜索程序和文件里输入cmd.exe,打开cmd。
输入cd c:\ 命令进入c盘根目录。
2)在c盘根目录下使用记事本编写源文件,并存为java文件。
public class MyApp {public static void main (String[] args) {System.out.println(“我能学好Java语言!”);} }3)使用javac命令编译程序,在cmd命令行输入:javac MyApp.java生成class类型文件。
4)使用java命令运行程序,在cmd命令行输入:java MyApp如果在命令行显示结果“我能学好Java语言!”,则JDK环境配置成功。
1.2 Android SDK的安装及配置1. 解压adt-bundle-windows-x86_64-20131030.zip文件,里面的SDK是免安装版。
学年第 2 学期实验报告课程名称Android 应用编程系(部)专业班级电子信息科学与技术学生姓名学生学号1 实验过程记录1.1 Android开发平台的搭建及相关配置1.1.1准备所需工具1)因为Android程序是用Java语言编写的,故在准备阶段需要安装Java语言开发平台--JDK。
JDK:JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库等内容。
2)Android SDK。
Android SDK是谷歌提供的Android开发工具包,在开发Android程序时,须通过引入该工具包来使用Android相关的API。
3)Android Stdio。
1.1.2 搭建开发环境1)到Android官网下载最新开发工具。
2)下载完成后解压缩,打开安装包,因无特殊要求即选择开发环境默认值即可。
一直点击Next,其中在安装开发环境所需要的组件时将所有组件的复选框全部打勾。
如下图所示:图1.1 组件选择图因为每台电脑在不没有人为改变系统硬盘的情况下其系统盘基本为C盘,当系统盘内文件较多时容易造成电脑运行卡慢,电脑程序打开较慢,严重情况会出现电脑死机的情况,故在选择Android Stdio的安装地址以及Android SDK的安装地址时,我首先选择了D盘,如图1.2所示。
图1.2 安装地址选择接下来安装步骤中,保持默认值即可,一直点击Next完成安装,如图1.3所示。
图1.3 安装完成接下来点击Finish按钮来启动Android Stdio,初始时软件会出现选择对话框让自己选择是否导入Android Stdio之前版本的配置,因为首次安装Android Stdio 故笔记本上面没有其最早版本,在此步骤中我选择不导入,如图1.4所示。
图1.4 选择不导入配置点击OK 会进入Android Stdio的配置界面,如图1.5所示。
图1.5 Android Stdio的配置界面然后点击Next进行具体的配置,我们可以选择Android Stdio 的具体安装类型,现有安装类型有两种即Standard 和 Custom 两种。
《Android移动应用开发》实验指导书课程代码:总课时数:适用专业:院(系)名称:实验一深入理解Activity目标(1)掌握Activity的开发、配置和使用。
(2)掌握Intent的几种常用的属性。
(3)Android系统内置Intent的使用。
(4)了解Activity的生命周期实验软、硬件环境硬件:PC电脑一台;配置:winxp或win7系统,内存大于4G,硬盘250G及以上JDK1.7 、Eclipse、ADT、Android SDK实验主要技术基础(1)活动是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。
(2)Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
任务:1、请在AndroidManifest.xml文件中配置SecondActivity;配置Intent的Action属性为com.sise.intent.action.JHY_ACTION。
配置Category属性为com.sise.intent.category.JHY_CATEGORY通过隐式Intent的使用从FirstActivity,编写代码,运行程序,预期效果启动SecondActivity如下所示。
图1 程序运行初始化界面 图2 点击图1中的按钮后的运行结果。
传递数据到SecondActivity,并使用Intent从FirstActiv2、请使用显式Intent启动SecondActivity编写代码,运行程序,预期效果如下所示。
图1 程序运行初始化界面图2 点击图1中的按钮后的运行结果3、使用Intent传递数据从SecondActivity返回数据到FirstActivity中去。
编写代码,运行程序,预期效果如下所示。
图1 程序运行初始化界面图2 点击图1按钮运行结果图3 点击图2按钮运行结果实验方法与步骤(1)创建活动Activity是Android系统提供的一个活动基类所有的活动都必须直接或间接继承此类才能拥有活动的特性。
android应用开发实验报告Android应用开发实验报告引言:随着智能手机的普及,移动应用的需求也越来越大。
作为目前最主流的移动操作系统之一,Android平台的应用开发变得越来越重要。
本实验报告将介绍我在Android应用开发实验中所学到的知识和经验,以及我开发的一个简单应用的过程和成果。
一、实验背景移动应用开发已经成为互联网行业的热门方向之一。
Android平台作为全球最大的移动操作系统之一,具有广泛的用户基础和开放的生态系统,因此学习和掌握Android应用开发技术对于未来的职业发展非常有帮助。
二、实验目的通过本次实验,我希望能够掌握Android应用开发的基本流程和技术,包括应用的界面设计、交互逻辑的实现以及与后台服务的通信等。
同时,我也希望能够培养自己的创新思维和解决问题的能力。
三、实验过程1. 环境搭建在开始实验之前,我首先需要搭建好Android开发环境。
我下载并安装了Android Studio,这是官方推荐的Android开发工具,提供了丰富的开发工具和模拟器来辅助开发。
2. 学习基础知识在进入实际开发之前,我花了一些时间学习Android应用开发的基础知识,包括Java编程语言、XML布局文件的编写以及Android应用的生命周期等。
这些基础知识为我后续的实际开发打下了坚实的基础。
3. 设计应用界面在设计应用界面时,我首先考虑了用户的使用习惯和界面的美观度。
我使用Android Studio提供的可视化界面编辑器,通过拖拽和调整组件的位置和属性,设计出了一个简洁而实用的界面。
4. 实现交互逻辑应用的交互逻辑是实现应用功能的核心部分。
我使用Java语言编写了一些代码,实现了用户与应用之间的交互逻辑。
例如,当用户点击一个按钮时,应用会执行相应的操作,并显示结果给用户。
5. 与后台服务通信现在的应用很少能够独立完成所有功能,往往需要与后台服务进行通信。
我使用了Android提供的网络通信库,编写了一些代码,实现了与后台服务的数据交互。
智能手机软件开发技术实验指导书吉林大学珠海学院计算机科学与技术系2012.03目录实验一熟悉Android开发环境 (3)一、实验目的 (3)二、实验内容 (3)三、思考练习 (8)实验二 Hello World程序 (8)一、实验目的 (8)二、实验内容 (8)三、思考练习 (13)实验一熟悉Android开发环境一、实验目的掌握Android开发环境的搭建方法,掌握创建Android项目的方法,掌握Android 模拟器的使用。
二、实验内容1、Android开发环境的搭建这里介绍两种搭建Android开发环境的方法:一种是直接从网上下载SDK安装,一种是复制已经安装好的SDK目录进行配置。
第一种方法有以下步骤:⏹安装JDK 1.6,Eclipse和Android SDK的运行都依赖于JDK;⏹安装Eclipse 3.6,Eclipse是进行Android开发的IDE;⏹安装Android开发插件ADT,这样才可以用Eclipse创建Android工程;⏹安装Android SDK,它是开发Android的工具包;⏹配置SDK目录,如下图;⏹创建模拟器,如下图;⏹设置环境变量,在Path变量中添加JDK bin文件的路径如:C:\ProgrameFiles\java\jdk1.6.0_11\bin,在Path变量中添加SDK tools文件的路径如:D:\Android\android-sdk\tools,在Path变量中添加SDK platform-tools文件的路径如:D:\Android\android-sdk\platform-tools。
第二种方法有以下步骤:⏹安装JDK 1.6,Eclipse和Android SDK的运行都依赖于JDK;⏹对Eclipse安装包进行解压缩;⏹复制别处已经安装成功的Android SDK安装文件夹⏹配置SDK目录;⏹创建模拟器;⏹设置环境变量。
2、创建第一个Android项目创建Android项目的步骤如下:1、在Eclipse中选择“File”>“New”>“Android Project”,在弹出的对话框中进行如下设置:⏹Project name:HelloWorld⏹Build Target:Android 2.1⏹Application name:Hello World⏹Package name:org.example.hello⏹Create Activity:Hello⏹Min SDK Version:72、点击“Finish”完成创建。
安卓数据存储实验报告一、实验背景在当今移动应用开发中,数据存储是一个至关重要的环节。
安卓系统提供了多种数据存储方式,以满足不同应用场景和数据需求。
为了深入了解安卓数据存储的机制和性能,进行了本次实验。
二、实验目的本次实验的主要目的是:1、比较安卓系统中不同数据存储方式(如内部存储、外部存储、SQLite 数据库、SharedPreferences 等)的性能和特点。
2、探究在不同数据量和操作频繁程度下,各种存储方式的效率和稳定性。
3、为实际应用开发中选择合适的数据存储方式提供依据。
三、实验环境1、操作系统:Android 112、开发工具:Android Studio 423、测试设备:_____ 手机四、实验内容(一)内部存储内部存储是应用私有存储空间,其他应用无法直接访问。
在实验中,通过文件输入输出流进行数据的读写操作。
创建了文本文件来存储简单的字符串数据,并进行了多次读写测试。
(二)外部存储外部存储分为公共外部存储和私有外部存储。
公共外部存储可被其他应用和用户访问,私有外部存储则只有本应用可以访问。
测试了在不同外部存储区域写入和读取大文件的性能。
(三)SQLite 数据库SQLite 是安卓中常用的轻量级数据库。
创建了数据库表,进行了数据的插入、查询、更新和删除操作,同时观察了数据库操作的时间消耗和资源占用情况。
(四)SharedPreferencesSharedPreferences 适用于存储少量的键值对数据。
对其进行了读写操作,并测试了在多线程环境下的并发访问性能。
五、实验步骤1、准备测试数据,包括不同大小和类型的数据,如文本、图片等。
2、分别使用上述四种数据存储方式对测试数据进行存储和读取操作。
3、记录每次操作的时间、内存使用等性能指标。
4、对相同的数据量和操作,改变操作的频繁程度,重复实验步骤2 和 3。
六、实验结果与分析(一)内部存储在小数据量和操作不频繁的情况下,内部存储的读写速度较快。
第1篇一、实验目的1. 熟悉安卓开发环境及工具的使用。
2. 掌握安卓应用程序的基本开发流程。
3. 学习安卓界面设计、布局、事件处理等基本技能。
4. 提高编程能力及团队协作能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.53. 编程语言:Java4. 虚拟机:Android 9.0 (Pie)三、实验内容1. 创建安卓项目2. 设计界面3. 编写功能代码4. 测试与调试四、实验步骤1. 创建安卓项目(1)打开Android Studio,点击“Start a new Android Studio project”;(2)选择“Empty Activity”模板,点击“Next”;(3)输入项目名称、保存位置等信息,点击“Finish”;(4)在项目目录中,找到MainActivity.java文件,修改其中的代码,以实现特定功能。
2. 设计界面(1)打开res/layout/activity_main.xml文件;(2)使用布局编辑器设计界面,添加控件(如Button、EditText等);(3)设置控件的属性(如文本、颜色、大小等)。
3. 编写功能代码(1)在MainActivity.java文件中,编写代码实现功能;(2)例如,编写按钮点击事件,实现数据计算、页面跳转等操作。
4. 测试与调试(1)在Android Studio中,点击“Run”按钮,启动模拟器或连接真机进行测试;(2)观察程序运行效果,如有问题,进行调试;(3)根据需要,修改代码,直至程序正常运行。
五、实验结果与分析1. 实验结果本次实验成功创建了一个安卓应用程序,实现了简单的功能,如按钮点击事件、页面跳转等。
2. 实验分析(1)在创建安卓项目时,熟悉了Android Studio的使用,掌握了项目结构及文件管理方法;(2)在设计界面时,学会了使用布局编辑器,掌握了常用控件的属性设置;(3)在编写功能代码时,学习了Java编程语言的基本语法,掌握了事件处理及页面跳转等操作;(4)在测试与调试过程中,提高了问题定位及解决能力。
实验报告班级:130708 姓名:霍俊丽学号:20134070338 实验名称:把实验二教务管理系统组件具有的共性的属性抽取到样式文件中去,在布局文件中使用定义的样式。
实验目的:1.掌握样式和主题的定义和使用方法。
主要程序:MainActivity.javapackage .Huohuo;import .Huohuo.bean.product;import .Huohuo_database.productHelper; import com.example.HFF_Android.R;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase; import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener; import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class DeleteActivity extends Activity {private EditText delete_product_type;private TextView after_delete_product_info;private Button product_delete;private Button product_delete_all;private String delete_type;private productHelper helper;protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.activity_delete_product);product_delete = (Button)findViewById(R.id.bt_product_delete);product_delete_all = (Button)findViewById(R.id.bt_product_delete_all);helper = new productHelper(this, "product.db", null,4);product_delete_all.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubview();delete_all();}});product_delete.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubview();delete_by_type();search();}});}private void view(){delete_product_type = (EditText)findViewById(R.id.et_delete_product_type);after_delete_product_info = (TextView)findViewById(_after_delete_product_info);delete_type=delete_product_type.getText().toString();}private void search() {SQLiteDatabase db=helper.getWritableDatabase();//Cursor cursor= db.rawQuery("select * from p1",null);Cursor cursor=db.query("product",null,null, null, null, null, null);after_delete_product_info.setText("");while(cursor.moveToNext()){product p=new product();Stringtype=cursor.getString(cursor.getColumnIndex("type"));p.setType(type);Stringname=cursor.getString(cursor.getColumnIndex("name"));p.setName(name);Stringproducer=cursor.getString(cursor.getColumnIndex("producer"));p.setProducer(producer);Stringprice=cursor.getString(cursor.getColumnIndex("price"));p.setPrice(price);after_delete_product_info.setText(after_delete_product_info.getText() +p.toString());}cursor.close();db.close();}private void delete_all(){SQLiteDatabase db=helper.getWritableDatabase();db.delete("product",null,null);db.close();Toast.makeText(DeleteActivity.this,"删除成功", 1).show();}private void delete_by_type(){if(!delete_product_type.getText().toString().equals(null)){SQLiteDatabase db=helper.getWritableDatabase();db.delete("product","type=? or name=?",new String[]{delete_type,delete_type});Toast.makeText(DeleteActivity.this,"删除成功", 1).show();}else{Toast.makeText(DeleteActivity.this,"请按要求填写内容", 1).show();}}}activity_main.xml<RelativeLayoutxmlns:android="/apk/res/android"xmlns:tools="/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=".MainActivity" ><LinearLayoutandroid:id="@+id/regist_username"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_marginTop="22dp"android:orientation="horizontal"><TextViewstyle="@style/mystyle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="right"android:paddingRight="5dp"android:text="用户名:" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入您的用户名"android:textSize="15sp"/></LinearLayout><LinearLayoutandroid:id="@+id/regist_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@+id/regist_username"android:layout_centerHorizontal="true"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_marginTop="5dp"android:orientation="horizontal"><TextViewstyle="@style/mystyle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="right"android:paddingRight="5dp"android:text="密码:" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入您的密码"android:inputType="textPassword"android:textSize="15sp"/></LinearLayout><RadioGroupandroid:id="@+id/radioGroup"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/regist_password"android:layout_marginLeft="30dp"android:contentDescription="用户类别"android:orientation="horizontal"><RadioButtonandroid:id="@+id/radioTeacher"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="教师"></RadioButton><RadioButtonandroid:id="@+id/radioStudent"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@+id/button1"android:layout_alignTop="@+id/radioGroup"android:checked="true"android:text="学生" /></RadioGroup><Buttonandroid:id="@+id/button1"android:layout_width="55dp"android:layout_height="40dp"android:layout_alignRight="@+id/regist_password"android:layout_below="@+id/radioGroup"android:layout_marginRight="53dp"android:text="重置"android:textSize="15sp" /><Buttonandroid:id="@+id/button2"android:layout_width="55dp"android:layout_height="40dp"android:layout_alignBaseline="@+id/button1"android:layout_alignBottom="@+id/button1"android:layout_alignLeft="@+id/radioGroup"android:text="登陆"android:textSize="15sp" /></RelativeLayout>运行截图:实验总结更好的掌握了样式和主题的定义和使用方法。