1.建一个数据库的帮助类继承SQLiteOpenHelper
public class Sqlhelp extends SQLiteOpenHelper { //建数据库 public Sqlhelp(Context context) { super(context, "nn.db", null, 1); // TODO Auto-generated constructor stub } //建表 @Override public void onCreate(SQLiteDatabase db) { String sql="create table news(id integer primary key autoincrement,name varchar(20),type varchar(20),size varchar(20))"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
2.主界面
public class NextActivity extends AppCompatActivity { private ListView mlv; private ArrayList<News.ApkBean> mlist=new ArrayList<>(); private Myadapter md; private Sqlhelp sh; private SQLiteDatabase db; private News news; private long ll; private Handler hand=new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what==1){ Gson gson=new Gson(); news = gson.fromJson(msg.obj.toString(), News.class); mlist.addAll(news.getApk()); md.notifyDataSetChanged(); //调用存数据库的方法 Cun(); } } }; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.next); mlv=(ListView)findViewById(R.id.list_view); sh=new Sqlhelp(this); db = sh.getWritableDatabase(); initdata(); md=new Myadapter(this,mlist); mlv.setAdapter(md); } //将数据存到数据库 private void Cun() { for (News.ApkBean q:mlist){ ContentValues values=new ContentValues(); values.put("name",q.getName()); values.put("type",q.getCategoryName()); values.put("size",q.getApkSize()); ll = db.insert("news", null, values); } if (ll>0){ Toast.makeText(NextActivity.this,"插入成功",Toast.LENGTH_LONG).show(); }else{ Toast.makeText(NextActivity.this,"插入失败",Toast.LENGTH_LONG).show(); } } private void initdata() { new Thread(){ @Override public void run() { String str = HttpUrl.getUrlConnect("http://huixinguiyu.cn/Assets/js/data.js"); Message msg=new Message(); msg.what=1; msg.obj=str; hand.sendMessage(msg); } }.start(); } }