下面通过图文并茂的方式给大家分享下如何使用Android实现接口实信息在留言板显示。
看到标题,顾名思义,我今天只是和大家讲一下如何实现接口信息的显示,不包括添加信息。
接口帮助文档:http://api.wzhospital.cn/msg/help
根据查看接口文档,我们可以知道接口内部的一些信息结构。
当然,想要查看具体的信息,是通过此链接:http://api.wzhospital.cn/MSG/api/Message/GetList
获取以下信息,来验证显示的正确性。
<Messages xmlns:i="http://.example.message.model.Message; public class MainActivity extends Activity { private List<Message> messages = new ArrayList<Message>(); private DataAdapter myAdapter; //定义一个自己的适配器,用于绘制 private Handler handler;//定义一个Handler,Handler 负责在必要时进行信息格式化 private ListView listView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView)findViewById(R.id.listView); handler = new Handler() { public void handleMessage(android.os.Message msg) { if(msg.what == 0x123){ System.out.println("接收数据"); for(Message g:messages){ System.out.println(g.getContent()); } myAdapter = new DataAdapter(messages, MainActivity.this); listView.setAdapter(myAdapter); } }; }; new Thread(new Runnable() { public void run() { // TODO Auto-generated method stub HttpData data = new HttpData(); StringBuffer str = data.getData(); System.out.println(str.toString()); Log.v("msg", str.toString()); try { JSONObject object = new JSONObject(str.toString());//使用json ,解析数据 JSONArray msg = (JSONArray)object.get("Data"); for(int i=0; i<msg.length(); i++){ JSONObject o = msg.getJSONObject(i); Message message = new Message(); message.setContent(o.getString("Content")); message.setCreatime(o.getString("CreateTime")); message.setMessager(o.getString("Messager")); message.setMessagerAge(o.getString("MessagerAge")); message.setMessagerSex(o.getString("MessagerSex")); message.setReceiver(o.getString("Receiver")); messages.add(message); } android.os.Message handlerMsg = new android.os.Message(); handlerMsg.what = 0x123; handler.sendMessage(handlerMsg); System.out.println("发送数据"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); }}
以上,就是实现接口留言板的显示。有以下几点,是在我写的时候遇到的问题。
1、个别电脑的虚拟机和电脑设置的问题,程序可能跑不起来,建议使用安卓真机。
2、由于我们的程序存在网络访问,需要在网络访问配置文件当中加写权限设置。
3、有关网络方面的东西,都必须写在子线程上,这就是为什么我重新开了一个新的线程。
4、控件的更新必须在主线程上,否则将出错。
5、当我们使用适配器绘制时,其中getCount这个方法必须要写。
以上就是本文的全部内容,希望大家喜欢。