[转]Android的userlogin登录

正文转自:http://hteqc6o.blog.sohu.com/199334086.html

     
既非是新生季,又非是毕业季,现在形容这种回忆向一般有些突然,不过大凡新近才理清、总结了温馨的很一生罢了,而现行本身的大二也即将中场了。

  用户注册

     
遥想当初,在网上看看录取信息经常产生瞬间的遗憾,距离第一志愿差了2瓜分,所幸被录用进的呢是上海地面的211,本着“专业什么的且无所谓,工科就哼”的心怀,便开开心心地考虑大学应该怎样过。只不过我之高校于是同一年的年月以自己从设想着牵扯了出来。

1.第一,先打而想只要造译有之界面网球 1

      1、老师篇

据悉草图,仅仅以linearLayout的布局是不够的,还亟需同RelativeLayout嵌套使用

     
本认为,大学老师,至少一按大学之民办教师,应该是不过富有个人特点的,称为人格魅力似乎再次当。他们各自的学生无自然还是无与伦比美好之浓眉大眼,但起码都遭遇了师本人个人言行、性格等地方的熏陶。我自非常爱以前国内大学所提倡的“培养独立人格,自由思想”的传道,同时认为大学老师在马上点于及了杀重大之作用,故而理所当然地看大学老师就是这么那样。

编写String.Xml

     
入了效仿,上了几乎从课,一股压抑的怨怼积聚在胸口,很怀念仰天长叹——“啊!时代以进步!啊!”。现实告诉您,老师十分忙碌的,他们一旦大忙在开会,忙在形容论文,忙在各种展评,忙在温馨的生计,当然,如果您有作业上之题材,他要么愿意啊你解答之,因为当时某种程度上涉及外班级的及格率。另外,部分老师也是甘心同公谈谈讨论各种创新型竞赛、课题、实验哒——也许拿奖了为……至于想拉人生、聊聊梦想、聊聊三观、聊聊生活、聊聊恋爱啊的,我就算不得不“呵呵”了——

<?xml version=“1.0” encoding=“utf-8”?>

     
自目前为止接触了守25称为教职工(包含必修课与选修课),只发生5个愿意同自家嘚吧这些所谓“有的没的”的物,其中1位是高达新生心理健康教育,1位凡是达到大学生职业规划,1位凡是达到思考情操与道德修养,1位凡达毛泽东思想和华风味,1位是上高档数学——最靠近我本着大学老师设想的相反是那位教高等数学之、头发斑白的太爷——我是工科生啊!工科生啊喂!这么少爱真的没关系么?!

<resources>

*     * 算了,时代在发展,老师非常忙碌。

 

     
我偶尔会惦记,当高数老爷爷那一辈底教工离开了,那样的大学老师是休是不怕实在凤毛麟角了?毕竟人是设适于社会之,怎样的社会培训什么的食指,能让那种人格魅力影响之总人口唯恐会越来越少。但,也许会起外一样种植更好之改,也恐怕……

    <string name=“hello”>Hello World,
UserLoginActivity!</string>

      2、态度篇

    <string name=“app_name”>用户注册界面</string>

      首先使还强调:高中先生而说“大学就是轻松了”——绝对!是骗人的!

    <string name=“nameString”>用户名</string>

      如果一旦认真地了,那么您发众多若修,哪怕你切莫爱好。

    <string name=“ageString”>年龄</string>

     
本以为,大学的课业,及格就吓,总算可以如法炮制一些高考前眼巴巴学的技术,或者参加各种学生会工作,或者到各种社团,充分弥补自己高考以前那么莫名其妙的心灵缺失。

    <string name=“registerButtonText”>注册</string>

     
然后,我真这样做了——加入了院学生会,报名了极限社(玩滑轮、滑板)和网球社,还成跻身了一个500胜似公司的校园俱乐部,又竞选了次干部,总的来说,我之高校生活貌似很充实。

    <string name=“sexString”>性别</string>

     
至于学业,真的要考虑那般不断低空飞过,“及格就吓”。考前预习,刷夜做题,作业抄袭,学霸从来不是自我之求偶。

  <string name=“favoriteString”>喜好</string>

     
可是,生活或者如认真点啊,也许有一样上若见面以本之随机而懊悔,毕竟将来若得之也许就是现在为忽视的——

  <string name=“cityString”>城市</string>

     
