zoukankan      html  css  js  c++  java
  • 20155336虎光元实验四 Android开发基础

    20155336虎光元实验四 Android开发基础

    实验内容

    • 1:完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号
    • 2:创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
    • 3:修改代码让Toast消息中显示自己的学号信息
    • 4:修改布局让P290页的界面与教材不同
    • 5:运行教材本章相关代码并截图

    首先安装Android Studio

    按照娄老师教程来:

    • 安装安卓:

    一路按照教程next,直至安装完毕:

    完成安装后点击运行,因为是第一次使用就选择了I do not hava a previous version of Studio or I do not want to import my settings这一选项 之后打开了软件后,发现了这个问题。

    这个问题是关于没有选择安装SDK的问题。在进入提示后要安装SDK。

    其实会发现在配置SDK页面下是找不到SDK文件的存在,其实并不是不存在,而是默认隐藏起来了,所以通过我的电脑,进入DATA APP的文件夹将它设置为显示,这样就可以成功配置SDK。

    • 运行Android Stdio

      打开软件后,成功配置了文件位置等问题就可以很好的解决了。
      
      在欢迎界面选择Empty Activity
      
      进入软件,新建module,在activity_main.xml之下,找到helloworld语句。找到代码,可以修改文本内容,字体大小,颜色等问题。
      
      修改这些项目不仅可以从代码进行修改,还可以从列表里修改.
      

    实验结果

    任务1

    对于这个任务,我们只需要将布局文件activity_main.xml中相应的内容稍做修改:
    
    将其中的android:text="Hello World!"改为android:text="Hello World!
    	20155336"即可。
    

    任务2

    • 配置Activity

      • 在文件AndroidManifest.xml中,只要为application...元素添加activity...子元素,即可配置Activity。
      • 在这个任务中,我们需要调用ThirdActivity,所以在AndroidManifest.xml中再添加一个activity...>即可。
    • 启动、关闭Activity

      • 每一个控制文件的Activity都需要有对应的启动程序文件(.java),和相应的布局文件(.xml)。
      • 在这个任务中,要求让MainActivity启动ThirdActivity,所以还需要修改MainActivity,相应代码段改为:

        @Override
              public boolean onTouch(View arg0, MotionEvent event) {
              Intent intent = new Intent(this, ThirdActivity.class);
              intent.putExtra("message", "虎光元20155336");
              startActivity(intent);
              return true;
              }
        

    任务3

    • Toast是Android中用来显示信息的一种机制。Toast显示的时间有限,在经过一段时间后就会自动消失。
    • Toast有很多用法,如默认显示、自定义显示位置、带图片的显示、完全自定义显示、其他线程调用显示等等。这里展示最常用的默认显示。

    activity_main示例如下:

    <?xml version="1.0" encoding="utf-8"?>
    <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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.dragon.toast.Main">
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="虎光元20155336"
        android:id="@+id/btn1"
        android:layout_alignParentTop="true"
        android:layout_marginTop="31dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    

    MainActivity.java示例如下:

    @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,"虎光元20155336", Toast.LENGTH_LONG);
                                            toast.show();
                                        }
                                    });
    

    任务4

    P290是一个帧布局的示例,那么我们就以这个为例进行具体说明。

    • 帧布局容器为每个组件创建一个空白区域,一个区域称为一帧,这些帧会根据FrameLayout中定义的gravity属性自动对齐。
    • 我们需要为组件添加layoutgravity属性,从而自定义组建的对齐方式。如果不使用layoutgravity属性,多项内容会重叠。
    • layout_gravity可以使用如下所示的取值:

      • top:将对象放在其容器的顶部,不改变其大小;
      • bottom:将对象放在其容器的底部,不改变其大小;
      • left:将对象放在其容器的左侧,不改变其大小;
      • certer_vertical:将对象纵向居中,不改变其大小,垂直方向上居中对齐;

    任务5

    以课本P298为例,代码如下:

    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++]);
    }
    

    当用户按下(或触碰)时钟的时候,会调用该方法并接受时钟对象。要修改时钟的颜色,需要调用其setBackgroundColor方法,传入一个颜色对象,从而实现触碰时钟改变颜色。

    实验体会与总结

    本次实验总体来说比较简单,主要是为了熟悉Android Studio的开发环境。一开始没接触的时候以为会很难,其实打开之后发现它和IDEA的界
    
    面非常类似,也就是基于IDEA平台进行开发的。慢慢地,也开始体会到这个软件的强大之处,首先,它上手非常快,因为我们平常用的编写Java
    
    代码的软件就是IDEA。此外,它还能完全模拟手机,让我们看到自己开发的软件真正出现在手机中的效果。总的来说,不论怎么样java语言总是
    
    要很牢固的。
  • 相关阅读:
    [转]自定义水晶报表纸张大小
    [转]Winform(C#)DataGridView显示Tooltip
    格式化日期字符串
    工具下载地址
    servlet: org.apache.tomcat.util.http.fileupload.FileUploadException: Processing of multipart/formdata request failed
    <<精通Spring2.x>>笔记:第2章学习源码
    andriod 缩略图Thumbnails学习
    转: Eclipse程序员要掌握的常用快捷键
    代码:指定大小的图片
    Android自定义的Camera的图片会90度旋转问题
  • 原文地址:https://www.cnblogs.com/hxl681207/p/6933186.html
Copyright © 2011-2022 走看看