实验四Java Android简易开发

实验准备

在下载了官网上的说明包含sdk的安装包之后找不到sdk,需要重新下载sdk在将其地址输入Android Studio中。

在安装忘sdk之后就有有了新的问题在开启虚拟机的过程你可能发现新的问题就是又少了haxm。 这个在Android Studio的文件夹中有,你也可以自己下载之后再安装。

在安装过程中又可能有新的问题就是电脑不支持虚拟化,你需要开启虚拟化

  • 在准备的时候会花费比较多的时间。

活动一 Android Stuidio的安装测试

 Android Stuidio的安装测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
安装 Android Stuidio
完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
学习Android Stuidio调试应用程序
  • Android Studio 目录介绍

res:主要是资源目录,存储所有的项目资源

drawable:存储一些xml文件。

layout:存储布局文件

mipmap:存储原声图片资源

values:存储app引用的一些值

- colors.xml: 存储了一些color的样式

- dimens.xml:存储了一些公用的dp值

- strings.xml: 存储了引用的string值

- styles.xml: 存储了app需要用到的一些样式

Gradle Scripts:build.gradle为项目的gradle配置文件

  • 结果

活动二 Activity测试:

 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
构建项目,运行教材相关代码
创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
  • Activity 介绍

    (1)一个Activity通常就是一个单独的屏幕(窗口)。

    (2)Activity之间通过Intent进行通信。

    (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。

  • 生命周期图

  • 结果

活动三 UI测试:

 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
构建项目,运行教材相关代码
修改代码让Toast消息中显示自己的学号信息
提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@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;
}
}
  • 结果

活动四 布局测试:

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

  这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明为横向排放,也就是每个元素占一列。

  • 2.Relative Layout,相对布局

  RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above, android:layout_centerVertical等。注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常。

  • 3.AbsoluteLayout,绝对位置布局

  在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好的适配各种终端。

  • 3.AbsoluteLayout,绝对位置布局

  在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好的适配各种终端。

  • 结果

活动五 事件处理测试:

 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
构建项目,运行教材相关代码
提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
  • 代码
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="2dp"
<Button
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" />
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/cancelButton"
android:text="Save" />
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_marginTop="230dp"
android:padding="4dp"
android:layout_below="@id/cancelButton"
android:layout_centerHorizontal="true"
android:src="@android:drawable/ic_btn_speak_now" />
<LinearLayout
android:id="@+id/filter_button_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center|bottom"
android:background="@android:color/white"
android:orientation="horizontal" >
<Button
android:id="@+id/filterButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="Filter" />
<Button
android:id="@+id/shareButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="Share" />
<Button
android:id="@+id/deleteButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="Delete" />
</LinearLayout>
</RelativeLayout>
android:paddingRight="2dp">
  • 结果

总结

  • 问题

    在写程序时出现了R类丢失情况。

  • 解决方案:参考博客

  • 经验

    在进行准备的过程中与同学交流是最好的解决方案,每个都会与到不同的问题,一交流你就会发现你的问题就会被解决。

最新文章

  1. 与你相遇好幸运,用sinopia搭建npm私服
  2. docfx组件介绍--YamlSerialization
  3. jQuery.width()和jQuery.css(&#39;width&#39;)的区别
  4. ubuntu-12.10-server安装图形界面
  5. sql float 转换为 nvarchar
  6. JS-字符串操作,查找显示高亮
  7. JavaScript---基本语法
  8. Http、tcp、Socket连接区别
  9. 关键字throw(something)限制
  10. gitflow 在windows下的安装方法
  11. iOS 之UICollectionView 开发步骤 之 OC
  12. dede后台编辑器更改
  13. 剑指offer:链表中倒数第k个结点
  14. Android 常用数据操作封装类案例
  15. opencv学习笔记(五)
  16. Android使用内容提供者实现增删改查操作
  17. C# 压缩文件 的创建
  18. 将html转换为Drupal模板文件的一般步骤
  19. JDK,常见数据结构解读
  20. Bing词典vs有道词典比对测试报告

热门文章

  1. css横向 弹性盒子布局的一些属性
  2. Python 实现购物商城,含有用户入口和商家入口
  3. 最基础的PHP分类查询程序
  4. iOS-UISearchBar去掉边线
  5. Docker的初体验
  6. 无NavigationBar到有NavigationBar视图切换时的一个坑
  7. 原!findbugs:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 和 OBL_UNSATISFIED_OBLIGATION
  8. 我的Android进阶之旅------>Java全角半角的转换方法
  9. IOS研究之IOS7四种后台机制
  10. 【Sql Server】—sql Servler登录失败