80,351
社区成员
发帖
与我相关
我的任务
分享
package com.bat.tenma.activity;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import com.bat.tenma.json.JsonTools;
import com.bat.tenma.service.Myservice;
import com.bat.tenme.http.HttpTools;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
//定义控件
private Button bt_login;
//定义一些全局变量
private int lastdata = 0;
private int nowdata;
private String JsonData;
private String url = "http://xxx.com/login.jsp?username=xx&password=abc";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_login = (Button) findViewById(R.id.button1);
bt_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (JsonTools.isLogin(getJsonData())) {
System.out.println("登陆成功");
}
url = "http://xxx.com/mobile_borad_list.jsp";
lastdata=JsonTools.getTotal(getJsonData());
Log.i("TAG", ""+lastdata);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//获取JsonData的值
public String getJsonData() {
Mythread mt = new Mythread();
mt.start();
try {
mt.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.i("TAG", "JsonData:" + JsonData);
return JsonData;
}
//安卓4.0以后网络访问只有在线程里面来进行了
private class Mythread extends Thread {
@Override
public void run() {
try {
// ----------------------用get方式------------------------------
HttpGet httpGet = new HttpGet(url);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(httpGet);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
InputStream is = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(is));
String result = "";
String line = "";
while ((line = reader.readLine()) != null) {
result = result + line;
}
Log.i("TAG", "result:" + result);
JsonData = result;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
package com.bat.tenma.json;
import org.json.JSONObject;
import android.R.integer;
import android.util.Log;
public class JsonTools {
public static JSONObject result;
public static boolean isLogin(String JsonData) {
try {
result = new JSONObject(JsonData);
String success = result.get("success").toString();
Log.i("TAG", "success:"+success);
if(success.equals("true"))
{
Log.i("TAG", "登陆成功");
return true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public static int getTotal(String JsonData){
try {
result = new JSONObject(JsonData);
int total = (Integer) result.get("total");
Log.i("TAG", "total:"+total);
return total;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
// 生成 JSON 对象
}
List<Cookie> cookies = httpClient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
Log.i("TAG", "-------Cookie NONE---------");
} else {
for (int i = 0; i < cookies.size(); i++) {
// 保存cookie
cookie = cookies.get(i);
Log.i("TAG", cookie.toString());
}
}
加载cookie
if (cookie != null) {
Log.i("TAG", "加载cookie");
// httpGet.setHeader("Cookie", cookie.toString());
httpGet.setHeader("Cookie", "JSESSIONID=" +cookie.getValue() );
}
最终成功……和我有同样问题的朋友可以随时问我