/** 异步任务 :判断服务器开启才取后台数据
* 2014-7-31
* @author 吴春源
*
*/
public class MyTask extends AsyncTask<String, Integer, String> {
//onPreExecute方法用于在执行后台任务前做一些UI操作
@Override
protected void onPreExecute() {
Log.i(TAG, "onPreExecute() called");
// MyUtil.showToast(OrderActivity.this, "数据上传...");
// textView.setText("loading...");
// button_toOrder.setText("正在查询....");
// pd = ProgressDialog.show(MenuActivity.this, "查台", "正在连接服务器...", true, true);
}
//doInBackground方法内部执行后台任务,不可在此方法内修改UI
@Override
protected String doInBackground(String... params) {
//totalText = (TextView) findViewById(R.id.total);
Log.i(TAG, "doInBackground(Params... params) called");
try{
Socket socket2 =new Socket();
//socket2.connect(new InetSocketAddress(SERVER_ADDRESS, SERVER_PORT));
//设置连接超时 10s
socket2.connect(new InetSocketAddress(ServerIP, SERVER_PORT),10000);
socket2.close();
return String.valueOf(1)+"|"+params[0];
} catch (Exception e) {
Log.e(TAG, e.getMessage());
return String.valueOf(0);
}
}
//onProgressUpdate方法用于更新进度信息
@Override
protected void onProgressUpdate(Integer... progresses) {
Log.i(TAG, "onProgressUpdate(Progress... progresses) called");
}
//onPostExecute方法用于在执行完后台任务后更新UI,根据后台下单结果重新绑定前台订单
// String result 来自doInBackground
@Override
protected void onPostExecute(String result) {
Log.i(TAG, "onPostExecute(Result result) called");
String [] sa =result.split("\\|");
//pd.dismiss();
if(sa[0].equals("1")){
/** MyUtil.showToast(MenuActivity.this, "服务器开启");
* */
if(sa[1].equals("0")){ // 0-取台号
// mTTask= new TableListsTask();
// mTTask.execute("0");
TableListsTask task = new TableListsTask(ServerIP,"ALL", MenuActivity.this);
//DownLoaderTask task = new DownLoaderTask("http://192.168.9.155/johnny/test.h264", getCacheDir().getAbsolutePath()+"/", this);
task.execute();
//取订单明细
OrderDetailTaskM task1 = new OrderDetailTaskM(ServerIP,"0", MenuActivity.this);
task1.execute();
}
if(sa[1].equals("2")){ // 2-取台号 -某一台
// mTTask= new TableListsTask();
// mTTask.execute("0");
TableListsTask task = new TableListsTask(ServerIP,table_no, MenuActivity.this);
//DownLoaderTask task = new DownLoaderTask("http://192.168.9.155/johnny/test.h264", getCacheDir().getAbsolutePath()+"/", this);
task.execute();
//2014-11-9增加查台取订单明细
OrderDetailTaskM task1 = new OrderDetailTaskM(ServerIP,"0", MenuActivity.this);
task1.execute();
}
if(sa[1].equals("1")){ // 1-取新菜单
MenuListsTaskM task = new MenuListsTaskM(ServerIP,"0", MenuActivity.this);
task.execute();
}
}
if(result.equals("0")){
MyUtil.showToast(MenuActivity.this, "无法连接服务器");
}
}
//onCancelled方法用于在取消执行中的任务时更改UI
@Override
protected void onCancelled() {
Log.i(TAG, "onCancelled() called");
}
}
异步任务判断服务器是否开启
时间: 2024-08-01 20:34:55
异步任务判断服务器是否开启的相关文章
Android客户端判断服务器是否开启 HttpHostException解决方案
Android判断服务器是否开启,试了很多方法都不行(若server未开启会卡在HttpResponse那),有人说高版本的Android程序不允许在主线程中访问网络(主线程中可以读写网络流)有待于验证. 方法一: 在xxxActivity的onCreate()方法中添加 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadP
c#异步Socket Tcp服务器实现
原创性申明 本文作者: 小竹zz 本文地址:http://blog.csdn.net/zhujunxxxxx 转载请注明出处. 介绍 我之前写过一篇IOCP的文章: http://blog.csdn.net/zhujunxxxxx/article/details/43573879 这个比异步socket性能好,因为它复用对象了. 在c#中微软已经提供了TcpListener和TcpClient来实现Tcp的通讯,这部分已经有人写了比较好的异步服务器代码 http://www.cnblogs.c
C#中判断服务器图片是否存在
public int num = 0; /// <summary> /// 判断服务器路径中的图片文件是否存在存在则累加统计 /// </summary> private int GetAcount(string name) { for (int i = 1; i < i + 1; i++) { string url = "http://IP/Image/" + name + "/" + name + i + ".jpg&qu
Android判断GPS是否开启和强制帮用户打开GPS
引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的.我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示.用户若不配合我们也没办法,只能采用基站定位方式.如果我们的应用必须用户打开GPS才可使用,这时流氓一点的做法,就是强制帮用户打开GPS. 阐明概念: 定位服务GPS:全球卫星定位系统,使用24个人造卫星所形成的网络来三角定位接受器的位置,并提供经纬度坐标.虽然GPS提供绝佳的位置的精确度,但定位的位置需要在可看见人造卫星或轨道所经过的
判断GPS是否开启&;转到设置GPS界面
/** * 判断GPS是否开启,GPS或者AGPS开启一个就认为是开启的 * @param context * @return true 表示开启 */ public static final boolean isGPSOPen(final Context context) { LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); // 通过G
IIS6.0服务器完美开启Gzip压缩[转]
转自:http://seo.qiankoo.com/731 在昨天服务器还没重装之前,这个服务器已经开启了Gzip,去年配置的时候就很波折,因为配置文件在C盘,所以重装后Gzip就没了. 今天理论上第二次配置Gzip应该很轻松的,但是苦逼的人总能遇到意想不到的问题. IIS6.0开启Gzip的整个流程 第一步 首先右击“本机计算机”选择“允许直接编辑配置数据库”,这样做的目的是可以直接修改配置文件,或者在服务里停止掉“IIS Admin Service”服务(需谨慎), 第二步 右键“web服务
iOS开发 - 判断程序第一次开启 以及 应用升级后第一打开的判断
现在很多app都加了开场的引导页,在用户第一次开启应用的时候呈现,给用户一些使用上的引导和说明,当用户第二次打开时就不显示了. 要达到这种效果其实只需要持久化一个flag即可.但是问题来了,当app升级之后,我们希望能够重新开启新的引导页,来告诉用户新版本的一些内容,这样的话,持久话一个flag的方法就无法实现了. “一个不行,那么就用多个吧.” 我们给这个flag 加上程序的版本号,这样当程序升级之后,因为版本号不同,会被判断为第一次开启. 在引导页结束的地方加入一下代码: NSString
检查服务器是否开启GD库
1.把以下代码复制到记事本中并保存成A.php<?phpOb_end_flush();header ("Content-type: image/png");$im = @imagecreate (200, 100)or die ("无法创建图像");$background_color = imagecolorallocate ($im, 0,0, 0);$text_color = imagecolorallocate ($im, 230, 140, 150);
服务器如何开启php的fsockopen函数? 使用发邮箱类
服务器如何开启php的fsockopen函数?如果你要使用一些邮件的类,那么很多要求支持php的fsockopen函数.但是服务器默认不是开启的.下面是从网上找的2中开启的方法,针对不同的用户. echo phpinfo(); 查disable_functions,如果后面出现了fsock,fsockopen,则需要把这两个函数去掉,重启apache,然后继续下面: 方法一: 第一步: php.ini文件中查找 allow_url_fopen = On 使其值为On 第二步: php.ini文件