ANDROID实验报告组件布局

合集下载

安卓控件的操作实验报告

安卓控件的操作实验报告

一、实验目的通过本次实验,掌握安卓常用控件的基本属性、方法和事件处理,熟悉这些控件在实际应用中的使用方法,提高对安卓界面设计的理解和应用能力。

二、实验环境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. 运行程序,观察效果。

Andriod应用开发实验报告

Andriod应用开发实验报告

Andriod应用开发的实作报告一、实现功能描述响应式布局就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。

这个概念是为解决移动互联网浏览而诞生的。

使用Bootstrap来实现响应式布局,根据浏览者使用的浏览工具来进行变化从而达到浏览效果,实现一个响应式布局解决移动互联网浏览面对不同分辨率的设备灵活性。

二、实现技术Css、html、bootstraphtml实现页面的塔建。

css实现页面样式布局。

bootstrap实现页面响应式布局。

Bootstrap 提供了一个带有网格系统、链接样式、背景的基本结构。

三、实现的布局分析将页面划分为三个部分,分别是头部、主内容区、页脚和底部、用栅格系统写主内容的左边部分和右边部分,栅格系统默认左边占8格右边占4格以达到最佳效果,主内容的左边部分和右边部分都是一个元素。

整个布局中的一些小图标和二维码等需要截图保存,在代码中应用"img/logo.jpg"插入。

四、实现细节响应式布局网站必须是一个标签。

1、利用html搭建网页页面,需要四个div来整体布局四部分。

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JAVA学习空间</title></head><body><div class="container" id="top"></div><div class="collapse navbar-collapse"id="bs-example-navbar-collapse-1"></div><div class="container-fluid" id="my_content"></div><div class=”class="boottom”></div><script type="text/javascript"src="bootcss/js/jquery-3.4.1.min.js"></script><script type="text/javascript"src="bootcss/js/bootstrap.min.js"></script></body></html>(1)主内容区内容运用格栅系统分左边和右边,只需两个div(2)右侧内容需要用<div class=”clearfix”></div>清除漂浮(3)页脚的分页处理(4)底部2、利用css优化网页结构。

安卓实验报告

安卓实验报告

安卓实验报告Android是目前全球最为流行的操作系统之一,其强大的应用程序生态系统和广泛的设备兼容性使得安卓成为开发者和用户的首选。

本文将介绍我在安卓实验中进行的一系列任务和实验结果。

实验一:安装开发环境在进行安卓开发之前,我们首先需要安装必要的开发环境。

我使用的是Android Studio,这是谷歌官方提供的开发工具,具有强大的功能和友好的用户界面。

通过安装Android Studio,我成功搭建了安卓开发环境,并进行了一些基本的配置。

实验二:创建第一个安卓应用程序根据老师的指导,我按照步骤成功创建了我的第一个安卓应用程序。

我选择了一个简单的计算器应用程序作为开始,它可以实现基本的加法和减法功能。

通过这个实验,我学会了使用Android Studio的界面设计工具和编写基本的Java代码。

实验三:UI设计和布局在这个实验中,我学习了安卓应用程序的用户界面设计和布局。

我使用了安卓提供的各种布局方式,如线性布局、相对布局和帧布局等,来设计和展示应用程序的不同界面。

通过这个实验,我对安卓界面设计的原则和技巧有了更深入的理解。

实验四:应用程序调试与测试在开发过程中,调试和测试是非常重要的环节。

通过Android Studio提供的调试工具,我能够针对应用程序中的问题进行定位和修复。

我还学会了使用模拟器和真机进行应用程序的测试,以确保应用程序的功能和稳定性。

实验五:数据库操作在这个实验中,我学习了如何在安卓应用程序中使用数据库。

我使用了SQLite数据库来存储和管理应用程序的数据。

通过编写SQL语句,我能够进行数据的插入、查询、更新和删除等操作。

这为我今后的应用程序开发提供了非常有用的技能。

总结:。

实验6 Android常用布局

实验6 Android常用布局

实验6Android常用布局6.1 实验目的☆掌握Android常用布局的常用属性和使用方法。

6.2 实验内容☆测试Android常用布局使用方法6.3 实验原理常用布局有:表格布局、线性布局,相对布局1)表格布局(Table Layout)的布局方式和HTML语言的<table>标签和<tr>标签非常类似。

<TableLayout>定义整个表格,表格可以有多行,并且每一行可以有多个组件,但是每一行的组件内部可以像HTML语言一样可以再设定行,需要的话,可以采用嵌套布局方式,再加入一个窗体布局。

<TableRow>定义表格内的组件,这些组件可以设置为某一类的创作套件Widget或保持空的状态,比如TextView、EditView、Button等。

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"><TableRow ><TextViewandroid:text="1-1"android:textSize="10pt"android:background="#aa0000"/><TextViewandroid:textSize="10pt"android:text="1-2"android:background="#00aa00"/> <TextViewandroid:textSize="10pt"android:text="1-3"android:background="#aa0000"/> </TableRow><TableRow ><TextViewandroid:textSize="10pt"android:text="2-1"android:background="#0000aa"/> <TextViewandroid:textSize="10pt"android:text="2-2"android:background="#aa0000"/> </TableRow></TableLayout>实验结果如图6-1所示。

Android之四大组件、六大布局、五大存储总结

Android之四大组件、六大布局、五大存储总结

Android之四⼤组件、六⼤布局、五⼤存储总结Android之四⼤组件、六⼤布局、五⼤存储⼀.四⼤组件:四⼤组件分别为activity、service、content provider、broadcast receiver。

