20169211 2016-2017-2 《移动平台开发实践》 第十周实验总结
实验一:简易计算器
实验要求
实现一个简易计算器Calc,支持+ - * / 和%运算, 从命令行传入计算数据,比如:java Calc 2 + 3 结果为 2 + 3 = 5
java Calc 8 - 3 结果为 8 - 3 = 5
java Calc 2 * 3 结果为2 * 3 = 6
java Calc 10 / 2 结果为10 / 2 = 5
java Calc 10 % 3 结果为10 % 3 = 1
实现代码
代码连接
实验截图
实验二:mini dc
实验要求
实现Linux下dc的功能,计算后缀表达式的值。
实现代码
代码连接
实验截图
实验三:第一个Android Studio程序
修改res目录下的activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.study.helloandroid.MainActivity"><TextViewandroid:layout_width="131dp"android:layout_height="64dp"android:layout_marginBottom="353dp"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintHorizontal_bias="0.549"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="20169211"tools:layout_editor_absoluteX="139dp"tools:layout_editor_absoluteY="212dp" /></android.support.constraint.ConstraintLayout>
运行效果
实现四:修改代码让MainActivity启动ThirdActivity
知识点说明
Android应用程序的主活动,是当用户从主屏幕选择App图标的时候,通过系统自身而启动的。在拥有多个活动的应用程序中,有可能会启动另一个活动。实际上,从一个活动启动另一个活动,可以通过调用startActivity方法直接做到。,如下所示:
startActivity(intent);
其中intent是android.content.Intent类的一个实例。
实验操作
项目创建两个活动,MainActivity和ThirdActivity。MainActivity包含了一个按钮,单击该按钮的时候,就会启动ThirdActivity。
实验代码
package com.example.secondactivitydemo;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.TextView;public class MainActivity extends Activity implementsOnTouchListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView tv = (TextView) findViewById(R.id.textView1);tv.setOnTouchListener(this);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main, menu);return true;}@Overridepublic boolean onTouch(View arg0, MotionEvent event) {Intent intent = new Intent(this, ThirdActivity.class);intent.putExtra("message", "20169211");startActivity(intent);return true;}
}
实验截图
实验五:修改代码让Toast消息中显示自己的学号信息
知识点说明
Toast是一个小的弹出对话框,用于显示一条消息作为给用户的反馈。Toast并不会代替当前的活动,并且只是占据了一条消息那么大的空间。android.widget.Toast类是创建Toast的模板。要创建一个Toast,调用它唯一的构造方法,接收Context作为一个参数:
public Toast(android.content.Context context) ;
在默认情况下,一个Toast会显示在靠近激活活动的底部。但是,也可以在调用其show方法之前调用其setGravity方法从而修改其显示的位置。
实验截图
实验六:修改布局
知识点说明
界面的布局有以下几种形式,传统的说是有五大布局,分别为:
线性布局 Linearlayout
相对布局 RelativeLayout
表格布局 TableLayout(现在已经过时了)
绝对布局 AbsolutelyLayout
帧布局 FrameLayout
常用的布局类型主要是: 线性布局和网格布局(GrideLayout)。
实验代码
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent" ><!-- 手机号码标签 --><TextViewandroid:id="@+id/tv_phone"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/tv_phone" /><!-- 手机号码编辑框 --><EditTextandroid:id="@+id/et_phone"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/tv_phone"android:hint="@string/tip_phone"android:phoneNumber="true" /><!-- 信息内容标签 --><TextViewandroid:id="@+id/tv_content"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/et_phone"android:text="@string/tv_content" /><!-- 信息内容编辑框 --><EditTextandroid:id="@+id/et_content"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/tv_content"android:hint="@string/tip_content"android:minLines="3" /><!-- 发送按钮 --><Buttonandroid:id="@+id/btn_Send"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/et_content"android:text="@string/btn_send" /><!-- 取消按钮 --><Buttonandroid:id="@+id/btn_Cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@id/btn_Send"android:layout_toRightOf="@id/btn_Send"android:text="@string/btn_cancel" />
</RelativeLayout>
实验截图
参考资料
- 《Android Programming: The Big Nerd Ranch Guide(Android 编程:权威指南)》;- 《Head First Android Development(深入浅出Android 开发)》;- 《Android 开发艺术探索》;- 《Android 设计模式源码分析》;- 《Android 开发精要》;- 《App 研发录》。
转载于:https://www.cnblogs.com/sharemi/p/6821545.html
20169211 2016-2017-2 《移动平台开发实践》 第十周实验总结相关推荐
- 20189200余超 2018-2019-2 移动平台应用开发实践第十周作业
20189200余超 2018-2019-2 移动平台应用开发实践第十周作业 偏好 在Android应用中,我们常需要记录用户设置的一些偏好参数,,此时我们就需要用SharedPreferences和 ...
- 20189208 2018-2019-2 《移动平台开发实践》分析小组项目代码
20189208 2018-2019-2 <移动平台开发实践>分析小组项目代码 一.代码的组成部分 app: manifests AndroidManifest.xml java com. ...
- 20189208杨晨曦《移动平台开发实践》第9周学习总结
<移动平台开发实践>第9周学习总结 教材学习内容总结 课堂笔记-正则表达式 ab+:a+一个以上的b *:0次或多次 普通字符:字母数字下划线 \d:数字0-9 \w:字母数字下划线 \s ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第七周作业
20189200余超 2018-2019-2 移动平台应用开发实践第七周作业 布局 在这一节中首先学习了java的页面布局,在此基础之上来进行了编程. 图片如下: 代码如下: *** 使用代码进行登录 ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第六周作业
20189200余超 2018-2019-2 移动平台应用开发实践第六周作业 Android简介.活动.UI组件 1.Android系统架构 这是Android系统架构图,够一目了然了吧,Androi ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第八周作业
20189200余超 2018-2019-2 移动平台应用开发实践第八周作业 ListView 1.自定义BaseAdapter,然后绑定ListView的最简单例子 先看看我们要实现的效果图: 一个 ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第十一周作业
20189200余超 2018-2019-2 移动平台应用开发实践第十一周作业 制作视频 本节是Android多媒体基本API调用的一节,带来的是MediaRecord的简单使用, 用法非常简单,我们 ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业
20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业 服务 Service的声明 Service是Android中的四大组件,使用它一定要在AndroidManifest.x ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第三周作业
2018-2019-2 移动平台应用开发实践第三周作业 核心类 基本类型的封装类 封装类: java语言认为一切皆对象.8个基本数据类型野应该具备对应的对象.通过封装类可以把8个基本类型的值封装对象进 ...
- 《移动平台开发》第3周学习总结
20189208 2018-2019-2 <移动平台开发>第3周学习总结 教材学习内容总结 第五章 Java中有几个非常重要的类,要深入理解.本章主要学习了 java.lang.Strin ...
最新文章
- 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法)
- java facets_Java UIComponent.getFacets方法代码示例
- 微软和谷歌的人工智能,在SuperGLUE基准测试中超越了人类
- JDBC PreparedStatement 实现原理【推荐阅读】
- 关于ASP.NET MVC
- Python数据清洗基本流程
- Linux杂碎2/SHELL
- 数据结构与算法之循环队列的操作
- WebGIS中利用AGS JS+eCharts实现一些数据展示的探索
- 利用计算机进行频数分布表制作,实验三 利用Excel软件作频数分布表和统计图表...
- BT1120协议详解
- FFmpeg下载秒级 支持各个平台各个版本
- @Profile 注解的介绍
- 品质担当,有效提升办公生产力,永艺XY人体工学椅开箱实测
- 【2.5TB,磁盘自费】535亿余次HTTP请求,来自IUB的Click数据集
- Auto.JS简介与教程
- GraphQL 概念入门
- Spring IOC的工作原理
- Python中pupl的基础操作
- 7月18日服务器维护时,2018年7月18日维护公告
热门文章
- 工程师必读 微软如何部署Exchange2010
- 智能合约和区块链技术:入门指南
- 编程基础 垃圾回收_为什么我回收编程问题
- Hadoop集群的基本操作(一:HDFS操作及MapReduce程序练习)
- 1035 Password
- (C++)1037 在霍格沃茨找零钱的两种解法
- Java入门培训班怎么选择
- JHipster开发环境安装
- 大叔也说并行和串行`性能提升N倍(N由操作系统位数和cpu核数决定)
- What’s new: Windows Phone 7 与 Windows Phone 6.5功能对比