天天看點

Android判斷有網展示資料 無網則查詢資料庫進行展示+封裝網絡工具類

@Nullable

@Override

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

//調用工具類 判斷是否有網
boolean conne = NetWorks.getConne( getActivity() );
if (conne) {
            //有網
            //請求資料方法
            getData(0);

//監聽要在有網的狀态下執行--沒有網絡是不能執行監聽的
            //給plv設定監聽--上拉加載更多--下拉重新整理
            plv.setOnRefreshListener( new PullToRefreshBase.OnRefreshListener2<ListView>() {
                @Override
                public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                    //下拉重新整理
                    list.clear();
                    getData( 0 );
                    page=0;
                    Toast.makeText( getActivity(), "已更新到最新的資料", Toast.LENGTH_SHORT ).show();
                }

                @Override
                public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                    //上拉加載更多
                    page++;
                    getData( page );
                    Toast.makeText( getActivity(), "已為您加載更多資料", Toast.LENGTH_SHORT ).show();
                }
            } );//給plv設定監聽
        }else{
            //無網狀态--如果無網則調用資料庫的查詢
            Toast.makeText( getActivity(), "請檢查目前的網絡狀态是否正常!", Toast.LENGTH_SHORT ).show();
            //資料庫查詢
            Cursor cursor = dao.query( "news", null, null, null, null, null, null );
            if (cursor.moveToFirst()) {
                do {
                    String title = cursor.getString( cursor.getColumnIndex( "title" ) );
                    String description = cursor.getString( cursor.getColumnIndex( "description" ) );
                    //添加到集合中
                    list.add( new JsonBean.NewslistBean( null, title,description,null,null) );
                }while (cursor.moveToNext());
            }
        }
           

}

---------------------------------網絡工具類 可直接調用----------------------------------------------

public class NetWork {

public static boolean isNetworkConnected(Context context) {
        //擷取網絡連接配接狀态管理器
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        //得到網絡資訊
        NetworkInfo info = cm.getActiveNetworkInfo();
        if (info != null) {

            return info.isAvailable();
        }

        return false;
    }
           

}