博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20155229--Java实验四《Android开发基础》
阅读量:6479 次
发布时间:2019-06-23

本文共 6126 字,大约阅读时间需要 20 分钟。

20155229 Java实验四《Android开发基础》

实验内容:

任务一:

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

  • 安装 Android Stuidio
  • 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号
  • 学习Android Stuidio调试应用程序
修改res目录中的内容,显示自己的学号:

在res中,存在activity_main.xml这个布局文件,原布局文件为:

这时我们在

android:text="Hello World!"

这一行添加自己的学号

android:text="Hello World!20155229"

832288-20170521132933869-1396837033.jpg

学习Android Stuidio调试应用程序
  • 使用日志消息调试应用程序,选择ToolsAndroidAndroid Device Monitor会出现LogCat的信息。
    832288-20170521133056322-1653429185.jpg

832288-20170521133106760-159718823.jpg

  • 设置断点
    添加一行断点,选择RunToggle Line Breakpoint,然后选择RunDebug app进行调试应用程序。

832288-20170521133113588-2005974574.jpg

832288-20170521133119182-2049038754.jpg

任务二

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

  • 构建项目,运行教材相关代码
  • 创建ThirdActivity,在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

  • 教材中MainActivity的代码为(输入了自己学号的信息):

package com.example.y50c.helloworld;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 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", "20155229fyh");        startActivity(intent);    return true; }}

学习了SecondActivity的代码及布局文件,创建ThirdActivity的代码及布局文件为:

  • ThirdActivity:
package com.example.y50c.helloworld;/** * Created by Y50C 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;    }}
  • activity_third.xml

刚开始运行遇到的问题是:

832288-20170521133249322-223650426.jpg

832288-20170521133259932-1610865260.jpg

然后对照已经做出来的同学的代码进行修改,最后成功的解决了问题

832288-20170521133337135-720415726.jpg

任务三

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

  • 构建项目,运行教材相关代码
  • 修改代码让Toast消息中显示自己的学号信息

  • Toast是一个小的弹出对话框,用于显示一条消息作为给用户的反馈

  • MainActivity代码:

package com.example.y50c.fyh20155229;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,"20155229fyh", Toast.LENGTH_LONG);                toast.show();            }        });    }    @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;    }
  • activity_main
  • menu_main
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.testmenu_xml.MainActivity" >

832288-20170521133357463-435297310.jpg

任务四

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

  • 构建项目,运行教材相关代码
  • 修改布局让P290页的界面与教材不同

  • 布局文件

android:textColor可以修改输出的颜色

  • eg.

832288-20170521133411791-1544376110.jpg

android:textSize可以修改输出的大小

832288-20170521133429447-385042540.jpg

任务五

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

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

  • MainActivity

package com.example.y50c.renwusi;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.AnalogClock;public class MainActivity extends Activity {    int counter = 0;    int[] colors = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY, Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @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;    }    public void changeColor(View view) {        if (counter == colors.length) {            counter = 0;        }        view.setBackgroundColor(colors[counter++]);    }}
  • activity_main
  • menu_main
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.testmenu_xml.MainActivity" >

832288-20170521133447057-1849031822.jpg

实验体会

本次实验不同于之前的,运用AndroidStudio进行应用开发。不管是在安装中,还是做题中都遇到了问题,而且软件运行起来特别慢,特别是再使用虚拟机进行git代码上传的时候,电脑的运行内存能够到94%。从题目来看,五个实验任务都比较基础,在教材的帮助下能够将五个实验完成。

我的PSP时间

步骤 耗时 百分比
需求分析 20分钟 12.5 %
设计 30分钟 18.75%
代码实现 80分钟 50.0%
测试 20分钟 12.5%
分析总结 10分钟 6.25%

参考资料

转载于:https://www.cnblogs.com/fyhtvxq/p/6884665.html

你可能感兴趣的文章
Git服务端和客户端安装笔记
查看>>
Spring Security(14)——权限鉴定基础
查看>>
IntelliJ IDEA快捷键
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
查看>>
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>
java mkdir()和mkdirs()区别
查看>>
桌面支持--excel自动换行
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
IT人员的职业生涯规划
查看>>
sorry,you must have a tty to run sudo
查看>>
ios开发中使用正则表达式识别处理字符串中的URL
查看>>
项目中的积累,及常见小问题
查看>>
Python类型转换、数值操作(收藏)
查看>>
oracle11g dataguard 安装手册(转)
查看>>
java并发包分析之———Deque和LinkedBlockingDeque
查看>>