首页 > 其他分享 >Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)

Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)

时间:2022-11-11 13:36:47浏览次数:41  
标签:layout tv Baas id public 第二十四 import Android android


接着上一篇,我们注册了几个用户,用户表如下:

Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)_android

下面我们用ListView将表中数据显示出来吧!

首先看一下main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
android:id="@+id/btn_query"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查询所有用户" />

<ListView
android:id="@+id/lv_users"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/btn_query" >
</ListView>

</RelativeLayout>


然后MainActivity.java:

package com.example.listviewdemo;

import java.util.List;

import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.listener.FindListener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
private Button mButtonQuery;
private ListView mListViewUsers;
private ListViewAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bmob.initialize(this, "8f3ffb2658d8a3366a70a0b0ca0b71b2");// 初始化Bmob
mButtonQuery = (Button) findViewById(R.id.btn_query);
mListViewUsers = (ListView) findViewById(R.id.lv_users);

mButtonQuery.setOnClickListener(new OnClickListenerImpl());

}

private class OnClickListenerImpl implements OnClickListener {

@Override
public void onClick(View v) {
BmobQuery<User> query = new BmobQuery<User>();// 查询类
query.findObjects(MainActivity.this, new FindListener<User>() {

@Override
public void onSuccess(List<User> list) {

adapter = new ListViewAdapter(MainActivity.this, list);// 实例化
mListViewUsers.setAdapter(adapter);
}

@Override
public void one rror(int arg0, String arg1) {
Toast.makeText(MainActivity.this, "查询失败!", 3).show();
}
});
}

}

}

ListViewAdapter.java:

package com.example.listviewdemo;

import java.util.List;

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

public class ListViewAdapter extends BaseAdapter {
private Context context;
private List<User> list;
private LayoutInflater inflater;

public ListViewAdapter(Context context, List<User> list) {
this.context = context;
this.list = list;
inflater = LayoutInflater.from(context);

}

@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) {
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.listview_item, null);
viewHolder.tv_idTextView = (TextView) convertView
.findViewById(R.id.tv_id);
viewHolder.tv_usernameTextView = (TextView) convertView
.findViewById(R.id.tv_username);
viewHolder.tv_userPasswordTextView = (TextView) convertView
.findViewById(R.id.tv_userpassword);
viewHolder.tv_timeTextView = (TextView) convertView
.findViewById(R.id.tv_time);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.tv_idTextView
.setText(list.get(position).getObjectId() + "|");
viewHolder.tv_usernameTextView.setText(list.get(position).getUserName()
+ "|");
viewHolder.tv_userPasswordTextView.setText(list.get(position)
.getUserPassword() + "|");
viewHolder.tv_timeTextView.setText(list.get(position).getCreatedAt());
return convertView;
}

class ViewHolder {
private TextView tv_idTextView;
private TextView tv_usernameTextView;
private TextView tv_userPasswordTextView;
private TextView tv_timeTextView;
}

}


list_item.xml:

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

<TextView
android:id="@+id/tv_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/tv_userpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


User.java:

package com.example.logintest;

import cn.bmob.v3.BmobObject;

public class User extends BmobObject {
private String userPassword;
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
private String userName;
}


最后配置文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.listviewdemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.listviewdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


看一下文件:

Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)_Android_02

运行实例:

Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)_ide_03

喜欢的朋友关注我,谢谢!


标签:layout,tv,Baas,id,public,第二十四,import,Android,android
From: https://blog.51cto.com/u_15866446/5844747

相关文章

  • Android--taskAffinity属性
    Activity的归属,也就是Activity应该在哪个Task中,Activity与Task的吸附关系。我们知道,一般情况下在同一个应用中,启动的Activity都在同一个Task中,它们在该Task中度过自己的生命......
  • Android错误之--ActivityManager: Error: Activity class {com.borrowbook.activity
    运行程序出现如下问题:解决办法:1.clean项目2.在AndroidManifest.xml文件中查看主Activity的名字前是否有'.'符号那么我们检查AndroidManifest.xml文件,将提示重复的删除一个即......
  • Android数据库学习123
    我个人感觉安卓自带的数据库用的不是太多的,毕竟现在很多应用都直接和服务器数据库进行交互,或者直接API获取一些接口的数据,但是不可否认自带的数据库还是有一些作用的,所以我......
  • Android实战--解析稍复杂JSON数据DEMO
    废话不多说,直接上代码,布局文件:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_wid......
  • Android实战--语音合成TTS
    接着上一节讨论的问题,本DEMO中会用到TTS语音合成,我们下面介绍一个同样原理的小例子看一下布局文件很简单: <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:and......
  • Android实战--小DEMO(JAVA关键字学习)一
    学习技术最好的方式就是实战,看书看不到的东西太多了,实际操作时会碰到各种书本里提不到的问题,解决这些问题会迅速提升你的能力,你是一个solider,最好成长的方式就是实战。下面......
  • Android错误之HAX is not installed on the machine(MAC OS)
    为了更好的工作和学习,最近新入手一台MacBookpro。在装Androidstudio时遇到如下问题:解决办法如下:点击:https://software.intel.com/en-us/android/articles/intel-hardware......
  • Android错误之setAdapter(adapter)空指针nullPointer 解决办法
    在设置adapter时,会经常遇到如下错误:空指针错误如果setAdapter报空指针,那么可用如下语句调试,找出到底哪里产生空指针hisList=(ListView)findViewById(R.id.oillist);......
  • Android错误之--activity_main cannot be resolved or is not a field
    一般在copy别人的项目中会容易出现本错误,截图如下:出现本错误的一般有两种情况第一种情况:导包错误--检查import,找到这个:删除之,再重新导入含有包名的R文件。第二种情况:本情况......
  • Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)
    一般在外卖的选单中常常会用到ListView的多选,大家可以改进后加入自己的项目中。下面看一下代码:一、代码1.main.xml:(由一个ListView和一个Button组成)<?xmlversion="1.0"enc......