解析JSON存到数据库

来源:互联网 发布:淘宝客垃圾 编辑:程序博客网 时间:2024/06/05 05:23

//主页面

public class MainActivity extends AppCompatActivity {

    private Dao dao;
    Bean bean;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dao = new Dao(this);
    }
public void Button(View view){
    jiexi("http://japi.juhe.cn/health_knowledge/infoList?key=d2e173f79187d521231467d23c7dfb81");
}
public void jiexi(String path){
    new AsyncTask<String,Void,String>(){
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            if(s != null){
                Gson gson = new Gson();
                bean = gson.fromJson(s, Bean.class);
                List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
                for (Bean.ResultBean.DataBean bean: list) {
                    String title = bean.getTitle();
                    dao.add(title);

                }
            }
        }
        @Override
        protected String doInBackground(String... params) {
            try {
                String path = params[0];
                URL url = new URL(path);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setReadTimeout(5000);
                connection.setConnectTimeout(5000);
                int code = connection.getResponseCode();
                if(code == HttpURLConnection.HTTP_OK){
                    InputStream is = connection.getInputStream();
                    String json = Utils.read(is);
                    System.out.println("----------------"+json);
                    return json;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }.execute(path);

}

//创建数据库(继承SQLiteOpenHelper)

public class Demo extends SQLiteOpenHelper {
    public Demo(Context context){
        super(context,"day_14",null,1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table Rikao(id Integer primary key autoincrement,title varchar(20))");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

//添加的方法

public class Dao {
    private final SQLiteDatabase db;
    public Dao(Context context){
        Demo demo = new Demo(context);
        db = demo.getWritableDatabase();
    }
    public boolean add(String title){
        ContentValues values = new ContentValues();
        values.put("name",title);
        long l = db.insert("Rikao", null, values);
        if(l != -1){
            return true;
        }else{
            return false;
        }
    }
}

原创粉丝点击