4. 首頁模組(二)之工具類
上一節對歡迎模組進行了綜述(可參見 2. 歡迎模組 進行了解),接下來將從首頁模組開始詳細介紹:
- [首頁模組(一)之搭建伺服器]
- [首頁模組(二)之工具類]
- [首頁模組(三)之首頁]
- [首頁模組(四)之新聞詳情]
- [首頁模組(五)之Python學科]
知識點:
- 掌握工具類的開發,建立工具類
工具類:
任務綜述:
由於專案中會遇到多個介面重複使用同一個方法的情況,因此為了減少重複程式碼量,需要建立一個工具類存放這些方法,當任意一個介面需要呼叫該方法時,直接呼叫工具類中的方法即可。
1.建立Constant類
任務分析:
由於專案是從Tomcat(一臺小型伺服器)中獲取資料並展現在各個介面上的,因此需要建立一個Constant類存放各個介面向伺服器請求資料所需要的介面地址。
任務實施:
選中com.XXXX.newsdemo包,在該包下建立utils包。在utils包中建立一個Constant類。在該類中建立首頁廣告欄與新聞列表介面地址。
Constant.java
public class Constant { //內網介面 public static final String WEB_SITE ="http://192.168.43.140:8080/newsdemo"; //首頁滑動廣告介面 public static final String REQUEST_AD_URL = "/home_ad_list_data.json"; //首頁新聞列表介面 public static final String REQUEST_NEWS_URL = "/home_news_list_data.json"; }
2.建立JsonParse類
任務分析:
由於專案的Tomcat伺服器使用的是JSON資料,需要建立一個JsonParse類解析從伺服器中獲取的JSON資料。
任務實施:
(1)建立JsonParse類。在com.XXXX.newsdemo.utils包中建立一個JsonParse類。
(2)新增gson庫。在AS中,選擇專案右擊選擇Open Module Settings/Dependencies/“+”/Library dependency,把com.google.code.gson:gson:2.2.4庫加入主專案。
(3)呼叫gson庫解析JSON資料。JsonParse類主要用於解析從伺服器獲取的JSON資料。
JsonParse.java
public class JsonParse {
private static JsonParse instance;
private JsonParse() {
}
public static JsonParse getInstance() {
if (instance == null) {
instance = new JsonParse();
}
return instance;
}
}
3.建立UtilsHelper類
任務分析:
由於專案中部分介面會用到相同的功能,因此為了減少專案中的重複程式碼量與便於後續呼叫,需要把實現這些功能的方法抽取出來並放在一個工具類UtilsHelper中。
任務實施:
(1)建立UtilsHelper類。在utils包中建立一個UtilsHelper類。
(2)獲取螢幕寬度。在UtilsHelper類中,建立一個getScreenWidth()方法用於獲取螢幕寬度,在首頁介面設定廣告欄寬度時呼叫。
UtilsHelper.java
public class UtilsHelper {
/**
* 獲得螢幕寬度
*/
public static int getScreenWidth(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.
WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
return outMetrics.widthPixels;
}
}