2017-2018-2 20165306 实验四《Android开发基础》实验报告

实验四《Android开发基础》实验报告

实验报告封面

实验内容

Android程序设计-1

实验要求:

参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:

  • 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Stuidio

  • 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分

  • 学习Android Stuidio调试应用程序

知识点

  • 应用程序结构

实验内容

  • 将布局文件activity_main.xml中的android:text="Hello World!"改为android:text=“20165306 5305 5307"

Android程序设计-2

实验要求:

Activity测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:

  • 构建项目,运行教材相关代码

  • 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

知识点

package com.xyh.ThirdActivity;
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) {
    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", "20165306");
    startActivity(intent);
    return true;
  }
}

Android程序设计-3

实验要求:

UI测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:

  • 构建项目,运行教材相关代码

  • 修改代码让Toast消息中显示自己的学号信息

知识点

package MyApplication3.app.src.main.java.com.xyh.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnshow1 = (Button) findViewById(R.id.btn1);
btnshow1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast toast = Toast.makeText(MainActivity.this, "20165306", Toast.LENGTH_LONG);
        toast.show();
    }
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
 }
}

Android程序设计-4

实验要求:

布局测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:

  • 构建项目,运行教材相关代码

  • 修改布局让P290页的界面与教材不同

知识点

  - 线性布局:LinearLayout将所有子视图以相同的方向(水平或者垂直)对齐的一个布局
  - 相对布局:RelativeLayout根据子视图的一个或者多个同级视图的位置来排列他的一个布局
  - 绝对布局:AbsoluteLayout指定子元素的精确位置
  - 帧布局:FrameLayout将每一个子视图放在另一个子视图顶部的一种布局
  - 表格布局:TableLayout将子视图按照行和列来组织的一种布局
  - 网格视图:GridLayout将子视图放置到一个栅格中的一种布局

Android程序设计-5

实验要求:

事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:

  • 构建项目,运行教材相关代码

知识点

遇到的问题及解决

  • Gradle project sync failed.Basic functionality(e.g.editing.debugging)will not work properly.

解决方法链接:Android studio的gradle project sync failed

需求分析:

步骤 耗时 百分比
需求分析 40分钟 16.7%
设计 90分钟 37.5%
代码实现 50分钟 20.8%
测试 30分钟 12.5%
分析总结 30分钟 12.5%
原文地址:https://www.cnblogs.com/5306xyh/p/9064095.html