服务器时间延迟,如何处理从服务器延迟响应时间'力逼近'

使用下面的示例代码来执行login过程。您可以使用AsyncTask来执行登录过程。

LoginActivity类,它使用AsyncTask。

在Login按一下按钮,我executing的AsyncTask。

在登录过程中,这将显示一个ProgressDialog

过程完成后,驳回ProgressDialog并显示状态信息给用户

类代码:

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.AsyncTask;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class LoginActivity extends Activity {

private Button login_Button = null;

private EditText userNameText = null;

private EditText passwordText = null;

private String uName = "";

private String pass = "";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.test_login);

login_Button = (Button) findViewById(R.id.cmdDoLogin);

userNameText = (EditText) findViewById(R.id.editTextUserName);

passwordText = (EditText) findViewById(R.id.editTextPassword);

login_Button.setOnClickListener(new OnClickListener() {

public void onClick(View paramView) {

uName = userNameText.getText().toString().trim();

pass = passwordText.getText().toString().trim();

if (uName.equals("") || pass.equals("")) {

Toast.makeText(LoginActivity.this,

"Fill both username and password fields",

Toast.LENGTH_SHORT).show();

} else {

new LoginActivity.DoLoginProcess().execute(); // calling the AsyncTask here

}

}

});

}

private class DoLoginProcess extends AsyncTask {

ProgressDialog pd = null;

@Override

protected void onPreExecute() {

super.onPreExecute();

pd = new ProgressDialog(LoginActivity.this);

pd.setTitle("Logging In...");

pd.setMessage("Please wait...");

pd.setCancelable(false);

pd.show();

}

@Override

protected Integer doInBackground(Void... params) {

int loginStatus = 0 ; // treat this as loginStatus. 0 = login failed; 1=login success. You can return this value to onPostExecute function

//*********************************************

// do login process over internet here. Hope you already have the code to do the login process over internet.

//*********************************************

return loginStatus;

}

@Override

protected void onPostExecute(Integer status) {

super.onPostExecute(status);

pd.dismiss(); // dismiss the progress dialog

if (status == 0) { // login failed

AlertDialog alertDialog = new AlertDialog.Builder(

LoginActivity.this).create();

alertDialog.setTitle("Error");

alertDialog.setMessage("Login failed");

alertDialog.setButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int which) {

LoginActivity.this.finish();

dialog.cancel();

}

});

alertDialog.setIcon(android.R.drawable.ic_dialog_info);

alertDialog.show();

} else if(status == 1) { // login success

AlertDialog alertDialog = new AlertDialog.Builder(

LoginActivity.this).create();

alertDialog.setTitle("Success");

alertDialog.setMessage("Login success");

alertDialog.setButton("OK",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int which) {

LoginActivity.this.finish();

dialog.cancel();

}

});

alertDialog.setIcon(android.R.drawable.ic_dialog_info);

alertDialog.show();

}

}

}

}

的test_login布局XMl文件:

android:id="@+id/loginbglayout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="10dp" >

android:id="@+id/holderLayout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_centerInParent="true" >

android:id="@+id/row1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center" >

android:id="@+id/textViewUserName"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="10dp"

android:gravity="right"

android:text="UserName"

android:textColor="#ffffff" />

android:id="@+id/editTextUserName"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1" >

android:id="@+id/row2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:gravity="center" >

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="10dp"

android:gravity="right"

android:text="Password"

android:textColor="#ffffff" />

android:id="@+id/editTextPassword"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:inputType="textPassword" />

android:id="@+id/row3"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:gravity="center" >

android:layout_width="0dp"

android:layout_height="2dip"

android:layout_weight="1"

android:focusable="false" />

android:id="@+id/cmdDoLogin"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="right"

android:text="Login" >

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

printf中的指针变量_C语言中的printf()示例/变量

printf中的指针变量As we know that, printf() is used to print the text and value on the output device, here some of the examples that we wrote to use the printf() in a better way or for an advance programming. 众所周知, printf()用于在输出设备上打…

System Center Technical Preview DPM(2016)对Exchange2016的灾难恢复

其实备份很简单,就是做好备份计划即可,但往往客户最担心的是备份的东西在真的灾难恢复时是否可以恢复出来可用,这才是考验备份软件的最关键时刻,因此象备份Exchange这样的应用时对于管理员来说除了会玩备份软件外还需要熟悉Exchan…

as真机调试_如何使用真机调试android程序

展开全部第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置32313133353236313431303231363533e59b9ee7ad9431333365656531)Applications(应用程序)Development(开发)勾选USB debugging(USB调试)),然后通过usb连接线连接到开…

css如何制作横幅,基本的CSS横幅

我确定这一定非常简单,但我遇到了问题!我想要的效果是每页上横幅或标题的纯色块,其中包含一些文字。但是为了增加一些装饰,我已经为每一面做了一个小图形,这只是一个从横幅颜色渐变为白色的小方块。所以整体效果是一个…

教你在Ubuntu上体验Mac风格

导读老实说,我是个狂热的 Ubuntu 迷,我喜欢 Ubuntu 默认的 Unity 主题样式外观。此外,还有很多关于 Ubuntu 14.04 的漂亮图标主题样式 可用来美化默认的外观。但正如我上面提到的仍有很多用户喜欢 Mac OS X 的主题样式,我希望这篇…

在Python中升级灰度图像

Upscaling of an image refers to enlarging the size of an image. 图像放大是指放大图像的大小。 In this program, we will be using two functions of OpenCV-python (cv2) module.. lets see their syntax and descriptions first 在此程序中,我们将使用Open…

开机未发现nvidia控制面板_Windows10或者其他操作系统开机提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板”的解决办法...

