网络判断+数据库+webview

来源:互联网 发布:临时身份证制作软件 编辑:程序博客网 时间:2024/05/16 09:28
package bawei.com.yuekao_masizheng.fragments;import android.content.ContentValues;import android.content.Context;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ListView;import android.widget.Toast;import com.google.gson.Gson;import java.util.ArrayList;import bawei.com.yuekao_masizheng.R;import bawei.com.yuekao_masizheng.activity.NetUtils;import bawei.com.yuekao_masizheng.activity.NextActivity;import bawei.com.yuekao_masizheng.activity.UserDb;import bawei.com.yuekao_masizheng.adapter.TuijianAdapter;import bawei.com.yuekao_masizheng.bean.TuiJian;public class SecondFragment1 extends Fragment{    private ListView listView;    private ArrayList<TuiJian.DataBean> list=new ArrayList<>();    private TuijianAdapter adapter;    private Handler handler=new Handler(){        @Override            public void handleMessage(Message msg) {                String result = msg.obj.toString();                Gson gson = new Gson();                TuiJian tuijian = gson.fromJson(result, TuiJian.class);                list.addAll(tuijian.getData());                adapter.notifyDataSetChanged();            }        };    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return inflater.inflate(R.layout.second_fragment1, container, false);    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        listView = (ListView) getView().findViewById(R.id.second1_listview);        adapter = new TuijianAdapter(getActivity(), list);        /**         * 判断网络是否可用         */        boolean networkAvailable = isNetworkAvailable(getActivity());        if (networkAvailable){            /**             * 有网络的状态下,添加数据             */            insert();            listView.setAdapter(adapter);        }else {            /**             * 无网络的状态下,清空集合,并且查询数据库中的信息添加到集合             */            Toast.makeText(getActivity(),"网络不可用",Toast.LENGTH_SHORT).show();            list.clear();            select();            listView.setAdapter(adapter);        }        /**         * listview点击事件         */        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                Intent intent = new Intent(getActivity(), NextActivity.class);                intent.putExtra("Url",list.get(position).getUrl());                startActivity(intent);            }        });        /**         * 网络请求         */        new Thread(){            @Override            public void run() {                String result=                       NetUtils.getUrlConnect("http://www.yulin520.com/a2a/forum/allTypeList?sign=376C5BFC22179A1B8FF3A86D4588B29F&pageSize=10&ts=1877785007&forumType=0&page=1");               Log.d("TAG",result+"123");                if (result!=null){                    Message msg = Message.obtain();                    msg.obj=result;                    handler.sendMessage(msg);                }            }        }.start();    }    /**     *判断网络是否连接     */    public static boolean isNetworkAvailable(Context context) {                       ConnectivityManager connectivity = (ConnectivityManager) context                               .getSystemService(Context.CONNECTIVITY_SERVICE);                       if (connectivity != null) {                           NetworkInfo info = connectivity.getActiveNetworkInfo();                           if (info != null && info.isConnected())                           {                               // 当前网络是连接的                               if (info.getState() == NetworkInfo.State.CONNECTED)                               {                                   // 当前所连接的网络可用                                   return true;                               }                           }                       }                       return false;                   }    /**     * 查询     */    private void select() {        UserDb userDb = new UserDb(getActivity());        SQLiteDatabase db = userDb.getReadableDatabase();        Cursor cursor = db.rawQuery("select * from user", null);        while (cursor.moveToNext()){            String title = cursor.getString(cursor.getColumnIndex("title"));            String phone = cursor.getString(cursor.getColumnIndex("phone"));            String yulin = cursor.getString(cursor.getColumnIndex("yulin"));            String headImage = cursor.getString(cursor.getColumnIndex("headImage"));            list.add(new TuiJian.DataBean(headImage,title,yulin,phone));            Log.d("TAG",title+phone+yulin+headImage+"----------------------");        }    }    /**     * 增加     */    private void insert() {        UserDb userDb = new UserDb(getActivity());        SQLiteDatabase db = userDb.getReadableDatabase();        ContentValues values = new ContentValues();        for (TuiJian.DataBean dataBean:list){            values.put("headImage",dataBean.getHeadImg());            values.put("title",dataBean.getTitle());            values.put("phone",dataBean.getPhone());            values.put("yulin",dataBean.getYulin());            long insert = db.insert("user", null, values);            if (insert>0){                Toast.makeText(getActivity(),"添加成功",Toast.LENGTH_SHORT).show();            }        }    }}