PullToRefersh、网络获取数据添加到adapter和数据库 然后显示、无网络时从数据库获取数据添加到另一个adapter 然后显示

package liyuanqi.bwie.com.pulltorrfresh;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public Boolean wangluo(Context context){
ConnectivityManager systemService = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = systemService.getActiveNetworkInfo();
if(systemServicenull){
return false;
}
if(activeNetworkInfo
null||!activeNetworkInfo.isAvailable()){
return false;
}
return true;
}
}

package liyuanqi.bwie.com.pulltorrfresh;

import android.annotation.SuppressLint;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.Toast;

import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.net.HttpURLConnection;
import java.util.List;

public class MainActivity extends BaseActivity {

PullToRefreshListView pulllist;
Myadapter myadapter;
boolean jian=false;
int page=1;
Dao dao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pulllist = findViewById(R.id.pulllist);
dao = new Dao(this);
myadapter = new Myadapter(MainActivity.this);
pulllist.setMode(PullToRefreshListView.Mode.BOTH);
pulllist.setAdapter(myadapter);
httphuoqu(page);
pulllist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
page=1;
jian=false;
httphuoqu(page);
}

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            page++;
            jian=true;
            httphuoqu(page);
        }
    });


}
@SuppressLint("StaticFieldLeak")
private void httphuoqu(int page) {
    String wz="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=3&page="+page;
    new AsyncTask<String, Void, List<JsonBean.ResultBean>>() {
        @Override
        protected List<JsonBean.ResultBean> doInBackground(String... strings) {

            return HttpConnection.httpdate(strings[0]);
        }

        @Override
        protected void onPostExecute(List<JsonBean.ResultBean> resultBeans) {
            super.onPostExecute(resultBeans);
            if (wangluo(MainActivity.this)){
                if (resultBeans==null){
                    Toast.makeText(MainActivity.this,"数据请求失败",Toast.LENGTH_SHORT).show();
                    return;
                }else {
                    for (int i=0;i<resultBeans.size();i++) {
                        dao.adddata(resultBeans.get(i).getName(), R.mipmap.ic_launcher);
                    }
                }
                httpadapter(resultBeans);

            }else {
                Toast.makeText(MainActivity.this,"网络已经断开",Toast.LENGTH_SHORT).show();
                List<Prond> selectdata = dao.selectdata(R.mipmap.ic_launcher);
                MyadapterTow myadapterTow = new MyadapterTow(MainActivity.this);
                pulllist.setAdapter(myadapterTow);
                myadapterTow.addlistdata(selectdata);
                pulllist.onRefreshComplete();
            }
            if (jian){
                Toast.makeText(MainActivity.this,"刷新成功",Toast.LENGTH_SHORT).show();

            }

            pulllist.onRefreshComplete();


        }
    }.execute(wz);
}
//判断
private void httpadapter(List<JsonBean.ResultBean> resultBeans) {
    if (page==1){
        myadapter.listdata(resultBeans);
    }else {
        myadapter.addlistdata(resultBeans);
    }
}

/* public void pagezhengjia(){
page++;

}*/

}

package liyuanqi.bwie.com.pulltorrfresh;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

class Myadapter extends BaseAdapter{
private Context context;
List<JsonBean.ResultBean> list;

public Myadapter(Context context) {
    this.context = context;
    list=new ArrayList<>();
}
public void listdata(List<JsonBean.ResultBean> resultBeans) {
    this.list.clear();
    this.list.addAll(resultBeans);
    notifyDataSetChanged();
}
public void addlistdata(List<JsonBean.ResultBean> resultBeans) {
    if (resultBeans!=null){
        this.list.addAll(resultBeans);
        notifyDataSetChanged();
    }
}
@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHodler hodler;
    if (convertView==null){
        hodler=new ViewHodler();
        convertView=View.inflate(context,R.layout.shuju,null);
        hodler.title=convertView.findViewById(R.id.tit);
        hodler.img=convertView.findViewById(R.id.img);
        convertView.setTag(hodler);
    }else {
        hodler= (ViewHodler) convertView.getTag();

    }
    hodler.title.setText(list.get(position).getName());
    ImageLoader.getInstance().displayImage(list.get(position).getImageUrl(),hodler.img);
    return convertView;
}

class ViewHodler{
TextView title;
ImageView img;
}

}

package liyuanqi.bwie.com.pulltorrfresh;

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;

