前言:

这个系列的教程是为我徒弟准备的,也适合还不懂java但是想学android开发的小白们~

本系列是在Android Studio的环境下运行,默认大家的开发环境都是配置好了的

没有配置好的同学请前去百度下载Android Studio

之后,参照我的下面这个教程将Android Studio配置好

http://www.cnblogs.com/kexing/p/7455786.html

主要目标:

第一篇就简单从界面开始吧,今天我们的目标就是做一个仿QQ登录界面的登录界面,输入相应的账号与密码,点击登录按钮,提示登录成功,若输入不对的账号与密码,则提示登录失败

正文:

新建一个项目

file->New project

接下来就会出现新建项目的相关设置

下一步

下一步

下一步

点击finish就成功创建一个APP了

之后在左侧的目录依次展开,找到activity_mian的这个文件,打开

可能你的界面没有出现如我图中右侧的预览图,请查看右侧,有个priview,点击它就能显示预览图了

这个预览图也就是我们打开APP显示的界面预览图

我们要仿QQ界面登录的界面,也就是要修改这个界面所要显示的东西,这里需要Android的View基础部分,我在这里不多说,建议大家先去了解一番再往下看

我们切换到Design的模式,在这个模式中,把所需要的控件拖到相应位置,之后再设置相关属性大小即可

虽然在Design模式的右边,有设置属性的相关选项,不过我还是喜欢直接回到之前的界面,也就是Text模式中进行代码修改

贴上代码

activity_main

<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.wan.login.MainActivity"> <TextView
android:id="@+id/textView" android:layout_width="wrap_content"
android:layout_height="30dp"
android:gravity="center"
android:text="用户名"
android:textSize="15dp" android:layout_marginLeft="62dp"
android:layout_marginStart="62dp"
android:layout_marginTop="114dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/> <TextView
android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_height="30dp"
android:gravity="center"
android:text="密码" android:layout_alignEnd="@+id/textView"
android:layout_alignRight="@+id/textView"
android:layout_below="@+id/textView"
android:layout_marginTop="40dp"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"/> <EditText
android:id="@+id/editText3"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:ems="10"
android:gravity="center"
android:textSize="15dp"
android:inputType="textPersonName" android:layout_alignTop="@+id/textView"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"/> <EditText
android:id="@+id/editText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText3"
android:layout_alignStart="@+id/editText3" android:ems="10"
android:inputType="textPassword"
android:layout_alignBottom="@+id/textView1"/> <Button
android:id="@+id/button" android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="登录"
android:textColor="#FCFCFC"
android:background="#1C86EE" android:layout_marginTop="28dp"
android:layout_below="@+id/textView1"
android:layout_alignLeft="@+id/textView1"
android:layout_alignStart="@+id/textView1"
android:layout_alignRight="@+id/editText5"
android:layout_alignEnd="@+id/editText5"/>
</RelativeLayout>

不要全部都复制哦,肯定会错误的

还有MainActivity

package com.wan.login;

import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends AppCompatActivity implements View.OnClickListener { /**
* 登录
*/
private Button mButton;
private EditText mname,mpassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView(); } private void initView() {
mname = (EditText) findViewById(R.id.editText3);
mpassword = (EditText) findViewById(R.id.editText5);
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(this);
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
String name,passwoed;
String user = "User";
String userpassword = "123456"; name = mname.getText().toString();
passwoed = mpassword.getText().toString(); final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
if(name.equals(user)&&passwoed.equals(userpassword)){
builder.setMessage("登录成功");
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
}else{
builder.setMessage("登录失败");
builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
}
builder.show();
break;
default:
break;
}
}
}

之后使用模拟器就是可以看到结果了

如果想要安装到手机的话,请看下面

成功生成apk之后,在右下角会有个提示框,点击show,就是进入到资源管理器

教我徒弟Android开发入门(二)

教我徒弟Android开发入门(一)的更多相关文章

  1. 教我徒弟Android开发入门(二)

    前言: 上一期实现了简单的QQ登录效果,这一期继续对上一期进行扩展 本期的知识点: Toast弹窗,三种方法实现按钮的点击事件监听 正文:   Toast弹窗其实很简单,在Android Studio ...

  2. 教我徒弟Android开发入门(四)

    本期知识点: 两大常用布局的简单介绍 在我们的APP使用第三方库 Android Studio常用快捷键 一.两大常用布局 1.LinearLayout线性布局 线性布局,可以垂直显示或者水平显示,设 ...

  3. 教我徒弟Android开发入门(三)

    前言: 老实说,我有点不知道该讲什么了,希望看过的人能给我提提意见,感激不尽. 本期知识点: 长按事件,log的简单使用,双击退出程序功能的实现 正文: 上一期我们了解到点击事件其实就是让控件绑定一个 ...

  4. Android开发入门

    教我徒弟Android开发入门(一) 教我徒弟Android开发入门(二) 教我徒弟Android开发入门(三) 出处:http://www.cnblogs.com/kexing/tag/Androi ...

  5. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  6. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  7. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  8. Android开发入门经典【申明:来源于网络】

    Android开发入门经典[申明:来源于网络] 地址:http://wenku.baidu.com/view/6e7634050740be1e650e9a7b.html?re=view

  9. Android开发入门要点记录:四大组件

    cocos2dx跨平台开发中需要了解android开发,昨天快速的浏览了一本Android开发入门教程,因为之前也似懂非懂的写过Activity,Intent,XML文件,还有里面许多控件甚至编程思想 ...

随机推荐

  1. Junit基本使用

    Junit基本用法 1.创建Junit Test Case 2.基本使用(以oracle数据库操作为例) package com.csit.adminsystem1.tests; import sta ...

  2. [oracle 使用(2)] Oracle的简单使用

    1:oracle的服务 oracleservice + sid # 数据库服务 oracleoradb10g_home1listener # 数据库的监听服务. 2:启动本机数据库: 启动oracle ...

  3. 脱壳第三讲,UPX压缩壳,以及补充壳知识

    脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 壳可以简单理解为就是在自己的PE文件中包含了代码.而有不影响我 ...

  4. 微信小程序左滑删除功能

    效果图如下: wxml代码: <view class="container"> <view class="touch-item {{item.isTou ...

  5. runtime--小白看过来

    目录 RunTime 概述 RunTime消息机制 RunTime交换方法 RunTime消息转发 RunTime关联对象 RunTime实现字典与模型互转 1.RunTime 概述 我们在面试的时候 ...

  6. HDU6127Hard challenge

    Hard challenge Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) ...

  7. Coins(多重背包+二进制优化)

    Problem Description Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. On ...

  8. Game of Connections

    Game of Connections Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  9. elasticsearch地理空间操作简单操作

    创建索引库 PUT http://localhost:9200/geo { "mappings": { "poi": { "properties&qu ...

  10. 项目实战2—LVS负载均衡

    负载均衡集群企业级应用实战-LVS 实现基于LVS负载均衡集群的电商网站架构 随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢 ...