20165310 Java實驗四 《Android程式設計》

來源:互聯網
上載者:User

標籤:hot   增加   底部   五個   對象   取值   資料   tcl   abc   

20165310 實驗四 《Android程式設計》第24章:初識Android任務一:改寫res目錄中的內容,Hello World後要顯示自己的學號,自己學號前後一名同學的學號

首先我們要先瞭解Android Studio的Project結構,其中我們需要編輯的內容集中在app目錄中。

  • build:存放項目的build檔案,自動產生。
  • libs:引入的庫一般存放在libs中。
  • src:在src目錄中儲存了開發人員編寫的程式檔案,我們主要的學習內容也在這個目錄下。
    • AndroidManifest.xml:這是一個控制檔案,用來描述應用程式。不同的參數表示不同的含義,例如“manifest”為根節點,描述了package中的所有內容;“application”元素可以包含application的一些全域和預設的屬性,如標籤、icon、主題等等;“activity”是與使用者互動的主要工具,通常包含一個或多個activity元素,描述App中的各種活動。 所有新增的活動必須在其中申明,否則無法運行。
    • java目錄:存放活動的原始碼,所有的使用中的程式在這個目錄下建立編寫。
    • res目錄:存放了應用程式使用到的各種資源,如xml介面檔案、圖片、資料等。通常包含drawable子目錄、layout子目錄、values子目錄。
      • drawable:存放解析度不同的圖片,app的表徵圖等。
      • layout:存放xml介面布局檔案,主要用於顯示使用者操作介面,Java檔案夾中的活動的xml檔案在此目錄下建立編寫。
      • values:存放不同類型的資料,如string、array等。

對於這個任務,我們需要對res->layout ->activity_main.xml中相應的內容進行修改:

將其中的android:text="Hello World!"改為android:text="Hello World!\n20165310\n2065310\n20165311",運行結果如顯示:

第25章:活動建立 ThirdActivity, 在ThirdActivity中顯示自己的學號,修改代碼讓MainActivity啟動ThirdActivity
  • 建立活動ThirdActivity
?```javapackage com.example.abc.a20165310exp4_2;import android.support.v7.app.AppCompatActivity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class ThirdActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_third);    }}?```
  • 修改MainActivity,利用 intent相關函數,使主函數能夠觸發ThirdActivity,新增OnTouch方法如下:

    @Override    public boolean onTouch(View arg0, MotionEvent event) {        Intent intent = new Intent(this, ThirdActivity.class);        startActivity(intent);        return true;    }
  • AndroidManifest.xml 進行活動註冊:

    <activity            android:name=".ThirdActivity"            >        </activity>
  • 建立activity_third.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: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=".ThirdActivity" >    <TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="20165310" /></RelativeLayout>

    運行結果如下:

    第26章:UI組件任務三:修改代碼讓Toast訊息中顯示自己的學號資訊
  • ToastToast是Android中用來顯示資訊的一種機制。Toast顯示的時間有限,在經過一段時間後就會自動消失,並不佔用任何記憶體。Toast有很多用法,如預設顯示、自訂顯示位置、帶圖片的顯示、完全自訂顯示、其他線程調用顯示等等。這裡展示最常用的預設顯示。

  • MainActivity進行修改編輯:

    package com.example.abc.a20165310exp4_3;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;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.ss1);        btnshow1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast toast = Toast.makeText(MainActivity.this, "20165310", Toast.LENGTH_LONG);                toast.show();            }        });    }}
  • activity_main.xml進行編輯:

    <?xml version="1.0" encoding="utf-8"?><LinearLayout    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:layout_gravity="center"    android:gravity="center_horizontal"    android:padding="120dp"    android:orientation="vertical"    tools:context=".MainActivity">    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="right"        android:layout_marginTop="16dp"        android:paddingLeft="16dp"        android:paddingRight="16dp"        android:text="20165310xw"        android:id="@+id/ss1"  /></LinearLayout>
  • 運行結果如下:

第27章:布局任務四:修改布局讓P290頁的介面與教材不同
  • 幀版面配置容器為每個組件建立一個空白地區,一個地區稱為一幀,這些幀會根據FrameLayout中定義的gravity屬性自動對齊。
  • 我們需要為組件添加layout_gravity屬性,從而自訂群組建的對齊。如果不使用layout_gravity屬性,多項內容會重疊。
  • layout_gravity可以使用如下所示的取值:
    • top:將對象放在其容器的頂部,不改變其大小;
    • bottom:將對象放在其容器的底部,不改變其大小;
    • left:將對象放在其容器的左側,不改變其大小;
    • certer_vertical:將對象縱向置中,不改變其大小,垂直方向上置中對齊;
    • ......

修改後的xml代碼如下:

?

<?xml version="1.0" encoding="utf-8"?><FrameLayout    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:orientation="horizontal"    android:layout_width="match_parent"    android:layout_height="match_parent">    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="150dp"        android:layout_marginTop="150dp"        android:text="20165310" />    <ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="30dp"        android:layout_marginTop="60dp"        android:alpha="0.45"        android:src="@android:drawable/alert_dark_frame" />    <ImageButton        android:id="@+id/imageButton"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:srcCompat="@android:color/holo_orange_dark" />    <ImageButton        android:id="@+id/imageButton2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:srcCompat="@android:drawable/btn_star" /></FrameLayout>

運行結果如下:

第28章:監聽器任務五:運行教材本章相關代碼並
  • Android是基於事件的。使用活動中的一個視圖進行的使用者互動,可能會觸發一個事件,包括點擊、長按、觸碰和按鍵等等。
  • 要讓程式響應某一個事件,需要為該事件編寫一個監聽器。也就是要實現嵌入在android.view.View類中的一個介面。比如OnClickListener介面的onClick()方法。

當使用者按下(或觸碰)時鐘的時候,會調用該方法並接受時鐘對象。要修改時鐘的顏色,需要調用其setBackgroundColor方法,傳入一個顏色對象,從而實現觸碰時鐘改變顏色。 增加一個Android表徵圖與五個五角星,點擊五角星,五角星會從第一個開始變亮直到全亮。

  • MainActivity進行修改編輯:

    package com.example.abc.a20165310exp4_5;import android.support.v7.app.AppCompatActivity;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {    int counter = 0;    int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN,Color.YELLOW,            Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY,            Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW , Color.GREEN};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void changeColor(View view) {        if (counter == colors.length) {            counter = 0;        }        view.setBackgroundColor(colors[counter++]);    }}
  • activity_main.xml進行編輯:

    <?xml version="1.0" encoding="utf-8"?><RelativeLayout    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"    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=".MainActivity">    <AnalogClock        android:id="@+id/analogClock1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_marginBottom="195dp"        android:onClick="changeColor" />    <RatingBar        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_marginBottom="82dp" />    <ImageView        android:id="@+id/imageView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:layout_marginTop="144dp"        android:src="@mipmap/ic_launcher" /></RelativeLayout>
  • 運行結果如下:

實驗感想
  • 安裝Android Studio的過程出現許多困難,最後進行了客服,過程中學習到很多知識。
  • 雖然說Android開發是基於Java的,但是不管是從Project的結構還是對於reg的初次接觸,都有許多新內容需要學習,本次實驗督促了我們的理論學習也鞏固了理論知識。

20165310 Java實驗四 《Android程式設計》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.