//我建立了Bean,里面有一个ImageView,两个TextView,
//ImageView id=imgView;
//TextView id=tittle;
//TextView id=content;
//BaseAdapter在最下面列出来;
//ListView布局是activity_main;
//item布局是item_layout;
我都是按照视频写的,基础差,请见谅
package com.bmoblist;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONStringer;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.listener.FindListener;
import cn.volley.toolbox.JsonObjectRequest;
public class MainActivity extends Activity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 Bmob SDK
// 使用时请将第二个参数Application ID替换成你在Bmob服务器端创建的Application ID
Bmob.initialize(this, "这里是就不透露了");
ZhinengBean zhinengBean = new ZhinengBean();
ListView listView = (ListView)findViewById(R.layout.activity_main);
}
//这一步完全不知道怎么弄
private List<ZhinengBean> getJsonData(){ //bmobString不知道写啥
List<ZhinengBean> zhinengBeanList = new ArrayList<>();
String jsonString = readStream(ZhinengBean.openStream());
return null;
}
private String readStream(InputStream is){
InputStreamReader isr;
String result = "";
try {
String line ="";
isr = new InputStreamReader(is,"utf-8");
BufferedReader br = new BufferedReader(isr);
while ((line=br.readLine()) != null){
result += line;
}
} catch (UnsupportedEncodingException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return result;
}
class NewsAsyncTask extends AsyncTask<String,Void,List<ZhinengBean>>{
@Override
protected List<ZhinengBean> doInBackground(String... params) {
// TODO 自动生成的方法存根
return getJsonData(params[0]); //不知道怎么写
}
}
}
package com.bmoblist;
import java.util.List;
import android.content.Context;
import android.media.Image;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
//通过构造方法,将数据源和适配器绑定在一起》》》》
private List<ZhinengBean> mList;
private LayoutInflater mInflater;
public MyAdapter (Context context,List<ZhinengBean> list){
mList = list;
mInflater = LayoutInflater.from(context);
}
//》》》》》》》
//表示显示多少条数据
@Override
public int getCount() {
// TODO 自动生成的方法存根
return mList.size();
}
@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return mList.get(position);
}
@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}
@Override
public View getView(int position, View converView, ViewGroup parent) {
// TODO 自动生成的方法存根
ViewHolder viewHolder;
if(converView == null){
viewHolder = new ViewHolder();
converView = mInflater.inflate(R.layout.iten_layout,null);
viewHolder.znImage = (ImageView) converView.findViewById(R.id.tv_icon);
viewHolder.znTittle = (TextView) converView.findViewById(R.id.tv_tittle);
viewHolder.znTittle2 = (TextView) converView.findViewById(R.id.tv_content);
converView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) converView.getTag();
}
viewHolder.znImage.setImageResource(R.id.tv_icon);
viewHolder.znTittle.setText(mList.get(position).getZntittle());
viewHolder.znTittle2.setText(mList.get(position).getZntittle2());
return converView;
}
class ViewHolder {
public ImageView znImage;
public TextView znTittle;
public TextView znTittle2;
}
}
Bmob获取数据有自己的api啊,可以查看api方法。关于异步请求,如果bmob API里,获取数据的方法就使用了异步回调,就没必要自己写异步方法了。
它应该返回给你的是json数据。使用json解析api解析就行了、
这个问题建议去Bmob的问答社区提问