昨天深夜,有一个朋友加QQ说他电脑出了问题,不知道咋的就变成了提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板” 里面数据还是挺重要的,问是否有办法操作,具体看图; 经过询问得知,客户是在安装一个软件,反复运行后不出现,以为中毒了,就重启了一下…

打印机服务器未响应,打印机不能打印,点击打印后没反应

①我的电脑,右键点管理,服务和应用程序里的服务,找到Print Spooler,启动类型自动,服务状态点启动,确定重启。②控制面板--》管理工具--》服务---》print spooler改为启动。③打印机没设置成为默认打印机&am…

HDU 5145 - NPY and girls

题意&#xff1a; cases T(1≤T≤10) (0<n,m≤30000) (0<ai≤30000)    n个数ai 表示n个女孩所在教室 m次询问 [L,R]&#xff08;1 < L < R < n&#xff09;   问访问所有女孩的顺序方案数(进教室顺序)为多少(一次进教室只能访问一个人) 分析&…

安卓投屏软件_有哪些好用又免费的手机投屏到电脑的软件?

推荐一款免费、好用的投屏软件&#xff0c;叫做【快投屏】&#xff0c;支持多端无线一键投屏、远程投屏&#xff0c;不限制使用时间&#xff0c;不压缩投屏画质。快投屏 - 手机投屏到电视,电脑的无线投屏软件​支持以下几种投屏&#xff1a;手机投电视手机投电脑手机投手机电脑…

dnf韩服服务器维护中,DNF2019韩服4.30维护:这些职业被加强

DNF韩服4.30维护DNF2019韩服4.30更新内容 DNF95版本4.30韩服更新内容 DNF95版本职业平衡。相信大家都很想知道吧&#xff0c;一起来看看吧。地下城一直被称为鬼剑士的游戏&#xff0c;无论是在何地图&#xff0c;如果看不到鬼剑士的话那就是太阳打西边出来了&#xff0c;9成勇士…

2019写给对象的话_恋爱中写给对象看的说说 2019最流行的情侣间情话

1.我发现你是个照骗&#xff0c;因为本人比照片好看多了。2.我昨晚梦见你了&#xff0c;不知是你想我了还是我想你了。3.你有地图吗&#xff0c;我在你的眼睛里迷路了。4.我已经好久没这样喜欢一个人了&#xff0c;就是想到你就会笑的那种。5.当自己最爱的人和最爱自己的人是同…

java 实现 堆排序算法_C程序实现堆排序算法

java 实现 堆排序算法Heap Sort is a comparison-based sorting algorithm that makes use of a different data structure called Binary Heaps. Let us understand some important terms, 堆排序是一种基于比较的排序算法&#xff0c;该算法利用称为二进制堆的不同数据结构。…

嵌入式linux面试题解析(四)——逻辑推理一

嵌入式linux面试题解析&#xff08;四&#xff09;——逻辑推理一1、谁是罪犯问题一位法官在审理一起盗窃案时&#xff0c;对涉及到的四名嫌疑犯A、B、C、D进行了审问。四人分别供述如下&#xff1a;A&#xff1a;“罪犯在B、C、D三人之中。”B&#xff1a;“我没有作案&#x…

linux rsa登录改密码登录_LINUX中RSA认证登录SSH(不需要输入密码登录)2种方法

方法一&#xff0c;有的时候经常需要登录ssh&#xff0c;每次都需要输入密码&#xff0c;会比较繁琐。所以设置了一下使用RSA公钥认证的方式登录Linux。首先需要在服务器端设置/etc/ssh/sshd_config# vim /etc/ssh/sshd_config修改如下两行为yes。其实大多数情况下不用修改&…

b+树时间复杂度_数据结构:线性表,栈,队列,数组,字符串,树和二叉树,哈希表...

作者&#xff1a;张人大代码效率优化复杂度 -- 一个关于输入数据量n的函数时间复杂度 -- 昂贵与代码的结构设计有着紧密关系一个顺序结构的代码&#xff0c;时间复杂度是O(1), 即任务与算例个数 n 无关空间复杂度 -- 廉价与数据结构设计有关数据结构 -- 考虑如何去组织计算机中…

figure服务器无法显示,求大神帮帮忙,看一下为什么第二个figure出不来,只能显示第一个...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Iimread(C:\Users\Administrator\Desktop\123.jpg);figure(1)subplot(3,2,1),imshow(I), title(原始图像);I1rgb2gray(I);subplot(3,2,2),imshow(I1),title(灰度图像);I2edge(I1,roberts,0.09,both);subplot(3,2,3),imshow(I2),tit…

python 示例_带有示例的Python File read()方法

python 示例文件read()方法 (File read() Method) read() method is an inbuilt method in Python, it is used to read the content of the file, by using this method we can read the specified number of bytes from the file or content of the whole file. read()方法是…

评价最高影片JAVAlibrary_视频 | 手游大神,动画导演,机圈新贵,极客怎么评价《愤怒的小鸟2》?...

谁能想到&#xff0c;迄今为止口碑最好的「游戏改编电影」竟然来自一个手机游戏IP&#xff1f;&#xff01;《愤怒的小鸟2》是有史以来评价最好的游戏改编电影。—— http://Screencrush.com《愤怒的小鸟2》凭什么能在打分平台上获得游戏改编电影最高分&#xff1f;—— http:/…

如何安装_如何安装吸顶灯?吸顶灯安装注意事项

摘要&#xff1a;灯是我们每个家庭都有的照明装置&#xff0c;它的造型和光能效果能直接影响到家居生活的氛围、美观度以及健康状况。吸顶灯的造型功能也随着科技的发展在不断发生多元化的改变。如今市面上的吸顶灯既有简单的装置又不比吊灯少了时尚奢华&#xff0c;让在层高较…