大一那么一刻被辅导员强逼着形容了许多季年规划,但始终未明白自己生一致步于哪里。大二这会儿,突然想本科后去德国读硕,但是对象学校对成绩的求凡自手上休符合的,这意味大三之时候自己要又编排几派系学分高之科目来提高自我之绩点,这就是占据了绝大多数底时空;另外还得过语言关,作为同样叫作德语零基础者,要效仿满800学常,通过德托试验,满于满算也需要到充分四错右才成功(还是去除了各种不可抗力的状况下);当然,还惦记在将英语雅思7分考过,也许德语最终不合格,还有会申请英语教学的正儿八经……

  <string name=“passString”>密码</string>

     
要备的东西很多,仅仅是学校的社会行事经历从不够,于是我当下之时刻安排计划为安排得满满。疲惫不堪时,总想在:大一那么同样年,我只要花片活力好好学习就不要重修了,这样能够看下一样生段日子了;大一那么同样年,我要在满足个人私欲上掉花有时,先去用雅思这类似东西搞定,或者那会儿就起效仿德语,现在能自在多啊,如此云云。

  <string name=“pingpang”>兵乓球</string>

     
总之,就是后悔了,后悔死一那无异年了得最为随意、太任性了。庆幸之是,现在弥补还赶得及。

  <string name=“basketball”>篮球</string>

      只想在说:“再为休想受我之前也今天的擅自购买只了!”

  <string name=“football”>足球</string>

      3、人际篇

  <string name=“tennis”>网球</string>

     
我本身是一个呆的人口,或者说,是休擅长表达,往往嘴巴说的与中心想的会生偏差,这种偏向似乎好爱招他人之误解,所以我之准向是丢失说话。然后,在某一样龙,突然觉得温馨的人际圈实在有点之充分,于是,进高校第一桩事,就是参加公关部(或如外联部),以图能够增强自己当人际交往方面的力量。

</resources>

      要说结果,我只得“呵呵”。

 

     
先不说我是怎么样通过公关部的面试的吧,毕竟自己是一个可以少日外呈现美好演技的人口,入部后部长还还百般看好自。但是同样年半了,我的早期目的还是没有能够上。甚至,如今化了公关部的部长,我都掌握地掌握了:这个公关部,不是锻炼而的应酬能力,而是叫了而锻炼的渠道,除非您想做,不然更好的水渠为只不过是摆放。

 

     
一年半,我轧的爱侣实在是同双手就会反复得过来了,所幸都是让自己深感到幸福的口。实在承受不了“可以交很多人,但真心朋友几乎个就哼”的传教,我自认做不顶,这种想法是无是老天真?

编写parameters.xml:

     
所以我认为还公关部这无异年半,不所谓得失,因为自己早期的目的仍就是非熟,反而得到了许多别的,比如:怎样在紧急状况下冷静;怎样站于总策划人的角度想;怎样与信用社联络人交流;怎样分派任务;怎样也友好之学院/部门争取利益……也许这些,能够越来越吻合自身之性,因为自己从中得到了一如既往种植构思的趣。

当时是存属性信息,如字、TextView和EditText的宽窄。

     
至于人际交往什么的,我怀念,无需强求吧,不同性格的人数起发生两样之措施以及规则,顺应本心也从没什么坏的。至少对自而言,我的朋友等还分外精彩,而且,是朋友。

<?xml version=“1.0” encoding=“utf-8”?>

     最后总结下吧:

<resources>

     
回忆大一的同年,发现极其显的,无非是当真的高校在,与想象的、计划的差,甚至可能差之千里,这种差异无所谓好坏,因为认识及这些的经过,本就是同等种自己想的单身锻炼,遭受着失望、后悔、骄傲等等情绪波动的推压,也提交了或大或小的代价。然而,成长,无非就是是以付出代价后底破而后立。所以,无所谓好坏。

    <dimen name=“fontSize”>22px</dimen>

      

    <dimen name=“TextViewWidth”>90px</dimen>

    <dimen name=“EditTextWidth”>160px</dimen>

</resources>

 

再编写main.xml

 

<?xml version=“1.0” encoding=“utf-8”?>

<LinearLayout
xmlns:android=“http://schemas.android.com/apk/res/android”

    android:layout_width=“fill_parent”

    android:layout_height=“fill_parent”

    android:orientation=“vertical” >

<RelativeLayout

    android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    >

    <TextView

        android:layout_width=“@dimen/TextViewWidth”

        android:layout_height=“wrap_content”

        android:text=“@string/nameString”

        android:textSize=“@dimen/fontSize”

        android:id=“@+id/name”/>

    <EditText

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@string/nameString”

        android:layout_alignTop=“@id/name”

        android:id=“@+id/nameValue”/>/

   

</RelativeLayout>

<RelativeLayout

    android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    >

    <TextView

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:text=“@string/passString”

        android:textSize=“@dimen/fontSize”

        android:id=“@+id/pass”/>

    <EditText

        android:password=“true”

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/pass”

        android:layout_alignTop=“@id/pass”

        android:id=“@+id/passValue”

        />

    </RelativeLayout>

    <RelativeLayout

        android:layout_width=“fill_parent”

        android:layout_height=“wrap_content”

        >

        <TextView android:layout_width=“@dimen/TextViewWidth”

            android:layout_height=“wrap_content”

            android:text=“@string/ageString”

            android:textSize=“@dimen/fontSize”

            android:id=“@+id/age”

            />

           

    <EditText

     

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/age”

        android:layout_alignTop=“@id/age”

        android:id=“@+id/ageValue”

        />

       

    </RelativeLayout>

    <RelativeLayout

        android:layout_width=“fill_parent”

        android:layout_height=“wrap_content”

        >

        <TextView android:layout_width=“@dimen/TextViewWidth”

            android:layout_height=“wrap_content”

            android:text=“@string/sexString”

            android:textSize=“@dimen/fontSize”

            android:id=“@+id/sex”

            />

           

    <RadioGroup

      

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/sex”

        android:checkedButton=“@+id/radioMan”

        android:orientation=“horizontal”

        android:id=“@+id/sexMenu”>

      <RadioButton android:text=“男”
android:id=“@id/radioMan”/>

      <RadioButton android:text=“女”
android:id=“@+id/radioWomen”/>

      </RadioGroup>

      </RelativeLayout>

        <RelativeLayout

          android:layout_width=“fill_parent”

          android:layout_height=“wrap_content”

          >

          <TextView

              android:layout_width=“@dimen/TextViewWidth”

              android:layout_height=“wrap_content”

              android:text=“@string/favoriteString”

              android:textSize=“@dimen/fontSize”

              android:id=“@+id/favorite”/>

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/favorite”

              android:text=“@string/pingpang”

              android:id=“@+id/checkboxpingpang”

             />

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/checkboxpingpang”

              android:text=“@string/football”

              android:id=“@+id/checkboxfootball”/>

             

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/favorite”

              android:layout_below=“@id/checkboxfootball”

              android:text=“@string/basketball”

              android:id=“@+id/checkboxbasketball”/>

             

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/checkboxbasketball”

              android:layout_alignTop=“@id/checkboxbasketball”

             

              android:text=“@string/tennis”

              android:id=“@+id/checkboxtennis”/>

      </RelativeLayout>

      <RelativeLayout

          android:layout_width=“fill_parent”

          android:layout_height=“wrap_content”

          >

          <TextView

              android:layout_width=“@dimen/TextViewWidth”

              android:layout_height=“wrap_content”

              android:text=“@string/cityString”

              android:textSize=“@dimen/fontSize”

              android:id=“@+id/city”/>

          <Spinner

              android:layout_width=“fill_parent”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/city”

              android:id=“@+id/cityItems”>

     

         </Spinner>

      </RelativeLayout>

          <Button

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:text=“@string/registerButtonText”

              android:id=“@+id/regidterButton”/>

     

       

  

 

</LinearLayout>

·参数设置:

<dimen name=”fontSize”>22px</dimen>

存放px(pixels),in(inches),mm(millmeters),pt(points at 72 DPI)类型的数额

·应用:

      Android:textSize=”@dimen/fontSize”

·布局之专门属性

      在此处我们得为此到Relativelayout 的各自属性,例如:

      Android:layout_toRightOf=”@id/age”

           这是和控件age向右侧对伙同

·输入框的输入限制

      Android:numeric=”integer

 

 

编写java代码:

package com.sharpandroid.UserLogin;

 

import java.util.ArrayList;

 

import java.util.List;

 

 

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.Spinner;

 