⼀、android四⼤组件详解1、activity(1)⼀个Activity通常就是⼀个单独的屏幕(窗⼝)。

(2)Activity之间通过Intent进⾏通信。

(3)android应⽤中每⼀个Activity都必须要在AndroidManifest.xml配置⽂件中声明,否则系统将不识别也不执⾏该Activity。

2、service(1)service⽤于在后台完成⽤户指定的操作。

service分为两种:(a)started(启动):当应⽤程序组件(如activity)调⽤startService()⽅法启动服务时,服务处于started状态。

(b)bound(绑定):当应⽤程序组件调⽤bindService()⽅法绑定到服务时,服务处于bound状态。

(2)startService()与bindService()区别:(a)started service(启动服务)是由其他组件调⽤startService()⽅法启动的,这导致服务的onStartCommand()⽅法被调⽤。

当服务是started 状态时,其⽣命周期与启动它的组件⽆关,并且可以在后台⽆限期运⾏,即使启动服务的组件已经被销毁。

因此,服务需要在完成任务后调⽤stopSelf()⽅法停⽌,或者由其他组件调⽤stopService()⽅法停⽌。

(b)使⽤bindService()⽅法启⽤服务,调⽤者与服务绑定在了⼀起,调⽤者⼀旦退出,服务也就终⽌,⼤有“不求同时⽣,必须同时死”的特点。

(3)开发⼈员需要在应⽤程序配置⽂件中声明全部的service,使⽤<service></service>标签。

实验2 android的界面设计(控件与布局)

实验2 android的界面设计(控件与布局)

实验2 android的界面设计(控件与布局)学时:4学时一、实验目的:1、了解Android编程原理2、掌握界面控件设计3、了解和熟悉常用控件的使用、界面布局等内容。

二、实验内容:1.基本控件的制作:(1)TextView的制作:a)体会Autolink,依次更换属性:web/phone/all/email/b) 制作跑马灯效果android:ellipsize 设置当文字过长时,该控件该如何显示。

有如下值设置:”start”—-省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee”——以跑马灯的方式显示(动画横向移动)android:marqueeRepeatLimit 在ellipsize 指定marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次。

android:focusableInTouchMode:是否在触摸模式下获得焦点。

android:focusable 控件是否能够获取焦点(2)EditView制作(a) maxLength:最大输入长度属性(b) singleLine:多行文本框(c) inputType:限制输入文本类型(d) hint:设置提示信息2.布局设计(1) LinearLayout布局:(2)Relative Layout:(3)Table Layout3.建立一个如图所示的图形界面:4.用ListView制作如图界面(图片自定) (将该题以你的学号命名,发给你班的学习委员,以班为单位统一发给我,我的邮箱为:****************):5.用expandablelistview制作如下界面:6.对话框制作:(2)部分程序代码:protected void dialog() {AlertDialog.Builder builder = new Builder(Main.this);builder.setMessage("确认退出吗?");builder.setTitle("提示");builder.setPositiveButton("确认", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { dialog.dismiss();Main.this.finish();}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}//在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {//点后退键的时候,为了防止点得过快,触发两次后退事件dialog();}return false;}(2)界面如下:部分代码:Dialog dialog = new AlertDialog.Builder(this).setIcon(android.R.drawable.btn_star).setTitle("喜好调查").setMessage("你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub Toast.makeText(Main.this, "我很喜欢他的电影。

Android实验报告—Android框架及Activity 生命周期程序设计

Android实验报告—Android框架及Activity 生命周期程序设计

Android框架及Activity 生命周期程序设计实验目的:本实验的目的是使学生深入了解Android程序框架结构、了解Android组件的生命周期中各状态的变化关系、掌握Android应用程序的调试方法和工具。

通过程序设计, 掌握Activity的三种生命周期:全生命周期、可视生命周期和活动生命周期;每种生命周期中包含的不同的事件回调函数, 以及它们的作用和调用顺序, 深入理解Activity的生命周期过程。

实验要求:根据下图, 设计程序解释不同的事件回调函数在Activity的三种生命周期的作用如何。

[实现提示]1.建立Android工程, 其中工程名称: ActivityLifeCycle你的学号包名称:.bistu.你的班级号.ActivityLifeCycle你的学号Activity名称: ActivityLifeCycle你的学号如: 电技1001班学号后三位为123的学生, 应将包名称设为:.bistu.dj1001.ActivityLifeCycle1232、工程建立完毕后, 可以不进行界面设计, 即不必修改main.xml文件, 直接编写Java文件3.通过在生命周期函数中添加“日志点”的方法进行调试4、为了显示结果易于观察和分析, 在LogCat设置过滤器LifeCycleFilter测试过程在程序运行过程, 通过点击模拟器上的“返回键”, 生命周期中事件回调函数的执行顺序及作用是函数的调用顺序: onSaveInstanceState ()→onPause()→onStop() →onRestart()→onStart()→onResume();调用onSaveInstanceState()函数保存Activity状态;调用onPause()和onStop(), 停止对不可见Activity的更新;调用onRestart()恢复需要界面上需要更新的信息;调用onStart()和onResume()重新显示Activity, 并接受用户交互。

实验报告9

实验报告9
二、实验环境(实验设备)
硬件:PC机
软件: Eclipse
实验题.分别使用不同的界面布局:线性布局、框架布局、表格布局、相对布局、绝对布局和网格布局,设计实验实例中的控件界面,并对比各种布局实现的复杂程度和对不同屏幕尺寸的适应能力。给出程序运行后的截图。
实验题目(1)线性布局
实验解答:
能得到的结论:
实验报告
实验名称
实验九UI设计(界面布局)
指导教师
邵雯娟
学生姓名
张可可
班级学号
130602112
专业
网络工程
实验类型
验证
实验学时
2
实验时间
2016.5.16
一、实验目的和要求
1.掌握Android界面布局:线性布局、框架布局、表格布局、相对布局、绝对布局和网格布局。
2.分别使用不同的界面布局设计控件界面,并对比各种布局实现的复杂程度和对不同屏幕尺寸的适应能力。
实验题目(2)框架布局
实验解答:
能得到的结论:
实验题目(3)表格布局
实验解答:
能得到的结论:
实验题目(4)绝对布局
实验解答:
能得到的结论:
实验题目(5)相对布局
实验解答:
能得到的结论:
实验题目(6)网格布局
实验解答:
能得到的结论:
四、实验小结(绩
批阅人
日期

安卓实验报告书docx2024

安卓实验报告书docx2024

引言:本文是关于安卓实验的报告书,主要对实验过程、实验结果和实验总结进行详细阐述。

本次实验的目的是学习和实践安卓开发的基础知识和技能,通过实验掌握安卓应用的开发流程以及常用控件和功能的实现方法。

概述:正文内容:1.控件的使用1.1Button按钮的使用1.2EditText文本输入框的使用1.3TextView文本显示控件的使用1.4ImageView图片显示控件的使用1.5CheckBox复选框的使用1.6RadioButton单选按钮的使用1.7Spinner下拉列表的使用1.8ListView列表控件的使用1.9ProgressBar进度条控件的使用2.布局的设计2.1LinearLayout线性布局的使用2.2RelativeLayout相对布局的使用2.3FrameLayout帧布局的使用2.4TableLayout表格布局的使用2.5ConstrntLayout约束布局的使用2.6ScrollView滚动布局的使用2.7GridLayout网格布局的使用2.8DrawerLayout抽屉布局的使用2.9CoordinatorLayout协调布局的使用3.数据存储与读取3.1SharedPreferences轻量级数据存储的使用3.2文件存储与读取的方法3.3SQLite数据库的使用3.4ContentProvider内容提供者的使用3.5数据库升级与版本管理4.网络通信4.4Retrofit的使用4.5JSON数据的解析与封装4.6网络请求的异步处理4.7WebSocket的实现方法4.8WebView的使用5.应用调试与测试5.1Logcat日志调试工具的使用5.2AndroidProfiler性能分析工具的使用5.3Monkey测试工具的使用5.4JUnit测试框架的使用5.5Espresso自动化测试的使用5.6MonkeyRunner自动化测试的使用5.7UIAutomator自动化测试的使用5.8Appium跨平台测试框架的使用5.9FirebaseTestLab云端测试的使用总结:通过本次实验,我对安卓开发的基础知识和技能有了更深入的了解。

Android实验一实验报告

Android实验一实验报告

Android实验一实验报告一、实验目的本次 Android 实验的主要目的是让我们熟悉 Android 开发环境的搭建,并通过创建一个简单的 Android 应用程序,初步了解 Android 应用的基本架构和开发流程。

二、实验环境1、操作系统:Windows 102、 Android Studio:版本 4123、 JDK:版本 18三、实验内容及步骤(一)Android 开发环境搭建1、下载并安装 JDK,配置好环境变量。

2、下载 Android Studio 安装包,按照安装向导进行安装。

3、启动 Android Studio,进行一些初始设置,如选择主题、安装必要的组件等。

(二)创建 Android 项目1、打开 Android Studio,选择“Start a new Android Studio project”。

2、填写项目名称(如“MyFirstAndroidApp”)、项目位置、包名等信息。

3、选择应用的最低支持 Android 版本和目标 Android 版本。

4、选择项目模板,这里我们选择“Empty Activity”。

(三)项目结构介绍1、打开项目后,我们可以看到项目的结构。

主要包括“app”目录、“gradle”目录等。

2、“app”目录下包含了应用的代码、资源文件等。

其中,“java”目录存放 Java 代码,“res”目录存放资源文件,如布局文件(layout)、字符串资源(values)、图片资源(drawable)等。

(四)编写代码1、打开“MainActivityjava”文件,这是应用的主活动类。

2、在“onCreate”方法中,我们可以进行一些初始化操作。

(五)设计布局1、打开“activity_mainxml”文件,这是应用的主布局文件。

2、使用 XML 标记语言来设计界面布局,如添加 TextView、Button 等控件。

(六)运行应用1、连接真机或使用模拟器。

探究android控件及布局

探究android控件及布局

探究android控件及布局控件(widget)1. TextView(该控件的⼀些需要注意的属性,下同)gravity="center"textSize="24sp"textColor="#00ff00"(完整的前⾯应该加android:,为了⽅便均忽略)2. EditTexthint="Type something here"maxLines="2"3. ImageViewsrc="@drawable/ic_launcher"imageView.setImageResoure(R.drawable.jetlly)4. ProgressBar1 2progressBar.setVisibility(View.GONE)//设置不可见,且不占⽤任何空间progressBar.setVisibility(View.VISIBLE)//设置可见实际上需要去添加逻辑(⽐如当数据加载完成时执⾏:1progressBar.setVisibility(View.GONE)//设置不可见,且不占⽤任何空间不然,ProgressBar会⼀直转还有功能:1 2progressbar.getVisibility()//有三种值:View.GONE,View.VISIBLE在ProgressBar参数中style="?android:attr/progressBarStyleHorizontal"可将进度条变成⽔平,参数max="100"设置⽔平进度条的最⼤值5. AlertDialog1 2 3 4 5 6AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);//可以理解为对话框建⽴在这个活动之上dialog.setTitle("This is title");//设置对话框的标题dialog.setMessage("someting important");//内容dialog.setCancelable(false);//设置该对话框是否可由back键退回dialog.setPositiveButton("OK",new DialogInterface.OnclickListener(){})//为OK键设置监听器dialog.setNegativeButton("CANCEL",new DialogInterface.OnClickListener(){})注意:AlertDialog在程序⾥⾯写,不再布局⾥写6. ProgressDialog1 2 3 4 5ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setTitle("wait a moment!");progressDialog.setMessage("Loding...");progressDialog.setCancelable(false);progressDialog.show();与AlertDialog类似四⼤布局(Layout)1. LinearLayoutlayout_gravity属性orientation的⽅向⼀定是与layout_gravity⽅向正交,解释如下:如果orientation="vertical",那么就只有⽔平⽅向的对齐有效此时控件的layout_gravity"就有三种值:leftcenter_horizontalright同理,如果orientation="horizontal"此时控件的layout_gravity有三种值:topcenter_verticalbottom####### layout_weight(权重)若orientation="horizontal",此时xml中有EditText和Button,设置他们的layout_width="0dp",若设置EditText的layout_weight="3",设置Button的layout_weight="2",前者占屏幕的3/5,后者占2/52. RelativeLayout控件相对⽗布局定位layout_alignParentToplayout_alignparentBottomlayout_alignParentRightlayout_alignParentLeftlaout_centerInParent控件相对控件定位layout_belowlayout_toRightOflayout_toLeftOflayout_above边缘对齐(就试验的情况下,貌似此处orientation不顶⽤)layout_alignLeftlayout_alignRightlayout_alignToplayout_alignBottom3. FrameLayout所有控件都摆放在左上⾓4.TableLayout1 2 3 4//⼀对这样的标签就表⽰⼀⾏<TableRow>//⼀个组件表⽰⼀列</TableRow>需要注意的是,《第⼀⾏代码》中当⼀⾏有TextView和EditText时,TextView只有layout_height属性,这可能是由于TableLayout有⾃⼰的关于每⾏中列宽度的规定,以后遇到这种情况再做更正合并单元格:layout_span="2"表⽰横跨两列TableLayout头部添加android:stretchColumns="1",即将第⼆列拉伸,0则拉伸第⼀列。

安卓界面实验报告

安卓界面实验报告

安卓界面实验报告实验背景随着移动互联网的发展,安卓系统成为了最受欢迎的移动操作系统之一。

安卓系统的用户界面设计直接关系到用户体验的好坏,因此对安卓界面的研究和优化成为了众多开发者关注的焦点。

本实验旨在通过设计一个安卓界面来加深对安卓界面的理解和熟悉安卓界面的开发。

实验目的1. 理解安卓界面的基本组件和布局方式;2. 掌握安卓界面的开发流程和技术;3. 设计一个符合用户使用习惯和美观的安卓界面。

实验步骤1. 项目创建首先,在Android Studio中创建一个新的空白项目。

选择适合的项目名称和存储路径,并选择适当的API级别。

2. 布局设计在res/layout目录下创建一个新的XML文件,用于定义界面的布局。

在此文件中,可以使用安卓提供的各种布局和组件来设计界面。

可以使用LinearLayout、RelativeLayout、TableLayout等布局容器,分别对应线性布局、相对布局和表格布局等不同的界面布局方式。

3. 组件开发在XML布局文件中,根据需要添加各种按钮、文本框、图标等组件,并设置组件的属性和事件。

xml<Buttonandroid:id="@+id/btn_submit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="提交"android:onclick="submit" /><TextViewandroid:id="@+id/tv_result"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="结果显示区域" />4. 事件处理在项目的Java文件中,可以通过findViewById方法获取XML布局文件中定义的组件,并为组件设置事件监听器。

Android实验报告模板_实验二

Android实验报告模板_实验二

package lin.example.helloui;Android中有许多常用控件:文本框:TextView、EditText按钮:Button、RadioButton、CheckBox、ImageButton二,界面布局package lin.example.hellouib;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;import android.widget.Button;public class MainActivity extends Activity { @Override(2)ativity_main.xml:<LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:id="@+id/container"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"tools:context="lin.example.hellouib.MainActivity"tools:ignore="MergeRootFrame"><LinearLayout5、结果分析与实验体会本次试验我们学习Android的视图层与UI设计,再是严重我们熟悉了发中的UI设计,包括了解和熟悉常用控件的使用、界面布局和事件时间处理等内容,在熟悉和掌握了界面控件设计后,使我们更加了解了Android界面布局,控件的时限和属性设置,并且学会了创建和使用定制的控件。

实验二 android基本控件实验

实验二 android基本控件实验

实验二android基本控件实验报告【目的】熟悉Android常用控件的基本操作,掌握它们的基本使用方法。

了解控件之间的构成关系,熟悉适配器的使用原理。

【要求】1、了解控件的继承关系;2、掌握适配器的使用;3、掌握信息提示的实现机制;4、实现基本界面。

【过程】1.新建一个Android工程ControlTest;2.编写布局文件,实现布局效果,如图:源代码:3.MainActivity代码:import android.app.Activity;import android.content.ClipData;import android.content.Context;import android.os.Bundle;import android.view.Gravity;import android.view.Menu;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ListAdapter;import android.widget.ListView;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class MainActivity extends Activity {private Button mButtonAdd;private TextView mTextClass, mTextGrade, mTextId, mTextName;private ListView mListView;private Spinner mSpinnerCourse;private String mCourseList, mAdapter;private ArrayList<Item> mDataList;private ItemAdapter mListAdapter;private Toast toast;private ItemAdapter.ViewHolder mViewHolder;Context mContext;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);this.initView();this.initFunction();}private void initFunction(){}public boolean onCreateOptionMenu(Menu menu){getMenuInflater().inflate(R.menu.menu_main,menu);return true;}public void initView() {mButtonAdd = (Button) findViewById(R.id.but_sure);mTextClass = (TextView) findViewById(R.id.editxt_class);mTextGrade = (TextView) findViewById(R.id.editxt_grade);mTextId = (TextView) findViewById(R.id.editxt_id);mTextName = (TextView) findViewById(R.id.editxt_name);mListView = (ListView) findViewById(R.id.course_listview);mSpinnerCourse = (Spinner) findViewById(R.id.course_spinner);List<String> mCourseList =Arrays.asList(this.getResources().getStringArray(R.array.course_list));ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(this, yout.simple_list_item_1, mCourseList);mSpinnerCourse.setAdapter(mAdapter);mDataList = new ArrayList<Item>();mListAdapter = new ItemAdapter(this, mDataList);mListView.setAdapter(mListAdapter);mButtonAdd.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = mTextName.getText().toString();String id = mTextId.getText().toString();String classes = mSpinnerCourse.getSelectedItem().toString(); String grade = mTextGrade.getText().toString();//将所输入的信息添加到mDataList中mDataList.add(new Item(id, name, grade, classes));//刷新listviewmListAdapter.notifyDataSetChanged();//创建toast提示添加成功toast = Toast.makeText(getApplicationContext(),"添加成功!", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();}});}public class deleteListener implements View.OnClickListener{int position;public deleteListener(int position1){position=position1;}public void onClick(View v){delItem(position);}};public void delItem(int position){mDataList.remove(position);mListAdapter.notifyDataSetChanged();mListView.postInvalidate();}}4.itemAdapt代码:import android.content.ClipData;import android.content.Context;import android.graphics.Color;import android.view.Gravity;import youtInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;/*** Created by John on 2016/4/25.*/class ItemAdapter extends BaseAdapter{ArrayList<Item> mArrayitem;LayoutInflater mInflater;Context mContext;View.OnClickListener deletelistener;private ItemAdapter.ViewHolder mViewHolder;private Toast toast;public ItemAdapter(Context mContext,ArrayList<Item> item){ mArrayitem=item;mContext=mContext;mInflater=(LayoutInflater)mContext.getSystemService(YOUT_INFLATER_SERVICE);}class ViewHolder{public TextView mTextClass;public TextView mTextName;public TextView mTextId;public TextView mTextCourse;public Button mDelButton;}@Overridepublic int getCount() {return mArrayitem.size() + 1;}@Overridepublic Object getItem(int position) {return position + 1;}@Overridepublic long getItemId(int position) {return position + 1;}@Overridepublic View getView(int position, View convertview, ViewGroup group) { ViewHolder mViewHolder;final int id = position;if (convertview == null) {convertview = mInflater.inflate(yout.content_main, null); mViewHolder = new ViewHolder();mViewHolder.mDelButton = (Button) convertview.findViewById(R.id.item_del);mViewHolder.mTextId = (TextView) convertview.findViewById(R.id.item_num);mViewHolder.mTextCourse = (TextView) convertview.findViewById(R.id.item_course);mViewHolder.mTextName = (TextView) convertview.findViewById(R.id.item_name);mViewHolder.mTextClass = (TextView) convertview.findViewById(R.id.item_class);convertview.setTag(mViewHolder);} else {mViewHolder = (ViewHolder) convertview.getTag();}if (id == 0) {setFirst(mViewHolder);} else {Item item = mArrayitem.get(id - 1);mViewHolder.mTextCourse.setText(item.course);mViewHolder.mTextId.setText(item.id);mViewHolder.mTextClass.setText(item.grade);mViewHolder.mTextName.setText();mViewHolder.mDelButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mArrayitem.remove(id - 1);ItemAdapter.this.notifyDataSetChanged();}});mViewHolder.mDelButton.setTextSize(mViewHolder.mTextId.getTextSize() / 2);}return convertview;}public void setData(ArrayList<Item> item) {mArrayitem = item;}public void setFirst(ViewHolder mHolder) {mHolder.mDelButton.setBackgroundColor(Color.TRANSPARENT);mHolder.mDelButton.setTextSize(mHolder.mTextId.getTextSize() / 2); mHolder.mDelButton.setText("功能");mHolder.mTextCourse.setText("课程");mHolder.mTextId.setText("学号");mHolder.mTextClass.setText("班级");mHolder.mTextName.setText("姓名");}}5.item代码:package com.example.g.controltest;/*** Created by g on 2016/4/26.*/public class Item {public String course;public String id;public String grade;public String name;public Item(String id, String name, String grade,String course) { super();this.id = id; = name;this.grade = grade;this.course = course;}}6.activity_main.xml代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:background="#ffffff" ><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="ClassShow"android:textSize="30sp"android:textColor="#ffffff"android:background="#000000"/><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal">"<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="姓名"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:textSize="15sp"android:id="@+id/editxt_name"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="学号"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:textSize="15sp"android:id="@+id/editxt_id"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="年级"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:textSize="15sp"android:id="@+id/editxt_class"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="10dp"android:paddingLeft="10dp"android:text="班级"android:textColor="#000000"android:textSize="15sp"/><EditTextandroid:textSize="15sp"android:id="@+id/editxt_grade"android:layout_width="200dp"android:layout_height="wrap_content"android:layout_marginLeft="3dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal">"<TextViewandroid:id="@+id/spinner_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="课程"android:textSize="15sp"android:paddingTop="10dp"android:paddingLeft="10dp"android:textColor="#000000"/><Spinnerandroid:id="@+id/course_spinner"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout><Buttonandroid:layout_marginTop="15dp"android:id="@+id/but_sure"android:layout_width="300dp"android:layout_height="30dp"android:text="添加"android:layout_gravity="center"android:textSize="15sp"android:textColor="#ffffff"android:onClick="OnAddClick"android:background="#7b7979"/>"<ListViewandroid:paddingTop="20dp"android:id="@+id/course_listview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffff"/></LinearLayout>7.conten_main代码:5、<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#ffffff"><LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/item_name"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="#000000"android:textSize="10sp" /><TextViewandroid:id="@+id/item_num"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="#000000"android:textSize="10sp" /><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_class"android:textSize="10sp"android:textColor="#000000"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_course"android:textSize="10sp"android:textColor="#000000"/><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:id="@+id/item_del"android:text="删除"android:textSize="20sp"android:textColor="#000000"/>"</LinearLayout>"</LinearLayout>实验结果:实验心得:代码有点多,改错误改了很久,仍需要多多操作。

安卓的实验报告

安卓的实验报告

一、实验目的1. 熟悉Android开发环境及工具的使用。

2. 掌握Android布局文件的编写和资源文件的使用。

3. 学习网络请求和JSON数据解析。

4. 了解Android应用的基本架构和生命周期。

二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.5.33. 编程语言:Java4. 网络请求库:OkHttp5. JSON解析库:Gson三、实验内容1. 创建项目在Android Studio中创建一个新的Android项目,项目名称为“简易天气应用”,选择最低支持版本为Android 4.1。

2. 设计界面在res/layout目录下创建activity_main.xml布局文件,设计如下:```<RelativeLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="16dp"><EditTextandroid:id="@+id/city_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入城市名"android:inputType="text" /><Buttonandroid:id="@+id/search_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/city_name"android:layout_centerHorizontal="true" android:text="查询天气" /><TextViewandroid:id="@+id/weather_info"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/search_button" android:layout_centerHorizontal="true" android:layout_marginTop="20dp"android:textSize="18sp" /></RelativeLayout>```3. 网络请求和JSON解析在app/src/main/java/com.example.weatherapplication目录下创建MainActivity.java文件,编写如下代码:```javaimport android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import org.json.JSONObject;public class MainActivity extends AppCompatActivity {private EditText cityNameEditText;private Button searchButton;private TextView weatherInfoTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);cityNameEditText = findViewById(R.id.city_name);searchButton = findViewById(R.id.search_button);weatherInfoTextView = findViewById(R.id.weather_info);searchButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String cityName = cityNameEditText.getText().toString();if (!cityName.isEmpty()) {searchWeather(cityName);}}});}private void searchWeather(String cityName) {OkHttpClient client = new OkHttpClient();String url ="/v1/current.json?key=your_api_key&q=" + cityName;Request request = new Request.Builder().url(url).build();client.newCall(request).enqueue(new okhttp3.Callback() {@Overridepublic void onFailure(Call call, IOException e) {e.printStackTrace();}@Overridepublic void onResponse(Call call, Response response) throws IOException {if (response.isSuccessful()) {String responseBody = response.body().string();JSONObject jsonObject = new JSONObject(responseBody);String temp_c =jsonObject.getJSONObject("current").getString("temp_c");String condition =jsonObject.getJSONObject("current").getJSONObject("condition").getString ("text");runOnUiThread(new Runnable() {@Overridepublic void run() {weatherInfoTextView.setText("温度:" +temp_c + "℃,天气:" + condition);}});}}});}}```4. 运行应用在模拟器或真机上运行应用,输入城市名,点击查询天气,即可获取该城市的天气信息。

安卓组件实验报告

安卓组件实验报告

一、实验目的1. 理解并掌握Android中的主要组件,包括Activity、Service、BroadcastReceiver和ContentProvider。

2. 学会使用Intent在不同组件之间进行数据传递和组件启动。

3. 了解组件的生命周期和相互之间的关系。

二、实验环境1. 开发工具:Android Studio2. 操作系统:Windows 103. 硬件环境:个人电脑三、实验内容1. Activity组件实验步骤:(1)创建一个名为“MainActivity”的Activity。

(2)在MainActivity中添加一个按钮和一个文本视图。

(3)编写按钮的点击事件,使当按钮被点击时,在文本视图中显示“Hello, Android!”。

(4)运行程序,观察结果。

2. Service组件实验步骤:(1)创建一个名为“MyService”的Service。

(2)在MyService中编写一个无限循环,用于模拟后台任务。

(3)在MainActivity中启动MyService,并在Service运行时在文本视图中显示“Service is running!”。

(4)运行程序,观察结果。

3. BroadcastReceiver组件实验步骤:(1)创建一个名为“MyReceiver”的BroadcastReceiver。

(2)在MyReceiver中重写onReceive()方法,用于接收自定义广播。

(3)在MainActivity中发送自定义广播,并注册MyReceiver。

(4)运行程序,观察结果。

4. ContentProvider组件实验步骤:(1)创建一个名为“MyContentProvider”的ContentProvider。

(2)在MyContentProvider中定义一个Uri,用于访问数据。

(3)在MainActivity中查询MyContentProvider中的数据,并显示在文本视图中。

android实验报告模板(新)

android实验报告模板(新)

移动互联网开发(Android)实验报告姓名:万思学号: k081241139专业:计算机科学与技术指导老师:张华完成日期: 2014-11-16目录实验一Android开发环境的搭建 (4)1 实验目的及要求 (4)2 实验设备(环境)及要求 (4)3 实验内容 (4)4 实验步骤 (5)5 实验核心代码(关键代码),及调试中的问题 (5)6 实验的运行结果及分析 (10)7 实验总结心得体会 (10)实验二GUI创建套件Widget的使用 (12)1 实验目的及要求 (12)2 实验设备(环境)及要求 (12)3 实验内容 (12)4 实验步骤 (12)5 实验核心代码(关键代码),及调试中的问题 (13)6 实验的运行结果及分析 (14)7 实验总结心得体会 (15)实验三SQLite应用 (15)1 实验目的及要求 (15)2 实验设备(环境)及要求 (16)3 实验内容 (16)4 实验步骤 (16)5 实验核心代码(关键代码),及调试中的问题 (17)6 实验的运行结果及分析 (17)7 实验总结心得体会 (17)实验四获取手机剩余电量 (17)1 实验目的及要求 (17)2 实验设备(环境)及要求 (18)3 实验内容 (18)4 实验步骤 (19)5 实验核心代码(关键代码),及调试中的问题 (20)6 实验的运行结果及分析 (20)7 实验总结心得体会 (21)实验五网络访问与服务 (21)1 实验目的及要求 (22)2 实验设备(环境)及要求 (22)3 实验内容 (23)4 实验步骤 (23)5 实验核心代码(关键代码),及调试中的问题 (23)6 实验的运行结果及分析 (23)7 实验总结心得体会 (23)实验六Service的使用 (23)1 实验目的及要求 (23)2 实验设备(环境)及要求 (23)3 实验内容 (24)4 实验步骤 (24)5 实验核心代码(关键代码),及调试中的问题 (24)6 实验的运行结果及分析 (24)7 实验总结心得体会 (24)实验一Android开发环境的搭建1 实验目的及要求1.搭建Eclipse+Android开发平台2.创建简单的Android应用程序3.创建Activity并利用intent的实现Activity的跳转2 实验设备(环境)及要求1)PC计算机2)JDK安装包3)Eclipse安装包4)Android SDK安装包5)ADT插件3 实验内容1)搭建EClipse+Android开发环境2)创建一个简单的”hello world”工程3)创建两个Activity,实现简单的Activity之间的参数传递4 实验步骤1)下载安装JDK 1.6,配置环境变量,如果所示。

