20169207 2016-2017-2 《移動平臺應用開發實踐》第八週學習總結實驗報告二

進度條和學習過程可視化:避免半途而廢
閱讀學習教材《Java和Android開發學習指南(第二版)(Java for
Android.2nd)》第2九、30、3一、32章,,有問題「課程答疑小組)」提問,24小時內回覆,鼓勵解答別人問題,提問前請閱讀「如何提問」。
要在課程組織中創建學習項目,做業博客中要有statistics.sh腳本運行結果的截圖
參考示例 點評結對搭檔的博客和代碼
教材深刻學習關注豆列「《Java程序設計和Android開發》課程」。
在本週日晚12:00前發學習博客(標題:學號 2016-2017-2 《移動平臺應用開發實踐》第五週學習總結),重點是遇到的問題和解決方案。不按時交做業會扣分。html

教材學習內容總結

第29章 操做欄

  • 1.操做欄是一個矩形窗口區域,包含了應用程序圖標,應用程序名稱以及其餘的導航按鈕。
getsupportActionBar().hide().
getsupportActionBar().show().
public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.main,menu);
        return true;//這裏指的是設置按鈕
    }
  • 2.添加操做項
switch(item.getItemId())
    case R.id.action_1:
            //do something

item能夠擁有以下的元素:
android:id.惟一的一個標識符。,引用程序中的操做項。
android:orderInCategory。項的順序編號。編號較小的項將會出如今編號較大的項的前面。
android:icon。若是操做項顯示爲一個操做按鈕的話,這是操做箱的圖標
android:title。操做標籤
android:showAsAction。這個值能夠是以下值的一個或多個的組合:ifRoom、never、withText、always和callapseActionView。android

  • 3.添加下拉式導航。一個下拉式的列表能夠用做一種導航模式。
  • 4.回退一步。能夠在一個活動的操做欄中設置應用程序圖標和活動標籤,以便按下該圖標時,應用程序可以向上回退一個層級。

第30章

  • 1.android中有3種類型的菜單:1.選項菜單。2.上下文菜單。3.彈出式菜單。
  • 2.菜單文件:group元素表示一個菜單分組。item元素表示一個菜單項。
  • 3.OptionsMenuDemo應用程序是一個簡單的應用程序,它在操做欄中使用一個選項菜單。
  • 4.上下文菜單:contextMenuDemo應用程序展示瞭如何在應用程序中使用上下文菜單,該應用程序的主活動使用了一個圖像按鈕,能夠長按該按鈕以顯示一個上下文菜單。
  • 5.彈出式菜單:彈出式和一個視圖相關聯,每次該視圖中發生一個事件的時候,就會顯示這個菜單。

第31章

  • 1.ListView是一個能夠顯示滾動的列表項的一個視圖,列表項可能來自於一個列表適配器或一個數組適配器。設計模式

  • 2.建立一個ListAdapter:ListAdapter的具體的實現之一是ArrayAdapter類。數組

  • 3.使用一個Listview:ide

  • 4.擴展ListActivity並編寫一個定製的適配器。:若是你的活動個只有一個LISTVIEW組件,你應該考慮擴展ListActivity類而不是Activity。函數

  • 5.樣式化選取的項:用戶可以清晰的看到lISTVIEW中當前選擇的項,這經常是想要的結果。學習

第32章GridView

  • 1.android.widget.GridView類是一個建立GridView的模板。測試

  • 2.使用GridView:該程序使用一個GridView來填充整個顯示區。this

教材學習中的問題和解決過程

實驗一

任務:
//定義一個數組
int arr[] = {1,2,3,4,5,6,7,8};
//打印原始數組的值
for(int i:arr){
System.out.print(i + " ");
}
System.out.println();
// 添加代碼刪除上面數組中的5
...
//打印出 1 2 3 4 6 7 8 0
for(int i:arr){
System.out.print(i + " ");
}
System.out.println();
// 添加代碼再在4後面5
...
//打印出 1 2 3 4 5 6 7 8
for(int i:arr){
System.out.print(i + " ");
}
System.out.println();設計

