需要一个后台,写在了另一篇:
搭建my12306后台
启动页
页面包括背景图,一个TextView
布局文件 activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.zx.my12306.MainActivity"
android:background="@drawable/splash">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="74dp"
android:text="@string/main_info"
android:textColor="@color/write" />
</RelativeLayout>
//设置背景,res/drawable/splash.jpg
android:background="@drawable/splash"
在res/values/strings.xml设置了字符串
<string name="main_info">正在登陆,请稍后...</string>
MainActivity.java
public class MainActivity extends Activity {
//异步
Handler handler=new Handler(){
public void handleMessage(Message msg) {
if(msg.what==1){
Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_LONG).show();
}else if(msg.what==2){
Toast.makeText(MainActivity.this, "服务器错误", Toast.LENGTH_LONG).show();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去掉标题栏,在setContentView之前
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//全屏
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
//获取登录信息
SharedPreferences sp=getSharedPreferences("user", Context.MODE_PRIVATE);
final String loginName=sp.getString("loginname","");
final String password=sp.getString("password","");
//没有自动登录信息
if(loginName.equals("")||password.equals("")){
//休眠3秒
TimerTask task=new TimerTask(){
@Override
public void run() {
// 打开登录界面
Intent intent=new Intent(MainActivity.this,LoginActivity.class);
startActivity(intent);
//后退之后不会回到这个activity
finish();
}
};
new Timer().schedule(task, 3000);
}else{
//访问http://localhost/login
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
HttpClient httpClient=new DefaultHttpClient();
HttpPost post=new HttpPost("http://10.0.2.2/login");
List<NameValuePair> params=new ArrayList();
params.add(new BasicNameValuePair("loginname", loginName));
params.add(new BasicNameValuePair("password", password));
UrlEncodedFormEntity entity;
try {
entity = new UrlEncodedFormEntity(params,"utf-8");
post.setEntity(entity);
HttpResponse httpResponse=httpClient.execute(post);
if(httpResponse.getStatusLine().getStatusCode()==200){
HttpEntity httpEntity=httpResponse.getEntity();
String response=EntityUtils.toString(httpEntity