1、Andriod环境搭建
重点:环境搭建
JDK:5.0以上,配置JAVA_HOME:D:\Java\jdk1.6.0_24,
PATH:%JAVA_HOME%/BIN;放到最前面
Eclipse3.5以上:java,jee:解压缩最好不要放在有中文的目录,有空格的目录
org.sf.easyexplore_1.0.4.jar文件插件,选中工程的时候右键,可以直接打开当前工程的目录,直接放入eclipse的根目录下面的plugins就可以完成安装
ADT:android eclipse插件
安装adt插件:help->install new software->add->
Name:给插件取个名称
Location:方式1:从本地文件直接安装插件
方式2:可以从网络直接安装最新的插件http地址
添加了ADT-18.0.0.zip选中Developer Tolls
取消最后一个勾:不要去互联网更新最新的插件
配置android sdk:
android-sdk_r18-windows.zip直接从互联网下载的,35M,里面没有平台代码
运行SDK Manager.exe,会弹出一个窗体,可以这里下载最新的sdk平台代码
android-sdk-adt18.rar已经下载sdk平台代码好了,
解压缩配置sdk home
环境配置ok之后,写好的android在哪里运行?
AVD:android模拟器
创建模拟器:
默认存放的位置:C:\Documents and Settings\Administrator\.android\avd
不能成功启动模拟器:
1.使用了中文的用户名登陆
2.C盘的空间不够了
额外配置一个环境变量,重新指向一个非中文的路径,创建模拟器的位置就存在在这里\
ANDROID_SDK_HOME:d:\android
成功启动模拟器:
修改一些配置信息:
中文language
时间
键盘
点击home键:显示主应用,不会关闭当前的应用
长按home键:显示最近已经打开的应用
点击返回键:会关闭当前的应用,键盘Esc
横竖屏切换:ctrl+F12
2、java模拟http请求,登录教务处
public static void main(String[] args) throws Exception {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("请求地址");
// 设置请求的头信息
httpPost.setHeader("user-agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)");
// 设置请求的超时时间
// "http.connection.timeout"
httpPost.getParams().setParameter(HttpConnectionParams.CONNECTION_TIMEOUT, 5 * 1000);
// 设置请求参数
List<NameValuePair> namevaluepairs = new ArrayList<NameValuePair>();
namevaluepairs.add(new BasicNameValuePair("__VIEWSTATE", "dDwtMTg3MTM5OTI5MTs7Pk0B1j2JVXu0OG3LxphwgpZvslsw"));
namevaluepairs.add(new BasicNameValuePair("Button1", ""));
namevaluepairs.add(new BasicNameValuePair("RadioButtonList1", "学生"));
// namevaluepairs.add(new BasicNameValuePair("lbLanguage", ""));
namevaluepairs.add(new BasicNameValuePair("TextBox1", "学号"));
namevaluepairs.add(new BasicNameValuePair("TextBox2", "密码"));
// 处理中文乱码问题
UrlEncodedFormEntity paramEntity = new UrlEncodedFormEntity(namevaluepairs,"UTF-8");
httpPost.setEntity(paramEntity);
// 发出post请求,返回一个响应结果对象
HttpResponse httpResponse = httpClient.execute(httpPost);
// 获取响应码
int code = httpResponse.getStatusLine().getStatusCode();
System.out.println(code);
// SC_OK = 200
if (code ==302) {
System.out.println("登陆成功");
}
// 先获取响应的实体对象
HttpEntity httpEntity = httpResponse.getEntity();
// 获取响应流httpEntity.getContent()
// 通过一个工具类直接把实体对象转换成字符串
String resultString=EntityUtils.toString(httpEntity, "UTF-8");
if(resultString.contains("验证码不正确!!"))
{
System.out.println("验证码不正确!!");
}
else if(resultString.contains("密码错误"))
{
System.out.println("密码错误");
}
else if(resultString.contains("用户名不存在或未按照要求参加教学活动"))
{
System.out.println("用户名不存在或未按照要求参加教学活动");
}
else {
System.out.println(resultString);
}
}