Android--------------无线轮播,Xlistview展示数据并保存到数据库。
来源:互联网 发布:图片扫描仪软件 编辑:程序博客网 时间:2024/06/05 19:01
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ private Banner ban; private XListView mxv; private int type=1; //加载内容的接口 private String url="http://qhb.2dyt.com/Bwei/news?page=1&postkey=1503d&type="; private ArrayList<News1.ListBean> mlist=new ArrayList<>(); private Myadapter md; private Sqlhelp sh; private SQLiteDatabase db; private long l; private ArrayList<User> list=new ArrayList<>(); //轮播图的接口 private String urlpath="http://api.kuaikanmanhua.com/v1/daily/comic_lists/0?since=0&gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg5NjQzNjMzNzI1LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjQuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tSG9tZXBhZ2VUYWJOYW1lIjoi54Ot6ZeoIiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6IkxFTk9WTyIsIkZyb21Ib21lcGFnZVVwZGF0ZURhdGUiOjAsIiRzY3JlZW5faGVpZ2h0IjoxNDQwLCJIb21lcGFnZVVwZGF0ZURhdGUiOjEsIlByb3BlcnR5RXZlbnQiOiJSZWFkSG9tZVBhZ2UiLCJGaW5kVGFiTmFtZSI6IuaOqOiNkCIsImFidGVzdF9ncm91cCI6MTAsIiRzY3JlZW5fd2lkdGgiOjkwMCwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNISU5BIE1PQklMRSIsIiRtb2RlbCI6Ikxlbm92byBQNzAtdCIsIiRhcHBfdmVyc2lvbiI6IjMuOS4yIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo1MDdCOUQyN0Q2NUEwMDAwIiwib3JpZ2luYWxfaWQiOiJBOjUwN0I5RDI3RDY1QTAwMDAiLCJldmVudCI6IlJlYWRIb21lUGFnZSJ9"; private Handler hand=new Handler(){ @Override public void handleMessage(Message msg) { //轮播图 if (msg.what==1){ Gson gson=new Gson(); News news = gson.fromJson(msg.obj.toString(), News.class); ArrayList<String> titles=new ArrayList<>(); ArrayList<String> images=new ArrayList<>(); List<News.DataBean.ComicsBean> com = news.getData().getComics(); for (News.DataBean.ComicsBean q:com){ titles.add(q.getTitle()); images.add(q.getCover_image_url()); } ban.setImages(images); ban.setBannerTitles(titles); ban.start(); } //展示的详细数据 if (msg.what==2){ Gson gson=new Gson(); News1 news1 = gson.fromJson(msg.obj.toString(), News1.class); mlist.addAll(news1.getList()); md.notifyDataSetChanged(); stop(); //把数据存到数据库 cun(); } } }; //把数据存到数据库的方法 private void cun() { ContentValues values=new ContentValues(); for (News1.ListBean qq:mlist){ values.put("title",qq.getTitle()); values.put("idd",qq.getId()); values.put("image",qq.getPic()); l = db.insert("user", null, values); } if (l>0){ Toast.makeText(this,"插入成功!!",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this,"插入失败!!!",Toast.LENGTH_SHORT).show(); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (isNetworkAvailable(this)){ //有网的情况下 sh=new Sqlhelp(this); db = sh.getWritableDatabase(); initview(); //加载轮播接口 initdata(); loaddata(); }else { //没网的情况下查询数据库中的信息并存到User类中,并用Xlistview展示出数据。 mxv=(XListView)findViewById(R.id.x_listview) ; sh=new Sqlhelp(this); db = sh.getWritableDatabase(); Cursor cursor = db.rawQuery("select * from user", null); while (cursor.moveToNext()) { String title = cursor.getString(cursor.getColumnIndex("title")); String idd = cursor.getString(cursor.getColumnIndex("idd")); String image = cursor.getString(cursor.getColumnIndex("image")); User user = new User(title, idd, image); list.add(user); } //设置User类的适配器 Useradapter uad=new Useradapter(this,list); mxv.setAdapter(uad); } } //加载详细数据的方法 private void loaddata() { new Thread(){ @Override public void run() { String str1 = Httpurl.getUrlConnect(url + type); Message msg=Message.obtain(); msg.what=2; msg.obj=str1; hand.sendMessage(msg); } }.start(); } private void initview() { ban=(Banner)findViewById(R.id.ban); mxv=(XListView)findViewById(R.id.x_listview) ; mxv.setPullLoadEnable(true); mxv.setXListViewListener(this); //设置图片加载器 BannerImageload bil=new BannerImageload(); ban.setImageLoader(bil); //设置显示样式(显示数字指示器和标题) ban.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE); //设置适配器 md=new Myadapter(this,mlist); mxv.setAdapter(md); //xlistview的监听事件 mxv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { News1.ListBean bean = mlist.get(position-1); Intent intent=new Intent(MainActivity.this,NextActivity.class); intent.putExtra("aa",bean.getPic()); startActivity(intent); } }); } //加载轮播图的方法 private void initdata() { new Thread(){ @Override public void run() { String str = Httpurl.getUrlConnect(urlpath); Message msg=Message.obtain(); msg.what=1; msg.obj=str; hand.sendMessage(msg); } }.start(); } @Override public void onRefresh() { type=1; mlist.clear(); loaddata(); } @Override public void onLoadMore() { type++; loaddata(); } private void stop() { mxv.stopLoadMore(); mxv.stopRefresh(); mxv.setRefreshTime("刚刚"); } //判断网络是否连接的方法 public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity != null) { NetworkInfo info = connectivity.getActiveNetworkInfo(); if (info != null && info.isConnected()) { // 当前网络是连接的 if (info.getState() == NetworkInfo.State.CONNECTED) { // 当前所连接的网络可用 return true; } } } return false; }}效果图: 点击后:
阅读全文
0 0
- Android--------------无线轮播,Xlistview展示数据并保存到数据库。
- 侧滑,无线轮播,Xlistview
- 异步请求数据展示到xlistview
- 无线轮播+GET网络请求数据+xlistview+多条目加载
- Android 保存数据到数据库
- PullToRefreshScrollView+ViewPager无线轮播+ListView展示
- Banner轮播 + XlistView 网络获取数据
- XListView 展示数据
- 轮播和Xlistview
- 无限轮播+XListView
- 轮播+跳转+xlistview
- Android调用系统相机拍照、裁剪,并保存到手机SD卡中,展示到界面
- XlistView结合AsyncTask展示数据
- XListView之网络数据展示
- 网络数据请求XListView展示
- 网络请求+XListView展示数据
- JavaWeb实现图片异步上传,在前台展示,并以二进制保存到数据库
- 读取 Excel 数据并保存到服务器数据库
- 究竟什么是DevOps Intelligence?
- .hpp文件和.h文件的区别
- recyclerView自定义点击事件
- ./和../以及/之间的区别?
- springMVC入门,以及maven,tomcat配置
- Android--------------无线轮播,Xlistview展示数据并保存到数据库。
- 算法笔记--c++STL
- python的编码问题|encode(编码)decode(解码)
- 吐槽垃圾
- IPC通信方式之LocalSocket
- 012-人格特质|你有却不自知的优势
- MySql基础笔记_17-06-28
- DOS命令大全:Findstr命令详解
- JNI遇到error: request for member 'FindClass' in something not a structure or union