package com.example.testproject;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.example.testproject.greendao.ProductBean;
import com.example.testproject.greendao.gen.ProductBeanDao;
import com.example.testproject.util.NetUtil;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ProductAdapter adapter;
private List<ListProBean> lists;
private Button btnRequest;
private static final String url = "http://test.xinlechou.com/index.php?r=api/insuranceList";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
iniViews();
getRequestDatas();
//模拟服务端数据
/* String b = "com.example.testproject.SecondActivity";
try {
Class c = Class.forName(b);
Intent intent = new Intent(MainActivity.this,c);
startActivity(intent);
}catch (Exception e){
e.printStackTrace();
}
*/
}
private void iniViews() {
listView = (ListView) findViewById(R.id.listView);
btnRequest = (Button) findViewById(R.id.btn_request);
}
public void getRequestDatas() {
btnRequest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//数据库,获取DAO
final ProductBeanDao dao = MyApplication.getDaoSession(MainActivity.this).getProductBeanDao();
if(NetUtil.isNetConnected(MainActivity.this)){
//volley请求数据
StringRequest request = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Gson gson = new Gson();
ListProBean bean = gson.fromJson(response,ListProBean.class);
if(bean.getError() == 0){
ArrayList<ProductData> datas = bean.getData();
adapter = new ProductAdapter(MainActivity.this,datas);
listView.setAdapter(adapter);
//将数据保存到greendao数据库
for(int i=0;i<datas.size();i++){
ProductData productData = datas.get(i);
ProductBean productBean = new ProductBean(null,null,productData.getName(),productData.getInfo(),Long.parseLong(productData.getId()));
//插入数据库
// boolean flag = dao.insert(productBean) != -1 ? true : false;
boolean flag = dao.insertOrReplace(productBean) != -1 ? true : false;
if(flag){
Log.i("TAG","插入成功:"+i);
}else{
Log.i("TAG","插入失败:"+i);
}
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//打印错误信息
}
});
//将请求放到队列中
MyApplication.getApplication().requestQueue.add(request);
}else{
Toast.makeText(MainActivity.this,"没有联网哟",Toast.LENGTH_SHORT).show();
//查数据库
List<ProductBean> lists = dao.queryBuilder().build().list();
if(lists != null && lists.size() > 0){
Toast.makeText(MainActivity.this,"从数据库中读取数据",Toast.LENGTH_SHORT).show();
List<ProductData> productDatas = new ArrayList<ProductData>();
for(int i=0;i<lists.size();i++){
ProductBean productBean = lists.get(i);
String title = productBean.getProTitle();
String info = productBean.getProInfo();
ProductData productData = new ProductData();
productData.setName(title);
productData.setInfo(info);
productDatas.add(productData);
}
adapter = new ProductAdapter(MainActivity.this,productDatas);
listView.setAdapter(adapter);
}
}
}
});
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
【Android】GreenDao 3.X 结合Volley以及Gson、ImageLoader实现数据存储
共69个文件
xml:29个
java:16个
png:7个
需积分: 9 16 下载量 19 浏览量
2016-11-11
12:39:09
上传
评论
收藏 1.52MB ZIP 举报
温馨提示
【Android】GreenDao 3.X 结合Volley以及Gson、ImageLoader实现数据存储。
资源推荐
资源详情
资源评论
收起资源包目录
TestProject.zip (69个子文件)
TestProject
gradlew 5KB
settings.gradle 16B
gif
database.gif 1.3MB
.idea
libraries
junit_4_12.xml 477B
greendao_3_0_0.xml 515B
gson_2_8_0.xml 507B
greendao_api_3_0_0.xml 535B
hamcrest_core_1_3.xml 526B
support_vector_drawable_23_4_0.xml 641B
library_1_0_19.xml 525B
imageloaderlib.xml 231B
support_v4_23_4_0.xml 904B
appcompat_v7_23_4_0.xml 762B
animated_vector_drawable_23_4_0.xml 646B
support_annotations_23_4_0.xml 497B
runConfigurations.xml 564B
misc.xml 3KB
compiler.xml 686B
workspace.xml 195KB
gradle.xml 829B
.name 11B
encodings.xml 159B
modules.xml 359B
copyright
profiles_settings.xml 76B
TestProject.iml 942B
gradle
wrapper
gradle-wrapper.properties 231B
gradle-wrapper.jar 52KB
local.properties 500B
gradlew.bat 2KB
gradle.properties 872B
.gitignore 105B
app
src
androidTest
java
com
example
testproject
ApplicationTest.java 366B
test
java
com
example
testproject
ExampleUnitTest.java 330B
main
AndroidManifest.xml 933B
res
mipmap-hdpi
ic_launcher.png 3KB
mipmap-xxxhdpi
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher.png 5KB
drawable-hdpi
load_img_fail.png 63KB
loading.png 22KB
mipmap-mdpi
ic_launcher.png 2KB
drawable
layout
activity_second.xml 575B
item_layout.xml 1KB
activity_main.xml 805B
values-w820dp
dimens.xml 364B
values
colors.xml 214B
strings.xml 77B
styles.xml 394B
dimens.xml 216B
mipmap-xxhdpi
ic_launcher.png 8KB
java
com
example
testproject
MyApplication.java 1KB
ProductData.java 789B
ListProBean.java 567B
MainActivity.java 5KB
util
NetUtil.java 903B
ImageLoaderManger.java 3KB
greendao
User.java 1KB
ProductBean.java 2KB
gen
DaoMaster.java 3KB
UserDao.java 4KB
ProductBeanDao.java 5KB
DaoSession.java 2KB
SecondActivity.java 390B
ProductAdapter.java 2KB
libs
imageloaderlib.jar 124KB
app.iml 9KB
.gitignore 8B
build.gradle 1KB
proguard-rules.pro 663B
build.gradle 521B
共 69 条
- 1
资源评论
风一样的男人zzz
- 粉丝: 64
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功