20165226 实验四 Android程序设计

实验四 Android程序设计

实验目的

  • 一、Android Studio的安装测试

  • 二、Activity测试

  • 三、UI测试

  • 四、布局测试

  • 五、事件处理测试

实验内容及步骤

(一)Android Studio的安装测试

  • 安装Android Studio
    1047870-20180514160131663-836272808.png

成功安装后再进行Android SDK。

  • 修改res目录中的内容,hello world后要显示自己的学号,以及自己学号前后一名同学的学号
    1047870-20180514161021988-1100676988.png

(二)Activity测试

  • 构建项目ThirdActivity

  • 创建ThirdActivity,在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
package com.example.xiang.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) {
// 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", "20165226");
        startActivity(intent);
        return true;
    }
}
  • 提交代码运行截图和码云Git链接,截图加学号水印
    1047870-20180514161302298-111201301.png
    1047870-20180514161314788-547587431.png

(三)UI测试

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

    package MyApplication3.app.src.main.java.com.example.xiang.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, "20165226", 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.xml
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".MainActivity">
      <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="20165226"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintLeft_toLeftOf="parent"
          app:layout_constraintRight_toRightOf="parent"
          app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>
  • 结果
    1047870-20180514165556224-1008011936.png

(四)布局测试

  • 构建项目,运行教材相关代码
  • 修改布局让P290页的界面与教材不同
    • activity_main.xml
    <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"
     android:paddingRight="2dp">
     <Button
         android:id="@+id/cancelButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="20165226"
         android:layout_marginTop="70dp"
         android:layout_alignParentTop="true"
         android:layout_centerHorizontal="true" />
     <Button
         android:id="@+id/saveButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="刘香杉"
         android:layout_below="@+id/cancelButton"
         android:layout_alignLeft="@+id/cancelButton"
         android:layout_alignStart="@+id/cancelButton"
         android:layout_marginTop="23dp" />
     <ImageView
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:layout_marginTop="45dp"
         android:padding="4dp"
         android:src="@android:drawable/ic_dialog_email"
         android:id="@+id/imageView"
         android:layout_below="@+id/saveButton"
         android:layout_centerHorizontal="true" />
     <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>
  • 结果
    1047870-20180514165953974-1683060217.png

(五)事件处理测试

  • 构建项目,运行教材相关代码
<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="150dp"
    android:paddingLeft="150dp"
    android:paddingRight="150dp"
    tools:context=".MainActivity">
    <AnalogClock
        android:id="@+id/analogClock1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="200dp"
        android:onClick="changeColor" />
</RelativeLayout>
  • 结果
    1047870-20180514170218005-1018323513.png

遇到问题及解决方案

  • 问题1:下载gradle时,不能正常顺利下载,在一次次点击try again始终弹出design not successful
    1047870-20180514170605403-636337768.png

  • 问题1解决方案:外下,然后把gradle拖进相关文件,或者检查等待网络畅通。
  • 问题2:在运行时,因文件命名有误,build failed
    1047870-20180514170935822-867528756.png

  • 问题2解决方案:通过重命名文件为menu_main.xml,成功解决问题。

统计PSP(Personal Software Process)时间:

步骤耗时百分比
设计90min50%
代码实现4525%
测试2011%
分析总结2514%

实验小结

本次实验主要学会了下载安装Android Studio及其使用情况。Android Studio相对来说十分陌生,但他是建立在java基础之上,有Java搭建平台会好懂很多。在各种尝试下仍不能运行时,有些焦急,但在顺利解决问题之后,特别是显示出虚拟界面时,有小小的满足与成就。

转载于:https://www.cnblogs.com/musea/p/9037166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值