判斷是否有網路狀態及資料庫
MainActivity程式碼
package com.example.week01;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import bean.MyPhone;
import bean.NetworkUtils;
import bean.PhoneDao;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button get_btn; private ListView lv; private String mUrl="https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA"; private List<List<String>> mList=new ArrayList<List<String>>(); private MyAdapter myAdapter; private SQLiteDatabase sd; private PhoneDao dao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); /* MyHelper helper = new MyHelper(MainActivity.this); sd = helper.getWritableDatabase();*/ dao = new PhoneDao(MainActivity.this); //判斷網路狀態 if (NetworkUtils.getNetwork(MainActivity.this)){ Toast.makeText(MainActivity.this,"有網你玩吧",Toast.LENGTH_LONG).show(); new Async().execute(mUrl); } else{ Toast.makeText(MainActivity.this,"麼有網",Toast.LENGTH_LONG).show(); String s = dao.cursor(); Gson gson = new Gson(); MyPhone myPhone = gson.fromJson(s, MyPhone.class); myAdapter.setmList(myPhone.getResult()); /*mList.addAll(myPhone.getResult()); myAdapter.notifyDataSetChanged();*/ } myAdapter = new MyAdapter(MainActivity.this, mList); lv.setAdapter(myAdapter); } private void initView() { get_btn = (Button) findViewById(R.id.get_btn); lv = (ListView) findViewById(R.id.lv); get_btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.get_btn: new Async().execute(mUrl); break; } } class Async extends AsyncTask<String,Void,List<List<String>>>{ @Override protected List<List<String>> doInBackground(String... strings) { try { String s = HttpUtils.get(strings[0]); Gson gson = new Gson(); MyPhone myPhone = gson.fromJson(s, MyPhone.class); ContentValues contentValues = new ContentValues(); contentValues.put("name",s); dao.insert(contentValues); /* *//* MyPhone myPhone = gson.fromJson(s, MyPhone.class); List<List<String>> result = myPhone.getResult(*//*);*/ return myPhone.getResult(); } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute( List<List<String>> lists) { super.onPostExecute(mList); myAdapter.setmList(lists); } }
}
Dao層程式碼
package bean;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class PhoneDao {
private SQLiteDatabase sd; public PhoneDao(Context context){ MyHelper helper = new MyHelper(context); sd = helper.getWritableDatabase(); } //查詢 public String cursor(){ String s=""; Cursor phone = sd.query("phone", null, null, null, null, null, null); while (phone.moveToNext()){ s= phone.getString(phone.getColumnIndex("name")); } return s; } public long insert(ContentValues con){ long phone = sd.insert("phone", null, con); return phone; }
}