文档章节

android小项目

 易水寒521
发布于 2015/05/08 15:17
字数 695
阅读 12
收藏 0

LoginActivity:

package cn.thewee.gourmetmeal.staff;

import java.util.HashMap;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import cn.thewee.gourmetmeal.staff.logic.ImgDownloadLogic;
import cn.thewee.gourmetmeal.staff.logic.LoginLogic;
import cn.thewee.gourmetmeal.staff.util.Tools;

public class LoginActivity extends BaseActivity {

 private static final String TAG = "LoginActivity";
 EditText edt_username;
 EditText edt_password;
 Button btn_login;
 
 //登陆结果处理,用来接收登陆线程消息,进行UI操作
 Handler login_handler = new Handler(){
  @Override
  public void handleMessage(Message msg) {
   //关闭进度条Dialog
   if(p_dialog.isShowing()){
    p_dialog.dismiss();
   }
   //如果登陆成功则进入MainActivity,否则toast提示错误
   switch(msg.what){
   case WHAT_SUBMIT_COMPLETE:
    if(msg.getData().getInt("code") == 200){
     Intent i_loginSuccess = null;
     if(edt_password.getText().toString().equals("888888")){
      i_loginSuccess = new Intent(LoginActivity.this, AlterPasswordActivity.class);
     }else{
      i_loginSuccess = new Intent(LoginActivity.this, MainActivity.class);
     }
     i_loginSuccess.putExtra("username", edt_username.getText().toString());
     startActivity(i_loginSuccess);
     LoginActivity.this.finish();
    }else{
     Toast.makeText(LoginActivity.this, msg.getData().getString("msg"), Toast.LENGTH_SHORT).show();
    }
    break;
   case WHAT_SUBMIT_FAILED:
    Toast.makeText(LoginActivity.this, getString(R.string.net_timeout), Toast.LENGTH_SHORT).show();
    break;
   }
   
  }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //配置Listener
  setListener();
 }

 /**
  * 控件变量初始化
  */
 @Override
 protected void initViews() {
  this.setContentView(R.layout.login);
  
  edt_username = (EditText) this.findViewById(R.id.edt_username);
  edt_password = (EditText) this.findViewById(R.id.edt_password);
  btn_login = (Button) this.findViewById(R.id.btn_login);
  //登陆进度条
  p_dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  p_dialog.setMessage(getString(R.string.is_logining));
 }
 
 /**
  * 配置Listener
  */
 private void setListener() {
  //登陆按钮监听器
  btn_login.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
    //检测文本框是否为空
    if(edt_username.getText().length() == 0 || edt_password.getText().length() == 0){
     Toast.makeText(LoginActivity.this,
       getString(R.string.text_is_null), Toast.LENGTH_SHORT).show();
     return;
    }
    //检测网络是否可用,若不可用Toast提示
    if(!Tools.netIsAvailable(getApplicationContext())){
     Toast.makeText(LoginActivity.this,
         getString(R.string.net_disable), Toast.LENGTH_SHORT).show();
     return;
    }
    
    //显示进度条
    p_dialog.show();
    //开启登陆线程
    LoginThread loginThread = new LoginThread();
    loginThread.setDaemon(true);
    loginThread.start();
   }
  });
 }

 
 //登陆线程
 class LoginThread extends Thread{
  @Override
  public void run() {
   Message msg = login_handler.obtainMessage();
   Bundle data = new Bundle();
   //获取登陆结果
   LoginLogic loginLogic = new LoginLogic();
   HashMap<String, Object> result =  loginLogic.login(edt_username.getText().toString(),
               edt_password.getText().toString());
//   HashMap<String, Object> result = new HashMap<String, Object>();
//   result.put("rt", "200");
//   result.put("rtmsg", "登陆成功");
   if(result!=null){
    msg.what = WHAT_SUBMIT_COMPLETE;
    data.putInt("code", Integer.valueOf((String)result.get("rt")));
    data.putString("msg", (String)result.get("rtmsg"));
    msg.setData(data);
    //发送消息
    login_handler.sendMessage(msg);
   }else{
    login_handler.sendEmptyMessage(WHAT_SUBMIT_FAILED);
   }
  }
 }
 
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
     new AlertDialog.Builder(LoginActivity.this)
     .setIcon(R.drawable.ic_launcher)
     .setTitle("提示")
     .setMessage("确认退出?")
        .setPositiveButton("确定",
                       new DialogInterface.OnClickListener(){
                               public void onClick(DialogInterface dialoginterface, int i){
                                System.exit(1);
                                }
                        })
        .setNeutralButton("返回",
                       new DialogInterface.OnClickListener(){
                               public void onClick(DialogInterface dialoginterface, int i){

                                }
                        })                        
        .show();
  return super.onKeyDown(keyCode, event);
 }

 @Override
 protected void getExtras() {
  // TODO Auto-generated method stub
  
 }

}

 

 

