Android中的Fragment使用
生活随笔
收集整理的這篇文章主要介紹了
Android中的Fragment使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述:
? ? 最近在寫一個應用,要用到Fragment,我對于這一塊還是有一點陌生,因為之前一直用的是Activity。不過,這幾天我也是各種上網查和問其他人完成了這個小程序。
? ? 程序的主要功能是在一個FragmentActivity中添加四個Fragment,再每個Fragment中去顯示相應的手機信息。如:手機當前電量、手機內存占用率、獲取手機上的已安裝的應用程序名稱等。
代碼示例:
在FragmentActivity中加載第Fragment的方法是:
基本上我們的FragmentActivity類只是去加載這4個Fragment,另外三個Fragment的加載在這里就不綴述了。
獲取手機電量:
值得一提的是如何獲得手機的電池電量值。Android其實沒有直接提供給我們一個方法去調用就可以得到電池的電量,它需要去實現注冊和接收廣播才能夠實現獲得電池的電量。而其實是當手機的電量改變時,Android系統自身就會發出一個廣播,我們需要實現一個接收廣播的程序就可以獲得電池電量的變化了。下面是這個接收廣播的核心代碼:
public void receiveBarreryBroadcast(){BroadcastReceiver receiveBarrery = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){// 獲取當前電量int current = intent.getExtras().getInt("level");// 獲得總電量int total = intent.getExtras().getInt("scale");// 計算當前電量的比率double barreryDump = (current * 100.0) / total;// 修改第一個Fragment中的TextView文本信息BarreryFragment.this.state.setText("剩余電量為:" + Math.round(barreryDump) + "%");}}};
注冊廣播:
// 注冊電池電量改變的廣播IntentFilter barreryFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);BarreryFragment.this.getActivity().registerReceiver(receiveBarrery, barreryFilter); 其實注冊廣播還可以在XML文件中去配置,這里就不再給出,需要的朋友可以去網上去查,都有的。
還有一個就是如何獲得手機上已安裝應用程序的名稱呢?
這個倒很簡單,只要幾行代碼就可以實現了。如下:
PackageManager packageManager = null;List<PackageInfo> packsList = null;int appCount = 0;// 得到本機上一共有多少個應用程序被安裝packageManager = getActivity().getPackageManager();packsList = packageManager.getInstalledPackages(0);// 得到應用程序的數目appCount = packsList.size();// 循環添加將單個的AppInfo對象到AppInfo隊列中String[] appName = new String[appCount];for (int i = 0; i < appCount; ++i) {PackageInfo packageInfo = packsList.get(i);// 得到應用程序名稱,再賦值給appNameappName[i] = packageInfo.applicationInfo.loadLabel(packageManager).toString();} 大家可以看到上面的代碼中有這樣的一句:
pckMan = getActivity().getPackageManager(); 這個地方我們用到了一個getActivity方法,?原因是因為getPackageManager這個方法不能在Fragment中去使用,只能用于Activity。而getActivity這個方法,就是得到這個Fragment所以在Activity(FragamentActivity)。
源代碼分享:
本程序源碼分享:點擊打開鏈接
效果圖(這里的電量為0%的原因可能是因為這是在虛擬機上測試的結果,放在真機上是可行的):
總結
以上是生活随笔為你收集整理的Android中的Fragment使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用Service来启动背景音乐
- 下一篇: 利用Handler通信来实时显示系统时间