public class hello {
public static void main(String[] args )
{
    int[] a =new int[]{1,2,3,4,5};
    for(int i=0;i<a.length;i++)
         System.out.print(a[i]);
    System.out.println("");
    for(int j=a.length-1;j>=0;j--)
         System.out.print(a[j]);
         */
      int arr[] = {1,2,3,4,5,6,7,8};
      //打印原始數組的值
      for(int i:arr){
          System.out.print(i + " ");
      }
      System.out.println();
      // 添加代碼刪除上面數組中的5
     for(int i=4;i<arr.length-1;i++ )
           arr[i] = arr[i+1];
      arr[7] = 0;
      //打印出 1 2 3 4 6 7 8 0
      for(int i:arr){
          System.out.print(i + " ");
      }
      System.out.println();
      // 添加代碼再在4後面5
      for(int i=arr.length-1;i>4;i-- )
           arr[i] = arr[i-1];
      arr[4] = 5;
      //打印出 1 2 3 4 5 6 7 8
      for(int i:arr){
          System.out.print(i + " ");
      }
      System.out.println();
}
}

實驗二

實驗三

實驗三 Java面向對象程序設計(http://www.cnblogs.com/rocedu/p/4472842.html)
對設計模式示例進行擴充,體會OCP原則和DIP原則的應用,初步理解設計模式
1: 讓系統支持Short類,並在MyDoc類中添加測試代碼代表添加正確,提交測試代碼和運行結的截圖,加上學號水印

實驗四

任務:以TDD的方式開發一個複數類Complex,要求以下:

// 定義屬性並生成getter,setter
double RealPart;
double ImagePart;
// 定義構造函數
public Complex()
public Complex(double R,double I)

//Override Object
public boolean equals(Object obj)
public String toString()

// 定義公有方法:加減乘除
Complex ComplexAdd(Complex a)
Complex ComplexSub(Complex a)
Complex ComplexMulti(Complex a)
Complex ComplexDiv(Complex a)

實驗實現代碼:

public class Complex {
    // 定義屬性並生成getter,setter
    double RealPart;
    double ImagePart;
    // 定義構造函數
    public Complex(){

        this.RealPart=1;
        this.ImagePart=1;
    };
    public Complex(double R,double I){

        this.RealPart=R;
        this.ImagePart=I;
        System.out.println(R+"+"+I+"i");
    };
    public void setRealPart(double a)
    {
        this.RealPart=a;
    }
    public double getRealPart()
    {
        return this.RealPart;
    }
    public void setImagePart(double a)
    {
        this.RealPart=a;
    }
    public double getImagePart()
    {
        return this.ImagePart;
    }

    //Override Object
    public boolean equals(Object obj)
    {
        if(this.toString().equals(obj.toString()))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public String toString()
    {
        return this.RealPart+"+"+this.ImagePart+"i\n";
    }

    // 定義公有方法:加減乘除
    Complex ComplexAdd(Complex a)
    {
        Complex c = a;
        c.RealPart +=this.RealPart;
        c.ImagePart+=this.ImagePart;
        return c;
    }
    Complex ComplexSub(Complex a)
    {
        Complex c= a;
        c.RealPart -=this.RealPart;
        c.ImagePart-=this.ImagePart;
        return c;
    }
    Complex ComplexMulti(Complex a)
    {
        Complex c= a;
        c.RealPart = this.RealPart* c.RealPart-this.ImagePart*c.ImagePart;
        c.ImagePart=this.ImagePart*c.RealPart+this.RealPart*c.ImagePart;
        return c;

    }
    Complex ComplexDiv(Complex a)
    {
        Complex c= a;
        c.RealPart = this.RealPart* c.RealPart-this.ImagePart*c.ImagePart;
        c.ImagePart=this.ImagePart*c.RealPart+this.RealPart*c.ImagePart;
        return c;
    }
}

實驗五

實驗六 使用starUML建模(這裏選用貓和狗繼承動物的例子)

相關文章
相關標籤/搜索