通过获取线程的id判断,如果当前线程的id是1,说明请求结果已经回到主线程。
//获取当前方法所在的线程 Thread thread = Thread.currentThread(); //打印出线程的id int id = (int) thread.getId(); Toast.makeText(this,id+"",Toast.LENGTH_LONG).show();
json解析是耗时操作,最好不要在主线程里面做,影响app的响应速度!
//原来使用的Gson解析,现在很少用了
Gson gson = new Gson();
LoginEntity loginEntity = gson.fromJson(loginJson, LoginEntity.class);
直接使用网页版的在线接口测试工具:
http://tool.chinaz.com/Tools/httptest.aspx
// 测试登陆的接口 public static String object2JsonLogin() throws Exception { long currentTimeMillis = System.currentTimeMillis(); JSONObject obj = new JSONObject(); obj.put("api_key", apiKey); obj.put("time", currentTimeMillis); obj.put("api_token", getToken(serverSecret, currentTimeMillis)); obj.put("username","13024112588"); obj.put("password","000000"); obj.put("expires", 28800); return obj.toString(); } // 获取token private static String getToken(String serverSecret, long currentTimeMillis) throws Exception { Args.notBlank(serverSecret, "server Secret is not null"); StringBuffer s = new StringBuffer(); s.append(serverSecret); s.append(currentTimeMillis); return com.example.testinterfaceutils.UtilsRSACoder.SHA1(s.toString()); }