login.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:background="@drawable/menu_background" >


    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50dp"
        android:layout_marginLeft="70dp"
        android:layout_marginRight="70dp"
        android:layout_marginTop="50dp"
        android:paddingTop="30dp"
        android:background="@drawable/login_bg" >
  
        <TextView
            android:id="@+id/loginnametextview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginTop="25dp"
            android:layout_marginLeft="65dp"
            android:layout_toLeftOf="@+id/edtxt_login_pwd"
            android:text="@string/username"
            android:textColor="#000000"
            android:textSize="20sp" >
        </TextView>
        <EditText
            android:id="@+id/edt_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="15dp"
            android:layout_marginLeft="10dp"
            android:layout_alignTop="@+id/loginnametextview"
            android:layout_toRightOf="@+id/loginnametextview"
            android:background="@drawable/input_bg"
            android:hint="@string/username_hint"
            android:singleLine="true"
            android:text="login01" >
        </EditText>
       
        <TextView
            android:id="@+id/loginpasswordtextview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/edt_username"
            android:layout_marginLeft="65dp"
            android:layout_marginTop="15dp"
            android:text="@string/password"
            android:textColor="#000000"
            android:textSize="20sp" >
        </TextView>
         <EditText
            android:id="@+id/edt_password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="15dp"
            android:layout_marginLeft="10dp"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/loginpasswordtextview"
            android:layout_toRightOf="@+id/loginpasswordtextview"
            android:background="@drawable/input_bg"
            android:inputType="textPassword"
            android:hint="@string/password_hint"
            android:text="999999" >
        </EditText>
       
         <Button
            android:id="@+id/btn_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edt_password"
            android:layout_marginTop="15dp"
            android:layout_alignRight="@+id/edt_password"
            android:background="@drawable/btn_login" >
        </Button>
       

    </RelativeLayout>

</RelativeLayout>

 

© 著作权归作者所有

上一篇: android小项目demo2
下一篇: json
粉丝 0
博文 130
码字总数 120077
作品 0
虹口
私信 提问
[南京]求接私活的有经验的Android开发工程师,有个Android开发项目需要合作

有没有南京的Android开发的童鞋,有个Android小项目需要开发 希望有经验的朋友尽快给我站内联系

James Gosling
2015/12/29
125
2
现在离职的人很多啊,有点心动,也想换个工作。

我现在的工作是做GoWeb开发,Go语言工作一年了,做过的项目也有4、5个了。现在对手机开发特别感兴趣,想做Android或IOS开发,平时都是在家自学Android,也有自己做的小项目。最近换工作的人好...

____追梦人
2015/03/17
1K
6
请教一个viewPager的问题

目前在做一个小项目要用到viewpager+fragment,我用的是android 6.0 sdk,然而我在fragmentActivity中用findViewById找控件的时候却返回null,activity如下 layout文件如下 我不明白为什么v...

Rogin
2016/05/02
239
4
如何Android自定义ListView按下颜色

最近手上有个小项目,项目中用到了ListView,但凡用过ListView的童鞋都知道,在像Android2.3这样使用广泛的安卓版本上,当它被点按的时候会产生黄色的高亮效果,相当恶心,相当难看,而且在不...

dxs123
2014/02/08
0
0
大哥们,我遇到一个Android上的问题,帮我看一下吧

最近有一个小项目 要安卓和ios都做,上头位图便宜用phonegap做,就这个安卓这个,所有的页面代码在一个activity里面,逻辑相当复杂,采用js和java代码交互的方式处理事件,有涉及到相机的代码存在,...

misnearzhang
2015/08/17
11.4K
3

没有更多内容

加载失败,请刷新页面

加载更多

(一)java版电子商务spring cloud分布式微服务b2b2c社交电商-服务的注册与发现(Eureka)

一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环...

itcode-code
30分钟前
1
0
tomcat 监控工具psi-probe

tomcat 监控工具psi-probe

wangxujun59
31分钟前
1
0
JAVA.NET.SOCKETEXCEPTION: TOO MANY OPEN FILES

最近随着网站访问量的提高把web服务器移到linux下了,在移服务器的第二天,tomcat频繁的报 java.net.SocketException: Too many open files错误,错误日志达到了100多兆,郁闷了,windows上运...

BryceLoski
33分钟前
1
0
springboot+jpa 实现分页

分页实体 import java.util.ArrayList;import java.util.List;/** * 分页工具 */public class PageUtil { /** * 每页大小 */ private int pageSize...

冥焱
34分钟前
2
0
第四讲:搭建后台界面

前面完成了登录界面及验证码,下面讲登录完后的事情。 登录成功后,页面进行跳转,跳转到后台管理界面。 1、后台管理界面的布局如下: 如下: 2、新建Admin控制器,并且在控制器里面新建几个...

一匹狼工作室
35分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部