1. 程式人生 > >安卓開發1——活動與Intent的使用

安卓開發1——活動與Intent的使用

實驗內容:

1、設計一個新聞類用於儲存新聞內容,如:        

class News{

          public String title;

          public String content;

          public String Source;

          public String Time;

}

2、讓程式預設載入ListActivity,建立長度為2的News物件陣列,併為其硬編碼賦值,將兩個陣列元素中的值分別載入到兩個新聞列表項中

3、點選列表項,進入Detail,使用Intent將該列表項對應的News物件值傳入,並顯示在介面中

4、進入DetailActivity和退出DetailActivity時,分別記錄時間,如果使用者停留時間超過30秒,則向List傳值,表示該新聞已讀,ListActivity將標記為已讀的文字顯示為灰色

實驗過程:

1、建立ListActivity和DetailActivity兩個活動,分別對應activity_list和activity_detail佈局。首先設計介面佈局,activity_list為新聞列表佈局,activity_detail為新聞詳情佈局,總體採用線性佈局,佈局如下:

2、在包下新建一個News的java類,用於儲存新聞內容,程式碼如下。

public class News {

        public String title;
        public String content;
        public String Source;
        public String Time;

    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getSource() {
        return Source;
    }
    public void setSource(String source) {
        Source = source;
    }
    public String getTime() {
        return Time;
    }
    public void setTime(String time) {
        Time = time;
    }
}

3、將ListActivity註冊為主活動,並在程式碼中建立長度為2的News物件陣列。並將新聞的資訊資料載入到對應的新聞列表中。

4、在主活動中點選某個新聞,進入DetailActivity,中間用Intent傳遞新聞資料並顯示在介面中。

 

5、在進入DetailActivity和退出DetailActivity時,分別記錄時間,並求出差值,若超過30秒(此處我將時間改為了5秒),則將該新聞加入List,在主活動中對包含在List中的新聞列表進行灰色顯示。

DetailActivity中新增程式碼:

                                新聞首頁效果:                                                                       點選第一條新聞進入新聞詳情頁:

                             

達到瀏覽時間後返回新聞列表,已讀新聞標題字型變為灰色: