20155215宣言 实验四 Andoid开发基础实验报告
20155215宣言 实验四 Andoid开发基础实验报告
实验要求
1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;
2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);
3.实验报告中统计自己的PSP(Personal Software Process)时间:
| 步骤 | 耗时 | 百分比 | 
|---|---|---|
| 需求分析 | ||
| 设计 | ||
| 代码实现 | ||
| 测试 | ||
| 分析总结 | 
实验内容
1.Android Stuidio的安装测试:
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
- 安装 Android Stuidio
 - 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
 - 学习Android Stuidio调试应用程序
 
Android Studio 是 Android 的官方 IDE。它是专为 Android 而打造,可以加快您的开发速度,帮助您为每款 Android 设备构建最优应用。
它提供专为 Android 开发者量身定制的工具,其中包括丰富的代码编辑、调试、测试和性能分析工具。
安装地址:
https://developer.android.google.cn/studio/install.html
《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章中的安装地址是无效的,然后我是参考老师给出的Android开发简易教程进行的安装。
我修改了res/layout/activity_main.xmlz中的内容,使他能够输出我的学号姓名,代码如下:
<?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="cn.edu.besti.is.xy.helloworld.MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World,20155215!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>


2.Activity测试:
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
- 构建项目,运行教材相关代码
 - 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
 - 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
 
《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章中主要讲的是Android编程中最重要的组件类型之一,活动。
启动一个活动就意味着显示一个窗口,主活动就意味着创建的第一个窗口。
这次的实验要求我们“创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity”,下面是我创建的 MainActivity:
package cn.edu.besti.is.xy.thirdactivity;
/**
 * Created by XY on 2017/5/18.
 */
//import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
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 implements
        OnTouchListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = (TextView) findViewById(R.id.textView1);
        tv.setOnTouchListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
// is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    @Override
    public boolean onTouch(View arg0, MotionEvent event) {
        Intent intent = new Intent(this, ThirdActivity.class);
        intent.putExtra("message", "20155215宣言");
        startActivity(intent);
        return true;
    }
}
ThirdActivity则如下所示:
package cn.edu.besti.is.xy.thirdactivity;
/**
 * Created by XY on 2017/5/18.
 */
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class ThirdActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third);
        Intent intent = getIntent();
        String message = intent.getStringExtra("message");
        ((TextView) findViewById(R.id.textView1)).setText(message);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_third, menu);
        return true;
    }
}

刚开始的时候我的虚拟器运行显示错误:

后来我比对他们已经完成的人的代码,修改了很久之后终于有了结果:

3.UI测试:
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
- 构建项目,运行教材相关代码
 - 修改代码让Toast消息中显示自己的学号信息
 - 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
 


4.布局测试:
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
- 构建项目,运行教材相关代码
 - 修改布局让P290页的界面与教材不同
 - 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
 


5.事件处理测试:
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
- 构建项目,运行教材相关代码
 - 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
 

实验感想
这次的实验感觉难度很大,我花费了大量的时间来完成。但是第一次自己设计安卓应用也觉得确实很有成就感,希望自己可以继续努力学习编程的知识。
PSP(Personal Software Process)时间
| 步骤 | 耗时 | 百分比 | 
|---|---|---|
| 需求分析 | 20min | 6.7% | 
| 设计 | 30min | 10% | 
| 代码实现 | 200min | 66.7% | 
| 测试 | 20min | 6.7% | 
| 分析总结 | 30min | 10% | 
20155215宣言 实验四 Andoid开发基础实验报告的更多相关文章
- 20155117王震宇实验四 Andoid开发基础实验报告
		
实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: - ...
 - 20145325张梓靖 实验四 "Andoid开发基础"
		
20145325张梓靖 实验四 "Andoid开发基础" 实验内容 使用 Android Studio 设计"Hello" 设计过程 创建项目 选择.xml中的 ...
 - 20145327 实验四 Andoid开发基础
		
20145327 实验四 Andoid开发基础 安装Android Studio 安装过程出现未找到SDK的错误,只需在打开界面找到右下角的设置按钮,将路径设置为如下就可以运行.(默认安装路径) 设计 ...
 - 20145201 实验四 Andoid开发基础
		
20145201 实验四 Andoid开发基础 AndroidStudio安装 首先设置环境变量: Windows环境下Android Studio v1.0安装: 安装完毕. 运行Andriod S ...
 - 20145109 实验四 Andoid开发基础
		
安装Android 打开 默认程序中有helloworld 按下下图红框中的键: 遇到问题: 方法:修改build.gradle
 - 20145301实验四 Android开发基础
		
20145301<Java程序设计>实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.26 15:30- ...
 - 实验四 Android开发基础
		
实验四 Android开发基础 实验内容 1.安装Android Studio 2.运行安卓AVD模拟器 3.使用安卓运行出虚拟手机并显示HelloWorld以及自己的学号 (一)SDK的安装 (二) ...
 - 20145337实验四Android开发基础
		
20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...
 - 20145225《Java程序设计》  实验四 Android开发基础
		
20145225<Java程序设计> 实验四 Android开发基础 实验报告 实验内容 安装Android Studio 运行安卓AVD模拟器 使用安卓运行出虚拟手机并显示HelloWo ...
 
随机推荐
- August 21st 2017 Week 34th Monday
			
In fact, the happiest fairy tale is no more than the simple days we have together. 其实全世界最幸福的童话,也比不上我 ...
 - Debian 静态网络配置
			
allow-hotplug enp6s0 iface enp6s0 inet static address gateway 192.168.2.1 # dns-* options are implem ...
 - LoadRunner 测试Socket接口函数说明
			
lrs_save_param_ex是lrs_save_param的扩展函数,包含了lrs_save_param的基本功能.其函数语法结构如下: int lrs_save_param_ex ( char ...
 - [转] linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程
			
分类: linux 2015-03-13 16:24 1572人阅读 评论(0) 收藏 举报linuxprofile关于登录linux时,/etc/profile.~/.bash_profile等几个 ...
 - navicat连接PostgreSQL报:column “rolcatupdate” does not exist ...错误的解决办法
			
avicat premium 连接PostgreSQL出现: column “rolcatupdate” does not exist ... 错误如图: 解决方案: 看看你的navicat 是否为最 ...
 - background-clip 实现字体渐变效果
			
background-clip 实现字体渐变效果 (一)类似KTV字幕效果 @-webkit-keyframes loop{ 0%{background-position: -800px 0;} 10 ...
 - SpringBoot实战(三)之使用RestFul Web服务
			
一.导入maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
 - toad调用存储过程,存储过程调用sql 类
			
1.定义一个sql 类Hello DROP JAVA SOURCE NEWXZXT."Hello"; CREATE OR REPLACE AND RESOLVE JAVA SOUR ...
 - 大话Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁
			
大话Linux内核中锁机制之内存屏障.读写自旋锁及顺序锁 在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论 ...
 - MySQL初体验--安装MySQL
			
操作系统版本:redhat 6.7 64位 [root@mysql ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server releas ...