这个先说点废话,我个人看博客的习惯是,不喜欢代码太长的博客,太长看不完,下次再看不知道从那开始了(哦,记性比较差,),所以一般是一篇里面放两个比较大的类
接上一篇中的用户登录
先说下:
服务器端返回的JSON数据格式如下:
user : tomcat password-->tomcat登录成功会进入系统的主界面,通过该界面提供的ListView进入各个功能模块
1. 主界面布局文件:main.xml
<?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="fill_parent" android:background="@drawable/bg" > <TextView android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center" android:layout_marginLeft="5dp" android:textStyle="bold" android:textColor="@color/white" android:text="@string/welcome" android:textSize="18sp" android:layout_marginTop="20dp" /> <ListView android:id="@+id/mainMenu" android:layout_marginTop="40dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" /> </LinearLayout>2. 主界面对应的Activity:Main.java
package com.infy.auction.client; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.infy.auction.client.util.ImageAdapter; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.AdapterView; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; public class Main extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub ListView mainMenu; super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); List<Map<String, Object>> datas = this.getDatas(); ImageAdapter adapter = new ImageAdapter(this, datas); mainMenu = (ListView) findViewById(R.id.mainMenu); mainMenu.setAdapter(adapter); // 为ListView的各列表项的单击事件绑定事件监听器 mainMenu.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = null; switch (position) { // 查看竟得物品 case 0: // 启动ViewItem Activity // intent.setClass(Main.this,ViewItem.class); // action属性为请求的Servlet地址 intent.putExtra("action", "viewSucc"); startActivity(intent); break; // 查看流拍物品 case 1: // 启动ViewItem的Activity intent = new Intent(Main.this, ViewItem.class); intent.putExtra("action", "ViewFailServlet"); startActivity(intent); break; // 管理物品种类 case 2: // 启动ViewKind的Activity intent = new Intent(Main.this, ManageKind.class); intent.putExtra("action", "ViewKindServlet"); startActivity(intent); break; // 管理物品 case 3: // 启动ManageItem的Activity intent = new Intent(Main.this, ManageItem.class); startActivity(intent); break; } } }); } public List<Map<String, Object>> getDatas() { List<Map<String, Object>> results = new ArrayList<Map<String, Object>>(); String[] items = this.getResources().getStringArray(R.array.menu); for (int i = 0; i < items.length; i++) { Map<String, Object> item = new HashMap<String, Object>(); item.put("left", R.drawable.item_left); item.put("text", items[i]); item.put("right", R.drawable.item_right); results.add(item); } return results; } }
3.这里用到了一个封装ListView的Adapter:ImageAdapter.java
最后给出主界面的效果图。
童鞋们,礼拜天快乐,未完待续。。。。。