`
wang_peng1
  • 浏览: 3943054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

listView显示对象以及access any RESTFull service that uses JSON

阅读更多


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
<ListView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/lstText"
    />
</LinearLayout>

listitems.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent" android:layout_height="fill_parent">
 <LinearLayout
 android:orientation="vertical"
 android:layout_width="0dip" android:layout_weight="1"
 android:layout_height="fill_parent">
  <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/txtAlertText" />
  <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/txtAlertDate" />
 </LinearLayout>
</LinearLayout>


package josecgomez.com.android.dev.webservice;

import java.util.List;

import josecgomez.com.android.dev.webservice.objects.alerts;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

public class AlertsAdapter extends ArrayAdapter<alerts> {

 int resource;
 String response;
 Context context;
 //Initialize adapter
 public AlertsAdapter(Context context, int resource, List<alerts> items) {
  super(context, resource, items);
  this.resource=resource;

 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent)
 {
  LinearLayout alertView;
  //Get the current alert object
  alerts al = getItem(position);

  //Inflate the view
  if(convertView==null)
  {
   alertView = new LinearLayout(getContext());
   String inflater = Context.LAYOUT_INFLATER_SERVICE;
   LayoutInflater vi;
   vi = (LayoutInflater)getContext().getSystemService(inflater);
   vi.inflate(resource, alertView, true);
  }
  else
  {
   alertView = (LinearLayout) convertView;
  }
  //Get the text boxes from the listitem.xml file
  TextView alertText =(TextView)alertView.findViewById(R.id.txtAlertText);
  TextView alertDate =(TextView)alertView.findViewById(R.id.txtAlertDate);

  //Assign the appropriate data from our alert object above
  alertText.setText(al.alerttext);
  alertDate.setText(al.alertdate);

  return alertView;
 }

}

package josecgomez.com.android.dev.webservice;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import josecgomez.com.android.dev.webservice.objects.alerts;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class main extends Activity {
    /** Called when the activity is first created. */
	//ListView that will hold our items references back to main.xml
	ListView lstTest;
	//Array Adapter that will hold our ArrayList and display the items on the ListView
	AlertsAdapter arrayAdapter;

	//List that will  host our items and allow us to modify that array adapter
	ArrayList<alerts> alrts=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //Initialize ListView
        lstTest= (ListView)findViewById(R.id.lstText);

         //Initialize our ArrayList
        alrts = new ArrayList<alerts>();
        //Initialize our array adapter notice how it references the listitems.xml layout
        arrayAdapter = new AlertsAdapter(main.this, R.layout.listitems,alrts);

        //Set the above adapter as the adapter of choice for our list
        lstTest.setAdapter(arrayAdapter);

        //Instantiate the Web Service Class with he URL of the web service not that you must pass
        WebService webService = new WebService("http://www.sumasoftware.com/alerts/GetAlerts.php");

        //Pass the parameters if needed , if not then pass dummy one as follows
		Map<String, String> params = new HashMap<String, String>();
		params.put("var", "");

		//Get JSON response from server the "" are where the method name would normally go if needed example
		// webService.webGet("getMoreAllerts", params);
		String response = webService.webGet("", params);

		try
		{
			//Parse Response into our object
			Type collectionType = new TypeToken<ArrayList<alerts>>(){}.getType();

			//JSON expects an list so can't use our ArrayList from the lstart
			List<alerts> lst= new Gson().fromJson(response, collectionType);

			//Now that we have that list lets add it to the ArrayList which will hold our items.
			for(alerts l : lst)
			{
				alrts.add(l);
			}

			//Since we've modified the arrayList we now need to notify the adapter that
			//its data has changed so that it updates the UI
			arrayAdapter.notifyDataSetChanged();
		}
		catch(Exception e)
		{
			Log.d("Error: ", e.getMessage());
		}
    }
}

 Please note that the attached jar file contains a compiled copy of the GSON library available at http://code.google.com/p/google-gson/.

以上是转帖 http://www.josecgomez.com/2010/05/04/android-accessing-restfull-json-services-library/

http://www.josecgomez.com/2010/04/30/android-accessing-restfull-web-services-using-json/

分享到:
评论

相关推荐

    JSON解析数据listview显示

    文件"StudyOneToThree"可能包含了从基础到进阶的JSON解析和ListView使用教程,包括如何发送HTTP请求、解析JSON字符串、创建自定义Adapter以及优化ListView性能等内容。详细学习这些材料将有助于深入理解和掌握...

    Android 解析本地json数据 listview 显示

    总结来说,Android解析本地JSON数据并在ListView中显示涉及了JSON解析(如使用Gson)、ListView的使用以及自定义Adapter的实现。同时,为了实现购物车累加功能,还需要在程序中计算并显示所有项目的总额。这个过程...

    Exam 5-2--ACCESS采用ListView显示_C#_数据库_

    在本主题"Exam 5-2--ACCESS采用ListView显示_C#_数据库_"中,我们将探讨如何利用C#来操作ACCESS数据库,特别是如何通过ListView控件来显示数据,并执行SQL语句实现数据的插入、更新和删除。 首先,要使用ACCESS...

    android JSON解析放入ListView

    将JSON解析并显示到ListView中是常见的应用场景,比如加载网络上的数据到应用中。 一、JSON解析 1. JSON基本结构:JSON数据由键值对组成,键用引号包围,值可以是字符串、数字、数组、对象等。例如: ```json { ...

    ListView for JSON.

    在Android开发中,ListView是一种常用的UI组件,常用于显示大量数据列表。本教程将详细介绍如何通过HTTP客户端获取JSON数据,并将其解析并展示在ListView中。首先,我们需要理解JSON(JavaScript Object Notation)...

    json从网上下载解析,用baseadapter,listview显示

    本教程将详细介绍如何从网上下载JSON数据,进行解析,并利用BaseAdapter与ListView将其在Android应用中展示出来。 一、理解JSON 1. JSON结构:JSON数据以键值对的形式存储,类似于JavaScript的对象。主要数据类型...

    listview中json数据展示

    - 将从服务器获取的JSON数据转化为适合ListView显示的对象列表,例如一个ArrayList。 4. **设置ListView**: - 在布局文件中添加ListView组件,并在代码中找到它。 - 设置Adapter,调用`setAdapter()`方法,传入...

    Android服务器解析json数据实现下拉刷新上拉加载ListView显示

    通过学习和实践这个项目,你可以掌握从网络获取数据、解析JSON、使用ListView展示数据以及实现下拉刷新和上拉加载等核心技能,这些都是Android开发中的必备知识。这个实例经过验证且绝对运行成功,非常适合初学者...

    VB中,Listview中的数据如何存入 access 的表中VISUALBASIC源码系列

    在VB(Visual Basic)编程中,Listview控件经常用于显示和管理结构化的数据,而Access则是一款常用的数据库管理系统。将Listview中的数据存入Access的表中是常见的数据交互需求,尤其在开发桌面应用程序时。这篇源码...

    android 自定义listview分组显示本地json格式数据

    总结,实现“android 自定义listview分组显示本地json格式数据”需要完成以下步骤:解析本地JSON数据、创建自定义Adapter、处理点击事件以及设置HeaderListView。通过这样的方式,我们可以在Android应用中构建出一个...

    Android用listview显示数据库中的数据

    3. **解析数据**:接收到的服务器响应通常是JSON格式,需要将其解析成Java对象。可以使用`Gson`或`Jackson`库将JSON字符串转化为对应的Java实体类。 4. **数据库操作**:在服务器端,你需要一个MySQL数据库,用于...

    VB LIstview控件与Access数据库

    **VB ListView 控件与 Access 数据库** 在Visual Basic (VB) 开发中,ListView控件是一种常用的数据展示组件,它可以以列表、小图标或详细信息视图显示数据。而Access数据库则是一个轻量级的关系型数据库管理系统,...

    Json字符串绑定自定义ListView

    通过以上步骤和技巧,你可以实现JSON字符串与自定义ListView的绑定,让应用能够流畅地显示和处理大量数据。记住,良好的数据绑定和优化是提升用户体验的关键。在实践中不断探索和优化,你的Android开发技能将更上一...

    JSON 解析异步加载图片 listview显示

    在Android开发中,JSON解析和异步加载图片到ListView是一种常见的需求,特别是在处理网络数据时。这个场景描述了一个项目,其中JSON数据被用于获取图片URL,然后通过AsyncTask进行异步加载,最后在ListView中展示...

    Android例子源码httpclient获取到JSON数据并展示到ListView

    在Android开发中,将HTTP客户端(如HttpClient)用于获取JSON数据并将其显示在ListView中是一项常见的任务。这个例子源码提供了这样一个实现,让我们深入探讨其中的关键知识点。 首先,`HttpClient`是Android SDK...

    ListView 显示 在线新闻,网络实时更新

    综上所述,要实现“ListView显示在线新闻,网络实时更新”,我们需要熟练掌握网络请求、数据解析、ListView适配器、UI优化以及后台服务等技术,通过合理的设计和实现,为用户提供流畅、实时的新闻浏览体验。

    android异步远程解析json数据绑定到listview上

    在Android开发中,将远程服务器返回的JSON数据异步解析并绑定到ListView是常见的操作,这一过程涉及到网络请求、数据解析、UI更新等多个关键环节。本文将深入探讨这些知识点。 首先,我们需要理解“异步”处理的...

    JSON数据解析后显示在listview上并且可上滑加载更多

    适合新手参考,简单实用,因为我也是新手,所以用的都是比较基础的方法实现。...okhttp方法获取服务器JSON数据或者获取本地android studio内的txt文本解析,然后显示在listview上,listview增加了上滑加载更多的功能

    LISTVIEW显示指定目录文件

    这需要创建一个`CMenu`对象,添加菜单项,然后在ListView上处理`WM_RBUTTONDOWN`消息以显示菜单。在Win32 API中,可以使用`CreatePopupMenu`、`AppendMenu`和`TrackPopupMenu`函数实现类似的功能。 最后,对于文件...

    Android代码-通过httpclient获取到JSON数据展示到ListView.zip

    在本例中,可能有一个自定义的`Adapter`类,继承自`BaseAdapter`,并重写`getView()`方法,用于在ListView的每个条目中显示JSON数据。 6. **线程安全**:由于数据加载在后台线程,而更新UI需在主线程,因此需要使用...

Global site tag (gtag.js) - Google Analytics