简单好用的数据库存

xiaoxiao2025-08-27  14

数据库+listview(主要用于理清思路)

Main

public class MainActivity extends AppCompatActivity { NewAdapter adapter; NewResponse json; ArrayList<ChannelBean> list; Dao dao; ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.listview); adapter = new NewAdapter(this); lv.setAdapter(adapter); initData(); } String url = "http://www.xieast.com/api/news/news.php?page=1"; private void initData() { dao = new Dao(this); if(!HttpUtil.hasNetwork(this)) { ArrayList<NewItemBean> list = dao.query(); adapter.setData(list); return; } new AsyncTask<String,String ,ArrayList<NewItemBean>>(){ @Override protected ArrayList<NewItemBean> doInBackground(String... strings) { HttpUtil util = new HttpUtil(url); String work = util.requestUtil(); Gson gson = new Gson(); json = gson.fromJson(work, NewResponse.class); return json.getData(); } @Override protected void onPostExecute(ArrayList<NewItemBean> newItemBeans) { super.onPostExecute(newItemBeans); adapter.setData(newItemBeans); for(int i = 0 ; i< newItemBeans.size();i++){ dao.add(newItemBeans.get(i).getTitle()); } ArrayList<NewItemBean> query = dao.query(); String title = query.get(0).getTitle(); Toast.makeText(MainActivity.this,title,Toast.LENGTH_LONG).show(); } }.execute(url); } }

dao

public class Dao { SQLiteDatabase database; public Dao(Context context){ MHelper mHelper = new MHelper(context); database = mHelper.getWritableDatabase(); } public ArrayList<NewItemBean> query(){ Cursor cursor = database.rawQuery("select * from user", null); ArrayList<NewItemBean> list = new ArrayList<>(); while (cursor.moveToNext()){ String title = cursor.getString(cursor.getColumnIndex("title")); NewItemBean bean = new NewItemBean(); bean.setTitle(title); list.add(bean); } return list; } public void add(String title){ database.execSQL("insert into user(title) values(?)",new Object[]{title}); } public void update(String title){ database.execSQL("update employ set ?=? where (title=?)",new String[]{title}); } }

public MHelper(Context context) { super(context, "user.db", null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("create table user(id integer primary key autoincrement," + "title text," + "date text," + "url text)"); }

封装(请求网络+网络判断)

class HttpUtil { private String urll; public HttpUtil(String url) { this.urll = url; } public String requestUtil() { String msg =null; try { URL url= new URL(urll); try { HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ msg = String2string(urlConnection.getInputStream()); } } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } return msg; } private String String2string(InputStream inputStream) { StringBuffer buffer = new StringBuffer(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); try { for (String temp=reader.readLine();temp!=null;temp=reader.readLine()) { buffer.append(temp); } } catch (IOException e) { e.printStackTrace(); }finally { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } return buffer.toString(); } public static boolean hasNetwork(Context context) { ConnectivityManager systemService = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = systemService.getActiveNetworkInfo(); return info != null && info.isAvailable(); } }
转载请注明原文地址: https://www.6miu.com/read-5035319.html

最新回复(0)