20172302《程序设计与数据结构》实验四Android程序设计实验报告

课程:《程序设计与数据结构》

班级: 1723

姓名: 侯泽洋

学号:20172302

实验教师:王志强老师

实验日期:2018年5月30日

必修/选修: 必修

1.实验内容

  • (1)Android Stuidio的安装测试:
    参考《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调试应用程序html

  • (2)Activity测试
    参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
    构建项目,运行教材相关代码
    建立 ThirdActivity, 在ThirdActivity中显示本身的学号,修改代码让MainActivity启动ThirdActivityjava

  • (3)UI测试
    参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
    构建项目,运行教材相关代码
    修改代码让Toast消息中显示本身的学号信息python

  • (4)布局测试
    参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
    构建项目,运行教材相关代码
    修改布局让P290页的界面与教材不一样android

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

2.实验过程及结果

(1)实验一:完成Hello World, 要求修改res目录中的内容,Hello World后要显示本身的学号

完成这个任务,首先须要了解Android应用程序文件的组成:数据结构

  • src:
    在src目录中保存了开发人员编写的程序文件。ide

  • manifest:
    其中包含了AndroidManifest.xml。这是一个控制文件,用来描述应用程序。布局

  • res:
    存放了应用程序使用到的各类资源,如xml界面文件、图片、数据等。一般包含drawable子目录、layout子目录、values子目录三个。学习

接下来是实验过程,实验中在text下加入内容学号,其中还对文本的背景颜色和文字颜色进行了修改,实验结果:
测试

(2)实验二:建立 ThirdActivity, 在ThirdActivity中显示本身的学号,修改代码让MainActivity启动ThirdActivity

这里是使用一个按钮,经过点击按钮实现这个启动另外一活动,具体代码见下:

Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Intent intent = new Intent(MainActivity2.this,ThirdActivity.class); // 建立一个Intent对象
                startActivity(intent);
                //Toast.makeText(MainActivity.this, "Hello world!", Toast.LENGTH_SHORT).show();
            }
  });

实验完成过程截图:

(3)实验三:修改代码让Toast消息中显示本身的学号信息

这里我是经过按钮实现Toast消息显示,Toast有不少用法,如默认显示、自定义显示位置、带图片的显示、彻底自定义显示、其余线程调用显示等等。
其中实现代码见下:

Button btnshow1 = (Button) findViewById(R.id.button);
        btnshow1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast toast = Toast.makeText(MainActivity.this,"20172302", Toast.LENGTH_LONG);
                toast.show();
            }
        });

完成实验截图:

(4)实验四:修改布局让P290页的界面与教材不一样

书上给出的代码例子包括如下布局:

线性布局LinearLayout:将全部子视图以相同方向(水平地或竖直地)对齐的一个布局;
相对布局RelativeLayout:根据子视图的一个或多个同级视图的位置来排列它的一个布局;
帧布局FrameLayout:将每个子视图放在另外一个视图顶部的一种布局;
表格布局TableLayout:将子视图按照行和列来组织的一种布局;
网格布局GridLayout:将子视图放置到一个栅格中的一种布局

该项实验主要考察书上内容,对书上的代码进行修改就能够实现,其中完成实验时将水平布局更改成垂直布局。这里修改的是res目录下的layout文件夹下的文件,是对布局文件进行的修改,修改后结果见下图:

(5)实验五:运行教材相关代码

这里的就比较简单一些,对教材代码运行相关截图见图:


3. 实验过程当中遇到的问题和解决过程

  • 问题1:实验开始以前就已经遇到的书上的代码的导入问题,gradle版本不匹配的问题。

  • 问题1解决方案:这个问题一开始不是这样,具体是什么错误没有保存下来,从网上找了不少种解决方案,包括修改build.gradle文件还有那个gradle版本的更改,从网上也下了好多版本的gradle压缩包,最后都没有解决,可是错误的类型是会不断的发生变化,这里就彻底的是不太了解,有的时候有些问题多弄几回就能够调好,不知道是否与网速有关系。回到这个问题,最终的解决办法是去修改File--Project Structure--Project中的内容,具体的修改见下面,

这里的修改主要就是为了是书上代码的gradle版本与咱们所使用的这个最新版的Android Stutio 的gradle版本相匹配,固然也多是能够去下载那个版本的gradle,可是我试了不少遍都没有成功。修改完之后会有一些警告,但程序已经能够执行了,这里的警告主要就是说'compile'这个词在2018年年末将会被'implementation'所彻底取代,但如今彻底是能够用,若是想要不显示这个警告,能够去build.gradle文件中将这个词改换一下,就不会再显示。

  • 问题2:关于将代码上传到码云,这里使用git进行上传,始终是push rejected

  • 问题2解决方案:这里经过搜索,找到了一种方法,在命令行模式下输入git pull origin master --allow-unrelated-histories,输入之后就是会能够正常上传。但偶尔仍是会出现错误,这里遇到的另外一种问题是git pull failed :

参考连接:Git出现error
这里的解决方案我采用了第二种的直接覆盖本地的文件,命令行输入git reset --hard,结果也就正常了。

  • 问题3:关于Android Stutio 中时不时的出现R类缺失的问题,出现"cannot resolve symbol R"的问题。这个好像缘由有不少。有的时候发现下面正在进行这个indexing····的操做时,忽然就会R类变红,这个时候等这个进程结束就会恢复正常。这个多是在重构这个R类吧,致使R类的丢失。

  • 问题3解决方案:具体的解决方案:试过成功的有Build--Rebuild Project或者Build--Clean Project,这个是能够的,有的方法给出的再去建立一个R类,这个无效。而后从这里见了这么一种方法,留着备用。连接:Android Studio中R文件丢失的解决办法

其余(感悟、思考等)

  • 本周的收获是,第一次接触Android项目,遇到的问题不少,包括Android Stutio软件的使用也遇到了不少不会解决的问题,一开始接触的东西始终是很难去弄明白,但愿到后面能轻松一点,第一次将本身的应用装到手机仍是感受颇有意思的。此次的实验项目难度不大,主要是时间花在了前期的项目导入上,那个改动了不少次,花费了不少的时间精力,最后改出来之后作起这个实验的后几个项目来就不算困难了。

参考资料

相关文章
相关标签/搜索