SQlite+ListView

	package com.example.kanghuwei20181219.mfragment;
        import android.content.ContentValues;
        import android.database.Cursor;
        import android.os.AsyncTask;
        import android.os.Bundle;
        import android.support.annotation.NonNull;
        import android.support.annotation.Nullable;
        import android.support.v4.app.Fragment;
        import android.view.LayoutInflater;
        import android.view.View;
        import android.view.ViewGroup;
        import android.widget.ListView;
        import android.widget.Toast;

        import com.example.kanghuwei20181219.NetUtils;
        import com.example.kanghuwei20181219.R;
        import com.example.kanghuwei20181219.adapter.MyBase;
        import com.example.kanghuwei20181219.bean.ListBean;
        import com.example.kanghuwei20181219.dao.Dao;
        import com.google.gson.Gson;
        import com.nostra13.universalimageloader.core.ImageLoader;

        import java.util.ArrayList;
        import java.util.List;

/**
 * 作者:${橘子丶} on 2018/12/19 20:00
 * <p>
 * 邮箱:1242918242@qq.com
 */
public class MFragment2 extends Fragment {
    private String urll = "http://api.tianapi.com/meinv/?key=3304a8bc9414f97e30928b80163cf098&num=";
    private ListView lv;
    private ArrayList<ListBean.NewslistBean> list = new ArrayList<>();
    private ImageLoader imageLoaderstance;
    private MyBase adapter;
    private Dao dao;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.mfrag_02,container,false);
        dao = new Dao(getActivity());
        lv = view.findViewById(R.id.lv);
        imageLoaderstance = ImageLoader.getInstance();

        adapter = new MyBase(list,getActivity(),imageLoaderstance);
        lv.setAdapter(adapter);
        new MAsyncTask().execute(urll);
        return view;
    }
    public class MAsyncTask extends AsyncTask<String,Void,String>{
        @Override
        protected String doInBackground(String... strings) {
            return NetUtils.getJson(strings[0]);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            ListBean listBean = gson.fromJson(s, ListBean.class);
            List<ListBean.NewslistBean> newslist = listBean.getNewslist();
            list.addAll(newslist);
            adapter.notifyDataSetChanged();

            //查询
            for (int i=0; i<list.size(); i++){
                ContentValues values = new ContentValues();
                values.put("ctime",list.get(i).getCtime());
                values.put("title",list.get(i).getTitle());
                values.put("description",list.get(i).getDescription());
                values.put("picUrl",list.get(i).getPicUrl());
                values.put("url",list.get(i).getUrl());
                long insert = dao.insert("person", null, values);
            }
            Toast.makeText(getActivity(),"添加成功",Toast.LENGTH_LONG).show();


            Cursor query = dao.query("person", null, null, null, null, null, null);
            if (query.moveToFirst()){
                do {
                    String ctime = query.getString(query.getColumnIndex("ctime"));
                    String title = query.getString(query.getColumnIndex("title"));
                    String description = query.getString(query.getColumnIndex("description"));
                    String picUrl = query.getString(query.getColumnIndex("picUrl"));
                    String url = query.getString(query.getColumnIndex("url"));
                    list.add(new ListBean.NewslistBean(ctime,title,description,picUrl,url));
                }while (query.moveToNext());
            }
            Toast.makeText(getActivity(), ""+list, Toast.LENGTH_LONG).show();
            query.close();

        }
    }
}

Dao层

package com.example.kanghuwei20181219.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.CancellationSignal;

/**
 * 作者:${橘子丶} on 2018/12/20 09:48
 * <p>
 * 邮箱:1242918242@qq.com
 */
public class Dao {
    private Context context;
    private SQLiteDatabase db;

    public Dao(Context context) {
        this.context = context;
        MySqlite sqlite = new MySqlite(context);
        db = sqlite.getWritableDatabase();
    }
    public long insert(String table, String nullColumnHack, ContentValues values){
        return db.insert(table,nullColumnHack, values);
    }
    public long delete(String table, String whereClause, String[] whereArgs){
        return db.delete(table, whereClause, whereArgs);
    }
    public long update(String table, ContentValues values, String whereClause, String[] whereArgs){
        return db.update(table, values, whereClause,whereArgs);
    }
    public Cursor query(String table, String[] columns, String selection,
                        String[] selectionArgs, String groupBy, String having,
                        String orderBy) {
        //参数:1表名,2列,3查询条件,4条件值 ,5 分组,6模糊查询,7排序
        return db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);

    }
}

MySqlite

package com.example.kanghuwei20181219.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * 作者:${橘子丶} on 2018/12/20 09:51
 * <p>
 * 邮箱:1242918242@qq.com
 */
class MySqlite extends SQLiteOpenHelper {
    public MySqlite(Context context) {
        super(context, "user.db", null, 1);
    }
    /* *
     *   private String ctime;
         private String title;
         private String description;
         private String picUrl;
     *   private String url;
     * */
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table person(ctime text,title text,description text,picUrl text,url text)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值