android之从Bmob获取数据显示在ListView中

一、熟悉Bmob
1、Bmob官方地址
2、查看Bmob关于android快速入门文档:链接
二、了解ListView
1、构建泛类
2、构建适配器
3、构建适配器的layout
4、在活动中启动ListView
三、源码
泛类Person

public class Person extends BmobObject {
    private String name;
    private String address;



    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

适配器personAdapte

public class PersonAdapte extends ArrayAdapter<Person>{
    private int resourceId;
    public PersonAdapte(Context context, int resource, List<Person> objects) {
        super(context, resource,objects);
        resourceId =resource;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Person person = getItem(position);
        View view = LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
        TextView textView1 = view.findViewById(R.id.textView1);
        TextView textView2 = view.findViewById(R.id.textView2);
        textView1.setText(person.getName());
        textView2.setText(person.getAddress());
        return view;
    }
}

适配器Layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">


    <TextView
        android:id="@+id/textView1"
        android:layout_width="243dp"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="155dp"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

活动源码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        启动数据库
        Bmob.initialize(this, "填你的Bmob应用ID");
   //     从Bmob查找数据,在ListView显示
          BmobQuery<Person> bmobQuery = new BmobQuery<Person>();
        bmobQuery.findObjects(new FindListener<Person>() {
            @Override
            public void done(List<Person> list, BmobException e) {
              if(e==null){
                  Log.d("path","查询成功");
                  PersonAdapte personAdapte = new PersonAdapte(MainActivity.this,R.layout.personlayout,list);
                  ListView listView = findViewById(R.id.listView);
                  listView.setAdapter(personAdapte);
              }
              else{
                  Log.d("path","查询不成功");
              }
            }
        });
        }
}

活动layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></ListView>

</LinearLayout>
评论 3 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

时间胶嚢

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值