网球[转]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