实验四《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
- gradle下载链接:Gradle Distributions
需求分析:
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 40分钟 | 16.7% |
设计 | 90分钟 | 37.5% |
代码实现 | 50分钟 | 20.8% |
测试 | 30分钟 | 12.5% |
分析总结 | 30分钟 | 12.5% |