Android实验报告组件布局

Android实验报告组件布局

Android 开发(实验五)实验题目:Android组件布局试验指导老师:班级:计算机科学与技术系班姓名:一、实验目的1、掌握Android组件布局的使用方法2、学会组件布局的重要属性与应用3、能够根据需求,通过布局构建各类实际的页面。

二、实验内容组件布局有:LinearLayout、TableLayout、FrameLayout、RelativeLayout三、实验步骤1、用表格布局完成登录界面<TableLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#FFFFCC"android:stretchColumns="0,3" ><ImageView android:layout_width="fill_parent"android:layout_height="5dp"/><TableRow><ImageViewandroid:layout_width="wrap_content"android:layout_height="100dp"android:src="@drawable/img"android:gravity="center"android:layout_span="4"/></TableRow><TableRow ><TextView/><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="right"android:text="@string/username"android:textStyle="bold"android:textColor="#000000"/><EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content" android:gravity="left"android:minWidth="200px"android:id="@+id/ETname"/></TableRow><TableRow ><TextView/><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content" android:gravity="right"android:text="@string/password"android:textStyle="bold"android:textColor="#000000"/><EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content" android:gravity="left"android:minWidth="200px"android:inputType="textPassword"android:id="@+id/ETpwd"/></TableRow><TableRow><TextView /><Buttonandroid:id="@+id/Btok"android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right"android:text="@string/button"android:textStyle="bold"/><Buttonandroid:id="@+id/Btcancel"android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left"android:text="@string/cancel"android:textStyle="bold"/></TableRow></TableLayout>2、使用线性布局完成系统主界面<LinearLayoutxmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#FFFFCC"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="欢迎登陆此系统!"android:layout_gravity="center"android:textSize="30sp"android:textColor="#000000"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="退出"android:textSize="30sp"android:textColor="#000000"android:id="@+id/Btquit"/></LinearLayout>3、使用线性布局和相对布局嵌套完成注册页面<LinearLayoutxmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#FFFFCC"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="注册"android:layout_gravity="center"android:textSize="30sp"android:textColor="#000000"/><RelativeLayoutxmlns:android="/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/lname"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="用户名 "android:layout_gravity="center"android:textSize="20sp"android:textColor="#000000"/><EditTextandroid:id="@+id/ename"android:layout_width="200px"android:layout_height="wrap_content" android:layout_toRightOf="@id/lname"/> <TextViewandroid:id="@+id/lpwd"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="密码 "android:layout_below="@id/lname"android:layout_marginTop="20px"android:textSize="20sp"android:textColor="#000000"/><EditTextandroid:id="@+id/epwd"android:layout_width="200px"android:layout_height="wrap_content" android:inputType="textPassword"android:layout_toRightOf="@id/lpwd"android:layout_alignTop="@id/lpwd"/> <TextViewandroid:id="@+id/lapwd"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="确认密码 "android:layout_below="@id/lpwd"android:layout_marginTop="20px"android:textSize="20sp"android:textColor="#000000"/><EditTextandroid:id="@+id/eapwd"android:layout_width="200px"android:layout_height="wrap_content" android:inputType="textPassword"android:layout_toRightOf="@id/lapwd" android:layout_alignTop="@id/lapwd"/> <Buttonandroid:id="@+id/Btok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="提交"android:layout_below="@id/lapwd"android:layout_marginTop="20px"android:layout_marginRight="20px"android:textSize="20sp"android:textColor="#000000"/><Buttonandroid:id="@+id/Btqx"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="取消"android:layout_below="@id/lapwd"android:layout_toRightOf="@id/Btok"android:layout_alignTop="@id/Btok"android:textSize="20sp"android:textColor="#000000"/></RelativeLayout></LinearLayout>4、事件代码如下:LayoutTestActivity.javapackage youttest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class LayoutTestActivity extends Activity {/** Called when the activity is first created. */ private Button Btok;private Button Btcancel;// private EditText ETname;// private EditText ETpwd;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);Btok = (Button)findViewById(R.id.Btok);Btcancel = (Button)findViewById(R.id.Btcancel); Btok.setOnClickListener(new myOnClickListener());Btcancel.setOnClickListener(new myOnClickListener());}public class myOnClickListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent();switch(v.getId()){case R.id.Btok:intent.setClass(LayoutTestActivity.this, LoginActivity.class);startActivity(intent);break;case R.id.Btcancel:intent.setClass(LayoutTestActivity.this, ZhuCe.class);startActivity(intent);break;}}};}LoginActivity.javapackage youttest;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class LoginActivity extends Activity {private Button Btquit;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.login);Btquit = (Button)findViewById(R.id.Btquit);Btquit.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(LoginActivity.this).setTitle("确认窗口").setMessage("确定要退出应用程序?").setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int i) {// TODO Auto-generated method stubfinish();}}).setNegativeButton("取消",new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}}).show();}});}}ZhuCe.javapackage youttest;import android.app.Activity;import android.os.Bundle;public class ZhuCe extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.zhuce);}}四、实验结果五、实验总结1、通过本次实验,掌握了Android组件布局的使用方法2、也学会了组件布局的重要属性与应用能够根据需求,通过布局构建各类实际的页面3、实验中遇到的问题,通过自己的努力最后得以解决。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<TextView
android:id="@+id/lpwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码
"
android:layout_below="@id/lname"
2、使用线性布局完成系统主界面 <LinearLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#FFFFCC"> <TextView
RelativeLayout
三、实验步骤
1、用表格布局完成登录界面 <TableLayout xmlns:android="/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFCC" android:stretchColumns="0,3" > <ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="left" android:minWidth="200px" android:id="@+id/ETname"/> </TableRow> <TableRow > <TextView/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:text="@string/password" android:textStyle="bold" android:textColor="#000000"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:minWidth="200px" android:inputType="textPassword" android:id="@+id/ETpwd"/> </TableRow> <TableRow> <TextView /> <Button
Android 开发
(实验五)
实验题目:Android 组件布局试验 指导老师: 班 级:计算机科学与技术系班 姓 名:
一、实验目的
1、掌握 Android 组件布局的使用方法
2、学会组件布局的重要属性与应用
3、能够根据需求,通过布局构建各类实际的页面。
二、实验内容
组 件 布 局 有 : LinearLayout 、 TableLayout 、 FrameLayout 、
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注册" android:layout_gravity="center" android:textSize="30sp" android:textColor="#000000"/> <RelativeLayout xmlns:android="/apk/res/android"
android:textSize="20sp"
android:textColor="#000000"/>
<EditText
android:id="@+id/ename"
android:layout_width="200px"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/lname"/>
android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/lname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名 " android:layout_gravity="center"
android:layout_height="5dp"/> <TableRow> <ImageView
android:layout_width="wrap_content" android:layout_height="100dp" android:src="@drawable/img" android:gravity="center" android:layout_span="4"/> </TableRow> <TableRow > <TextView/> <TextView
android:inputType="textPassword"
android:layout_toRightOf="@id/lpwd"
android:layout_alignTop="@id/lpwd"/>
<TextView
android:id="@+id/lapwd"
android:layout_width="wrap_content"
android:layout_alignTop="@id/lapwd"/>
<Button
android:id="@+id/Btok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="欢迎登陆此系统!" android:layout_gravity="center" android:textSize="30sp" android:textColor="#000000"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="退出" android:textSize="30sp" android:textColor="#000000" android:id="@+id/Btquit"/> </LinearLayout>
android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:text="@string/username" android:textStyle="bold" android:textColor="#000000"/> <EditText android:layout_width="fill_parent"
4、事件代码如下: LayoutTestActivity.java package youttest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText;
相关文档
最新文档