package alice.bw.com.day04_yuekaodemo;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.google.gson.Gson;
import org.xutils.common.Callback;
import org.xutils.http.RequestParams;
import org.xutils.x;
import java.util.ArrayList;
import java.util.List;
import alice.bw.com.day04_yuekaodemo.adapter.MyRecyclerAdapter;
import alice.bw.com.day04_yuekaodemo.db.MySQliteOpenHelper;
import alice.bw.com.day04_yuekaodemo.domain.Food;
public class MainActivity extends AppCompatActivity {
private RecyclerView recycler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void parseJson(String json) {
Gson gson = new Gson();
Food food = gson.fromJson(json, Food.class);
List<Food.DataBean> list = new ArrayList<>();
for (int i = 0; i < food.getData().size(); i++) {
list.add(food.getData().get(i));
}
addRecycler(list);
addDataBase(list);
}
//数据源与RecyclerView绑定
private void addRecycler(List<Food.DataBean> list) {
MyRecyclerAdapter adapter = new MyRecyclerAdapter(list, this);
recycler.setAdapter(adapter);
}
//将从网络上获取的数据添加到数据库中
private void addDataBase(List<Food.DataBean> list) {
MySQliteOpenHelper mySQLiteDataBase = new MySQliteOpenHelper(this);
SQLiteDatabase database = mySQLiteDataBase.getWritableDatabase();
for (int i = 0; i < list.size(); i++) {
ContentValues values = new ContentValues();
values.put("pic", list.get(i).getPic());
values.put("title", list.get(i).getTitle());
database.insert("data", null, values);
}
}
//从网络上获取数据并解析
private void getData() {
String path = "http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1";
RequestParams requestParams = new RequestParams(path);
x.http().get(requestParams, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
parseJson(result);//解析数据
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
public void click(View view) {
switch (view.getId()) {
case R.id.btn_gps:
startActivity(new Intent(this, GpsActivity.class));//跳转到GPS页面
break;
case R.id.btn_bluetooth:
startActivity(new Intent(this,BluetoothActivity.class));//跳转到蓝牙页面
break;
}
}
private void initView() {
recycler = (RecyclerView) findViewById(R.id.recycler);
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler.setLayoutManager(manager);
getData();
}
}