android笔记--与服务器交互更改简历状态
private AsyncHttpClient asyncHttpClient;
private Dialog dialog;
/**
* 改变简历状态
*/
private void postchangestate(final boolean mIsOpen,final boolean mIsLoader) {
asyncHttpClient = new AsyncHttpClient();
RequestParams rp = new RequestParams();
if(mIsLoader){
rp.put("islook", "");
}else{
rp.put("islook", mIsOpen?"1":"0");
}
rp.put("user_openid", getAppContext().getAppUserOpenId());
rp.put("client_id", getAppContext().getAppClientId());
rp.put("client_sign", MD5Util.string2MD5(Unity.appkey + getAppContext().getAppClientId() + getAppContext().getAppUserOpenId()));
asyncHttpClient.setTimeout(6 * 10 * 1000);
asyncHttpClient.post(this, Unity.changeresumestate, rp, new AsyncHttpResponseHandler() {
@Override
public void onStart() {
if(mIsLoader){
changeLoadState(true);
}else{
dialog = new MyDialog(TalentedChangeStateActivity.this).showProgressDialog(asyncHttpClient);
}
super.onStart();
}
@Override
public void onSuccess(String content) {
if(mIsLoader){
changeLoadState(false);
}else{
if (dialog != null) dialog.dismiss();
}
Gson gson = new GsonBuilder().create();
try {
String stats = new JSONObject(content).optString("stats");
if ("true".equals(stats)) {
mToggleButton.setChecked(true);
state_tv.setText("NO");
} else {
mToggleButton.setChecked(false);
state_tv.setText("OFF");
}
} catch (Exception e) {
AppErrorModel appErrorModel=gson.fromJson(content, AppErrorModel.class);
eesycard_show_choose_loadbar.setVisibility(View.GONE);
eesycard_show_choose_loadtv.setVisibility(View.VISIBLE);
eesycard_show_choose_loadtv.setText(appErrorModel.getError_description());
mMessageBar.show(appErrorModel.getError_description());
}
super.onSuccess(content);
} @Override
public void onFailure(Throwable error) {
if (dialog != null) dialog.dismiss();
// 网络中断错误详情显示
if (error instanceof UnknownHostException) {
mMessageBar.show(getResources().getString(R.string.load_no_network_error));
} else if (error instanceof HttpResponseException) {
// 请求错误详情
mMessageBar.show(getResources().getString(R.string.load_http_response_error));
} else if (error instanceof SocketTimeoutException) {
// 请求超时详情
mMessageBar.show(getResources().getString(R.string.load_socket_timeout_error));
}
eesycard_show_choose_loadbar.setVisibility(View.GONE);
eesycard_show_choose_loadtv.setVisibility(View.GONE);
reloadBtn.setVisibility(View.VISIBLE);
reloadBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
postchangestate(false,true);
}
});
super.onFailure(error);
}
}); }
private AppContext getAppContext() {
return (AppContext) getApplicationContext();
}
/**
* 初始化加载更新的UI
*/
public void changeLoadState(boolean flag) {
reloadBtn.setVisibility(View.GONE);
eesycard_show_choose_loadbar.setVisibility(flag ? View.VISIBLE : View.GONE);
content_view.setVisibility(flag ? View.GONE : View.VISIBLE);
}
@Override
protected void onDestroy() {
if (asyncHttpClient != null)
asyncHttpClient.cancelRequests(this, true);
super.onDestroy();
}
//这是调用
mToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
postchangestate(isChecked,false);
}
});
postchangestate(false,true);
android笔记--与服务器交互更改简历状态的更多相关文章
- Android和FTP服务器交互,上传下载文件(实例demo)
今天同学说他备份了联系人的数据放在一个文件里,想把它存到服务器上,以便之后可以进行下载恢复..于是帮他写了个上传,下载文件的demo 主要是 跟FTP服务器打交道-因为这个东东有免费的可以身亲哈 1. ...
- java攻城狮之路(Android篇)--与服务器交互
一.图片查看器和网页源码查看器 在输入地址的是不能输入127.0.0.1 或者是 localhost.ScrollView :可以看成一个滚轴 可以去包裹很多的控件在里面 练习1(图片查看器): pa ...
- Android客户端与服务器交互中的token
学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...
- Android 客户端与服务器交互
在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有 一:基于Http协议获取数据方法 ...
- 【转】android笔记--保存和恢复activity的状态数据
一般来说, 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失, 当activity重新回到前台之后, 所有的改变都会 ...
- Android数据与服务器交互的GET,POST,HTTPGET,HTTPPOST的使用
Android有这几种方式,可以提交数据到服务器,他们是怎么使用的呢,这里我们来探讨一下. 这里的例子用的都是提交客户端的用户名及密码,同时本节用到的StreamTools.readInputStre ...
- Android与PHP服务器交互
转自:http://blog.csdn.net/ab_ba/article/details/7912424 服务器端:server.php 1 <?php 2 include(' ...
- android app与服务器交互
package mydemo.mycom.demo2.service; import org.apache.http.HttpResponse; import org.apache.http.Name ...
- Android客户端与服务器
就是普通的服务器端编程,还不用写界面,其实还比服务器编程简单一些.跟J2EE一样的服务器,你android这一方面只要用json或者gson直接拿数据,后台的话用tomcat接受请求操作数据,功能不复 ...
随机推荐
- win10更新后无法远程,报 credssp加密oracle修正
答案都在图里,看不清就浏览器放大观看 打开开始菜单,搜索“编辑组策略” 进入
- CentOS7 通过代理上网
1.修改/etc/profile,增加以下内容: http_proxy=http://[代理地址]:[代理地址的端口]/ https_proxy=http://[代理地址]:[代理地址的端口]/ ex ...
- 给Java程序员的几条建议
对于Java程序猿学习的建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是LZ你是如何学习Java的,能不能给点建议? 今天LZ是打算来点干货,因此咱们就不说一些学 ...
- 多线程和Socket——在线聊天室
多线程开发和Socket技术 一.进程和线程 进程:每个应用程序对应一个进程: 线程:一个进程至少包含一个线程,线程要和CPU进行交互. 多线程并发(可以理解为):"同一时间"执行 ...
- 【php将日志写入一个按时间天来分类的文件】put_file_contents()
具体参考php官方文档:http://php.net/manual/zh/function.file-put-contents.php 具体参数:成功返回插入数据的字节数,失败返回false 使用示例 ...
- Huginn部署到 Heroku
折腾了几个小时,现在记录下安装步骤 1.本机Win10,放弃本地安装,官网建议也是, 2.安装虚拟机,装ubuntu系统 3.更换国内源(包括apt和gem,bunlde)ruby中国 4.注册her ...
- node下使用jquery
node使用jquery的两种方式 在node下,使用jquery有两种方法: 使用jsdom模拟一个window对象 使用cheerio,cheerio只实现了jquery的dom部分功能,相当于j ...
- RS:关于协同过滤,矩阵分解,LFM隐语义模型三者的区别
项亮老师在其所著的<推荐系统实战>中写道: 第2章 利用用户行为数据 2.2.2 用户活跃度和物品流行度的关系 [仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法.学术界对协同过滤算 ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...
- 解决Winform程序在不同分辨率系统下界面混乱
问题分析: 产生界面混乱的主要原因是,winform程序的坐标是基于点(Point)的,而Point又与DPI相关,具体就是 一英寸 =72Points 一英寸 = 96pixel ...