public class HttpConnection {
static JsonBean jsonBean;
static JsonBean jsonBean2;
//数据
public static List<JsonBean.ResultBean> httpdate(String wang){

    try {
        URL url = new URL(wang);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.setReadTimeout(5000);
        urlConnection.setConnectTimeout(5000);
        int code = urlConnection.getResponseCode();
        if (code==200){
            String streud=httpString(urlConnection.getInputStream());
             jsonBean = new Gson().fromJson(streud, JsonBean.class);
        }
        return  jsonBean==null?null:jsonBean.getResult();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

private static String httpString(InputStream is) {
    StringBuilder builder=new StringBuilder();
    BufferedReader reader=new BufferedReader(new InputStreamReader(is));
    try {
        for (String temp=reader.readLine();temp!=null;temp=reader.readLine()){
            builder.append(temp);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        try {
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return builder.toString();
}

}

package liyuanqi.bwie.com.pulltorrfresh;

import android.app.Application;
import android.content.Context;
import android.graphics.Bitmap;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this).build();
ImageLoader.getInstance().init(configuration);

}
public static DisplayImageOptions getdisplayImageOptions(Context context){
    DisplayImageOptions displayImageOptions=new DisplayImageOptions.Builder()
            .cacheOnDisk(true)
            .cacheInMemory(true)
            .bitmapConfig(Bitmap.Config.RGB_565)

            .delayBeforeLoading(R.mipmap.ic_launcher)
            .build();
    return displayImageOptions;
}

}

package liyuanqi.bwie.com.pulltorrfresh;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public class Dao {
SQLiteDatabase database;
List list;
public Dao(Context context) {
Mysqlitehelper mysqlitehelper = new Mysqlitehelper(context);
database = mysqlitehelper.getReadableDatabase();
}

public void adddata(String name, int ic_launcher) {
    database.execSQL("insert into user(name,img) values(?,?)",new Object[]{name,ic_launcher});
}

public List<Prond> selectdata(int ic_launcher) {
    list=new ArrayList<>();
    Cursor cursor = database.rawQuery("select * from user", null);
    Log.e("lyq",cursor+"");
    while (cursor.moveToNext()){
        String name = cursor.getString(cursor.getColumnIndex("name"));
        int img = cursor.getInt(cursor.getColumnIndex("img"));
        Prond prond = new Prond();
        prond.setName(name);
        prond.setImageUrl(img);
        list.add(prond);
    }
    Log.e("lyq",list+"");
    return list;
}

}

package liyuanqi.bwie.com.pulltorrfresh;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

class Mysqlitehelper extends SQLiteOpenHelper{

public Mysqlitehelper(Context context) {
    super(context, "User.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table user(id Integer primary key autoincrement ,name text,img Integer)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

package liyuanqi.bwie.com.pulltorrfresh;

public class Prond {
String name;
int imageUrl;

public Prond(String name, int imageUrl) {
    this.name = name;
    this.imageUrl = imageUrl;
}

public Prond() {
}

public String getName() {
    return name;
}

public int getImageUrl() {
    return imageUrl;
}

public void setName(String name) {
    this.name = name;
}

public void setImageUrl(int imageUrl) {
    this.imageUrl = imageUrl;
}

@Override
public String toString() {
    return "Prond{" +
            "name='" + name + '\'' +
            ", imageUrl=" + imageUrl +
            '}';
}

}

package liyuanqi.bwie.com.pulltorrfresh;

import android.content.Context;
import android.os.AsyncTask;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

class MyadapterTow extends BaseAdapter{
private Context context;
List list;

public MyadapterTow(Context context) {
    this.context = context;
    list=new ArrayList<>();
}



public void addlistdata(List<Prond> resultBeans) {
    if (resultBeans!=null){
        this.list.addAll(resultBeans);
        notifyDataSetChanged();
    }
}
@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHodler hodler;
    if (convertView==null){
        hodler=new ViewHodler();
        convertView=View.inflate(context,R.layout.shuju,null);
        hodler.title=convertView.findViewById(R.id.tit);
        hodler.img=convertView.findViewById(R.id.img);
        convertView.setTag(hodler);
    }else {
        hodler= (ViewHodler) convertView.getTag();

    }
    hodler.title.setText(list.get(position).getName());
    hodler.img.setBackgroundResource(list.get(position).imageUrl);
    return convertView;
}

class ViewHodler{
TextView title;
ImageView img;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您解答。 首先,您需要在C# web窗体中添加Bootstrap和DataTables的引用。然后,您可以使用Oracle.DataAccess或者Oracle.ManagedDataAccess等数据源来获取数据。 以下是一个简单的获取数据的代码示例: ```csharp using Oracle.DataAccess.Client; using System.Data; string connectionString = "Data Source=your_datasource;User ID=your_user_id;Password=your_password"; string query = "SELECT * FROM your_table"; using (OracleConnection connection = new OracleConnection(connectionString)) { OracleCommand command = new OracleCommand(query, connection); connection.Open(); OracleDataAdapter adapter = new OracleDataAdapter(command); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); } ``` 接下来,您可以使用DataTables来显示数据和图片列表。以下是一个简单的代码示例: ```html <table id="datatable" class="table"> <thead> <tr> <th>ID</th> <<th>Name</th> <th>Image</th> </tr> </thead> <tbody> <% foreach (DataRow row in dataTable.Rows) { string image = row["image"].ToString(); %> <tr> <td><%= row["id"] %></td> <td><%= row["name"] %></td> <td><img src="<%= image %>" /></td> </tr> <% } %> </tbody> </table> <script> $(document).ready(function() { $('#datatable').DataTable(); }); </script> ``` 在上面的示例中,我们使用了一个简单的循环来遍历数据表中的每一行,并在每一行中显示ID、名称和图片。我们还使用了DataTables插件来使表格具有交互性和可排序性。 希望这个示例可以帮助您实现您的需求。如果您有其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值