做android方面的开发已经有差不多2年的时间了,在这段时间里,积累了开发方面的经验,希望与大家分享。
提几点希望:
要:
1. 要尝试分享
2. 要虚心板砖
3. 要结识更多的android开发者,共同进步
不要:
1.人身攻击
开发框架主要分成以下几个方面,在接下来的一段时间里,将陆续写出来
今天先介绍main包
1. main包:
BaseActivity,java 主要继承activity父类,主要几个重要方法,
包括onCreate(),
handleIntentData(),
setupView(),
涉及到联网交互,还有重写方法parseInputStream(), 以及queryForServer()
以下是具体代码
package com.nbgame.androidapp.main;
import java.io.InputStream;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import com.nbgame.androidapp.handler.BaseHandler;
/**
** @author sean chen
* @version : 2011-9-21
**/
public abstract class BaseActivity extends Activity {
/**
* 每个activity首先调用
* 依次做初始化、界面设置、处理来自其他的activity的参数
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
setupView();
handleIntentData();
}
/**
* 负责有关handler等对象实例化
* 非界面ui组件的初始化
*/
protected abstract void init();
/**
* 设置界面ui
* 如果使用xml描述ui, 先设置setContentView(R.layout.xx);
* 然后依次初始化ui对象\通知注册事件监听器registerListener()
*/
protected abstract void setupView();
/**
* 读取intent参数, 比如处理传递的数据
*/
protected abstract void handleIntentData();
/**
* 调用网络查询接口
* @param paramsMap http查询的具体参数
* @param handler 内部通信实例
* @param httpUrl 访问的网站url
*/
protected abstract void queryForServer(Map paramsMap, BaseHandler handler, String httpUrl);//查询网络
/**
* 调用网络查询接口
* @param paramsMap http查询的具体参数
* @param handler 内部通信实例
*/
//protected abstract void queryForServer(Map paramsMap, BaseHandler handler);//查询网络
/**
* 解析来自服务器端回复
* @param is 输入流
*/
protected abstract void parseInputStream(InputStream is) throws Exception;
/**
* 销毁当前activity
*/
@Override
protected void onDestroy() {
super.onDestroy();
}
/**
* 返回按键
*/
@Override
public void onBackPressed() {
super.onBackPressed();
}
/**
* 恢复当前activity
*/
@Override
protected void onResume() {
super.onResume();
}
}