提供数据
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;
}
}