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) {
}
}