数据填充者和数据解析者

提供数据

public class MainActivity extends AppCompatActivity {


    private String urlString = "http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=3";
    private List<JavaBean.DataBean> list = new ArrayList<>();
    private Button btn1;
    private ContentResolver contentResolver;
    private Uri uri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        btn1 = (Button) findViewById(R.id.btn_1);

         contentResolver= getContentResolver();
         uri= Uri.parse("content://com.bby");
        new MyAsyncTask(MainActivity.this,list).execute(urlString);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                for (int i = 0; i < list.size(); i++) {
                    int bb= Integer.parseInt(list.get(i).getId());
                    ContentValues contentValues = new ContentValues();
                    contentValues.put("Picid",bb);
                    contentValues.put("Picuri",list.get(i).getPic());
                    contentResolver.insert(uri,contentValues);
                }
            }
        });
    }
}

异步任务

public class MyAsyncTask extends AsyncTask<String, Integer, List<JavaBean.DataBean>> {

    private Context context;
    private List<JavaBean.DataBean> list;

    public MyAsyncTask(Context context, List<JavaBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    protected List<JavaBean.DataBean> doInBackground(String... strings) {
        String string = strings[0];
        InputStream is=null;
        HttpURLConnection connection=null;
        ByteArrayOutputStream baos=null;
        try {
            URL url = new URL(string);
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(3000);
            connection.setReadTimeout(3000);
            connection.connect();
            if (connection.getResponseCode() == 200) {
                is = connection.getInputStream();
                long maxLen=connection.getContentLength();
                long curLen=0;

                baos = new ByteArrayOutputStream();
                int len = 0;
                byte[] b = new byte[1024];
                while ((len = is.read(b)) != -1) {
                    baos.write(b, 0, len);
                }
                List<JavaBean.DataBean> data = new Gson().fromJson(baos.toString(), JavaBean.class).getData();
                return data;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }

    @Override
    protected void onPostExecute(List<JavaBean.DataBean> dataBeans) {
        super.onPostExecute(dataBeans);
        Log.i("---",""+dataBeans);
        if (dataBeans!=null){
            list.addAll(dataBeans);
        }
    }
}

MyProvider

public class MyContentProvider extends ContentProvider {

    private SQLiteHelper sqLiteHelper;
    private SQLiteDatabase db;
    public MyContentProvider() {
    }


    @Override
    public boolean onCreate() {

         sqLiteHelper= new SQLiteHelper(getContext(), "person.db", null, 100);
         db= sqLiteHelper.getReadableDatabase();
            if (db==null){
                return false;
            }
        return true;
    }

    @Override
    public Cursor query(Uri uri, String[] projection, String selection,
                        String[] selectionArgs, String sortOrder) {

        return db.query("user",projection,selection,selectionArgs,null,null,sortOrder);
    }



    @Override
    public int delete(Uri uri, String selection, String[] selectionArgs) {

        return db.delete("user",selection,selectionArgs);
    }

    @Override
    public String getType(Uri uri) {
        throw null;
    }

    @Override
    public Uri insert(Uri uri, ContentValues values) {

        db.insert("user",null,values);
        return uri;
    }


    @Override
    public int update(Uri uri, ContentValues values, String selection,
                      String[] selectionArgs) {

        return db.update("user",values,selection,selectionArgs);
    }
}

MySqliteHelp

public class SQLiteHelper extends SQLiteOpenHelper {


    public SQLiteHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table user(Picid integer,Picuri varchar(50))");
    }

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

    }
}

解析数据并展示

public class MainActivity extends AppCompatActivity {

    private ListView lv1;
    private ContentResolver contentResolver;
    private Uri uri;
    private List<Food> list = new ArrayList<>();
    private MyAdapter myAdapter;
    private Button chu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        lv1 = (ListView) findViewById(R.id.lv_1);
        chu = (Button) findViewById(R.id.chu);
        chu.setVisibility(View.VISIBLE);
        contentResolver = getContentResolver();
        uri = Uri.parse("content://com.bby");


        chu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Cursor cursor = contentResolver.query(uri, null, null, null, null, null);
                if (cursor != null) {
                    while (cursor.moveToNext()) {
                        int picid = cursor.getInt(cursor.getColumnIndex("Picid"));
                        String picuri = cursor.getString(cursor.getColumnIndex("Picuri"));

                        Log.i("-----------------",""+picid+picuri);
                        Food food = new Food(picid, picuri);
                        list.add(food);
                    }
                }
                cursor.close();
                myAdapter = new MyAdapter(MainActivity.this, list);
                lv1.setAdapter(myAdapter);

            }
        });
    }
}

给ListView填充数据

public class MyAdapter extends BaseAdapter {


    private Context context;
    private List<Food> list;
    private LayoutInflater layoutInflater;

    public MyAdapter(Context context, List<Food> list) {
        this.context = context;
        this.list = list;
        layoutInflater=LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;

        if (convertView==null){
            viewHolder=new ViewHolder();
            convertView=layoutInflater.inflate(R.layout.layout_item,null);
            viewHolder.imageView=convertView.findViewById(R.id.img);
            viewHolder.textView=convertView.findViewById(R.id.tv_1);
            convertView.setTag(viewHolder);
        }else {
            viewHolder= (ViewHolder) convertView.getTag();
        }

        Glide.with(context).load(list.get(position).getPic()).into(viewHolder.imageView);
        String sb= list.get(position).getId()+"";
        viewHolder.textView.setText(sb);

        convertView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                list.remove(list.get(position));
                notifyDataSetChanged();
                Toast.makeText(context, "删除成功", Toast.LENGTH_SHORT).show();
                return true;
            }
        });

        return convertView;
    }
    class ViewHolder{
        private ImageView imageView;
        private TextView textView;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值