public class LoginActivity extends Activity {

  

  private static final String[] cities =
{“北京”,”上海”,”石家庄”,”保定”,”米兰”,”慕尼黑”,”巴黎”};

  private EditText name,age,pass;

  private Button regButton;

  private RadioGroup sexRadioGroup;

  private CheckBox basketball,football,pingpang,tennis;

  private Spinner cityItems;

  private boolean flag = true;

  private List<CheckBox> favorities;

    public void onCreate(Bundle savedInstanceState) {

   

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        //定义一个ArrayList,用来存放有的checkBox

        favorities = new ArrayList<CheckBox>();

        //得到相应的针对目标

        name = (EditText) findViewById(R.id.nameValue);

        age = (EditText) findViewById(R.id.ageValue);

        pass = (EditText) findViewById(R.id.passValue);

        regButton = (Button) findViewById(R.id.regidterButton);

        cityItems = (Spinner) findViewById(R.id.cityItems);

        sexRadioGroup = (RadioGroup) findViewById(R.id.sexMenu);

       

        basketball = (CheckBox) findViewById(R.id.checkboxbasketball);

        //将basketball对象上加到favorities中

        favorities.add(basketball);

        football = (CheckBox) findViewById(R.id.checkboxfootball);

        favorities.add(football);

        pingpang = (CheckBox) findViewById(R.id.checkboxpingpang);

        favorities.add(pingpang);

        tennis = (CheckBox) findViewById(R.id.checkboxtennis);

        favorities.add(tennis);

        //创建一个数组型适配器,并以cities中的数额

        ArrayAdapter<String>adpter = new
ArrayAdapter<String>(

       
LoginActivity.this,android.R.layout.simple_spinner_item,cities);

       
adpter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        cityItems.setAdapter(adpter);

        //为regButton注册一个事件监听器

        regButton.setOnClickListener(new View.OnClickListener() {

       //当按钮被点击的上调用

       

       @Override

       public void onClick(View v) {

       flag = addUser();

       if(flag)

         //创建Alertdialog对话框的亮登录信息。

         new

        
AlertDialog.Builder(LoginActivity.this).setTitle(“请确认消息”)

         .setMessage(“您的消息如下:”+”\n” + “姓名:”

         +name.getText().toString()+”/n”+” 年龄:”

         +age.getText().toString()+”/n”+”性别:”

         +getSex()+”\n”+”爱好:”+getFavorite()

         +”\n”+”城市:”+getCity()+”\n”)

         .setCancelable(false).setPositiveButton(“确定”,

         new DialogInterface.OnClickListener() {

           

            public void onClick(

                DialogInterface dialog, int id) {

              // TODO Auto-generated method stub

              ProgressDialog.show(

              LoginActivity.this,”用户信息注册中”,”请等……”)

              .setCancelable(true);

             

            }

         }).setNegativeButton(“修改”,

              new DialogInterface.OnClickListener() {

        

                public void onClick(

                     DialogInterface dialog, int id) {

                   dialog.cancel();//删除对话框

                  

                }

              }).show();

       }

           

        

      

     });

    }

    //获取Spinner中的值

    private String getCity(){

    return cities[cityItems.getSelectedItemPosition()];

   

    }

    //获取checkBox中的值

    private String getFavorite(){

    String favString = “”;

    for(CheckBox cd : favorities){

        if (cd.isChecked()){

          favString +=cd.getText().toString();

          favString +=”,”;

           

        }

    }

    if(favString != “”){

favString = favString.substring(0,favString.length() -1);

       

    }else{

        favString=”您还从来不选!”;

       

    }return favString;

    }

    private String getSex(){

    RadioButton mRadio = (RadioButton)findViewById

          (sexRadioGroup.getCheckedRadioButtonId());

    return mRadio.getText().toString();

    }

    public boolean addUser(){

    if(name.getText().toString().length()==0){

        name.setError(“用户名不嫩为空”);

        return false;

    }

    if (age.getText().toString().length()==0){

        age.setError(“年龄不能够为空”);

        return false;

    }

    if(pass.getText().toString().length()==0){

        pass.setError(“密码不可知吧空”);

        return false;

    }

    return true;

    }

}

当您莫输入用户称就是点击注册会起提示:如下:

网球 2

点击注册会并发:

 

网球 3