- 浏览: 523640 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
在这个demo中,将涉及到Activity(活动)的交互——从一个屏幕到另一个屏幕,通过Intent来实现的……
工程目录结构:
LoginDemoActivity程序清单
Logindemoactivity 代码
- package com.oristand;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- public class LoginDemoActivity extends Activity {
- // 点击go按钮,进入登录活动(LoginActivity)
- private Button btn_go;
- // 按钮添加监听事件
- private BtnListener btnListener = new BtnListener();
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 丛当前试图中找到按钮,初始化
- btn_go = (Button) findViewById(R.id.btn_go);
- // 绑定点击事件
- btn_go.setOnClickListener(btnListener);
- }
- // 监听事件
- private class BtnListener implements View.OnClickListener {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if (v.getId() == R.id.btn_go) {
- login();
- }
- }
- }
- // 通过Intent实现跳转
- public void login() {
- Intent intent_login = new Intent();
- intent_login.setClass(this, LoginActivity.class);
- startActivity(intent_login);
- }
- }
package com.oristand; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class LoginDemoActivity extends Activity { // 点击go按钮,进入登录活动(LoginActivity) private Button btn_go; // 按钮添加监听事件 private BtnListener btnListener = new BtnListener(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 丛当前试图中找到按钮,初始化 btn_go = (Button) findViewById(R.id.btn_go); // 绑定点击事件 btn_go.setOnClickListener(btnListener); } // 监听事件 private class BtnListener implements View.OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub if (v.getId() == R.id.btn_go) { login(); } } } // 通过Intent实现跳转 public void login() { Intent intent_login = new Intent(); intent_login.setClass(this, LoginActivity.class); startActivity(intent_login); } }
LoginActivity.java程序清单
Loginactivity.java代码
- package com.oristand;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- public class LoginActivity extends Activity {
- // 用户名输入框
- private EditText et_username;
- // 密码输入框
- private EditText et_passwd;
- // 登录按钮
- private Button btn_login;
- // 取消按钮
- Button btn_reset;
- // 按钮添加点击事件
- BtnListener btnListener = new BtnListener();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- // 设置当前视图
- setContentView(R.layout.login);
- // 从当前事件中找到输入框,初始化
- et_username = (EditText) findViewById(R.id.et_username);
- et_passwd = (EditText) findViewById(R.id.et_passwd);
- // 从当前事件中找到登录按钮,初始化
- btn_login = (Button) findViewById(R.id.btn_login);
- btn_login.setOnClickListener(btnListener);
- // ...
- btn_reset = (Button) findViewById(R.id.btn_reset);
- btn_reset.setOnClickListener(btnListener);
- }
- // 点击事件
- private class BtnListener implements View.OnClickListener {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if (v.getId() == R.id.btn_login) {
- // do login...
- } else if (v.getId() == R.id.btn_reset) {
- finish();
- }
- }
- }
- }
package com.oristand; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class LoginActivity extends Activity { // 用户名输入框 private EditText et_username; // 密码输入框 private EditText et_passwd; // 登录按钮 private Button btn_login; // 取消按钮 Button btn_reset; // 按钮添加点击事件 BtnListener btnListener = new BtnListener(); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 设置当前视图 setContentView(R.layout.login); // 从当前事件中找到输入框,初始化 et_username = (EditText) findViewById(R.id.et_username); et_passwd = (EditText) findViewById(R.id.et_passwd); // 从当前事件中找到登录按钮,初始化 btn_login = (Button) findViewById(R.id.btn_login); btn_login.setOnClickListener(btnListener); // ... btn_reset = (Button) findViewById(R.id.btn_reset); btn_reset.setOnClickListener(btnListener); } // 点击事件 private class BtnListener implements View.OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub if (v.getId() == R.id.btn_login) { // do login... } else if (v.getId() == R.id.btn_reset) { finish(); } } } }
R.java程序清单
R.java代码
- package com.oristand;
- public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int icon=0x7f020000 ;
- }
- public static final class id {
- public static final int btn_go=0x7f050004 ;
- public static final int btn_login=0x7f050002 ;
- public static final int btn_reset=0x7f050003 ;
- public static final int et_passwd=0x7f050001 ;
- public static final int et_username=0x7f050000 ;
- }
- public static final class layout {
- public static final int login=0x7f030000 ;
- public static final int main=0x7f030001 ;
- }
- public static final class string {
- public static final int app_login=0x7f040002 ;
- public static final int app_name=0x7f040000 ;
- public static final int txt_btn_go=0x7f040001 ;
- public static final int txt_btn_login=0x7f040005 ;
- public static final int txt_btn_reset=0x7f040006 ;
- public static final int txt_passwd=0x7f040004 ;
- public static final int txt_username=0x7f040003 ;
- }
- }
package com.oristand; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int btn_go=0x7f050004; public static final int btn_login=0x7f050002; public static final int btn_reset=0x7f050003; public static final int et_passwd=0x7f050001; public static final int et_username=0x7f050000; } public static final class layout { public static final int login=0x7f030000; public static final int main=0x7f030001; } public static final class string { public static final int app_login=0x7f040002; public static final int app_name=0x7f040000; public static final int txt_btn_go=0x7f040001; public static final int txt_btn_login=0x7f040005; public static final int txt_btn_reset=0x7f040006; public static final int txt_passwd=0x7f040004; public static final int txt_username=0x7f040003; } }
main.xml程序清单
Main.xml代码
- <?xml version= "1.0" encoding= "utf-8" ?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width= "fill_parent"
- android:layout_height="fill_parent" android:gravity= "center_vertical|center_horizontal" >
- <Button android:id="@+id/btn_go" android:layout_width= "wrap_content"
- android:layout_height="wrap_content" android:text= "@string/txt_btn_go" />
- </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical|center_horizontal"> <Button android:id="@+id/btn_go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txt_btn_go" /> </LinearLayout>
login.xml程序清单
Login.xml代码
- <?xml version= "1.0" encoding= "utf-8" ?>
- <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width= "fill_parent"
- android:layout_height="fill_parent" >
- <TableRow android:orientation="horizontal"
- android:layout_width="fill_parent" android:layout_height= "wrap_content" >
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:text= "@string/txt_username" />
- <EditText android:id="@+id/et_username" android:maxLength= "8"
- android:maxLines="1" android:layout_weight= "1.0"
- android:layout_width="fill_parent" android:layout_height= "wrap_content"
- android:text="" />
- </TableRow>
- <TableRow android:orientation="horizontal"
- android:layout_width="fill_parent" android:layout_height= "wrap_content" >
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:text= "@string/txt_passwd" />
- <EditText android:id="@+id/et_passwd" android:password= "true"
- android:maxLength="10" android:maxLines= "1" android:layout_weight= "1.0"
- android:layout_width="fill_parent" android:layout_height= "wrap_content"
- android:text="" />
- </TableRow>
- <LinearLayout android:orientation="horizontal"
- android:layout_width="fill_parent" android:layout_height= "wrap_content" >
- <Button android:id="@+id/btn_login" android:layout_width= "fill_parent"
- android:layout_height="wrap_content" android:layout_weight= "1.0"
- android:text="@string/txt_btn_login" />
- <Button android:id="@+id/btn_reset" android:layout_width= "fill_parent"
- android:layout_height="wrap_content" android:layout_weight= "1.0"
- android:text="@string/txt_btn_reset" />
- </LinearLayout>
- </TableLayout>
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableRow android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/txt_username" /> <EditText android:id="@+id/et_username" android:maxLength="8" android:maxLines="1" android:layout_weight="1.0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" /> </TableRow> <TableRow android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/txt_passwd" /> <EditText android:id="@+id/et_passwd" android:password="true" android:maxLength="10" android:maxLines="1" android:layout_weight="1.0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" /> </TableRow> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/btn_login" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" android:text="@string/txt_btn_login" /> <Button android:id="@+id/btn_reset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" android:text="@string/txt_btn_reset" /> </LinearLayout> </TableLayout>
string.xml程序清单
String.xml代码
- <?xml version= "1.0" encoding= "utf-8" ?>
- <resources>
- <string name="app_name" >LoginDemo</string>
- <string name="txt_btn_go" >Go...</string>
- <string name="app_login" >登录</string>
- <string name="txt_username" >用户名:</string>
- <string name="txt_passwd" >密 码:</string>
- <string name="txt_btn_login" >登 录</string>
- <string name="txt_btn_reset" >取 消</string>
- </resources>
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">LoginDemo</string> <string name="txt_btn_go">Go...</string> <string name="app_login">登录</string> <string name="txt_username">用户名:</string> <string name="txt_passwd">密 码:</string> <string name="txt_btn_login">登 录</string> <string name="txt_btn_reset">取 消</string> </resources>
AndroidManifest.xml程序清单
Androidmanifest.xml代码
- <?xml version= "1.0" encoding= "utf-8" ?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.oristand" android:versionCode= "1" android:versionName= "1.0.0" >
- <application android:icon="@drawable/icon" android:label= "@string/app_name" >
- <activity android:name=".LoginDemoActivity" android:label= "@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <!-- login activity -->
- <activity android:name=".LoginActivity" android:label= "@string/app_login" ></activity>
- </application>
- </manifest>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.oristand" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".LoginDemoActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- login activity --> <activity android:name=".LoginActivity" android:label="@string/app_login"></activity> </application> </manifest>
程序运行配置:
default就可以……
AndroidManifest.xml中的配置可以知道答案……就相当与函数的入口是main方法一样
...
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
运行效果:
发表评论
-
Android源码去除锁屏及应用程序开机自动运行不锁屏全屏显示
2012-12-01 04:11 2191针对RealV210提供的源码 android_gingerb ... -
三步搞定android应用图片缓存
2012-08-27 13:56 766目前很多商业应用都会涉及到从网络上读取图片数据的问题,为了节约 ... -
关于BitmapFactory.decodeStream(is)方法无法正常解码为Bitmap对象的解决方法
2012-08-27 01:22 0分类: Android开发技术 2011-08-08 19:0 ... -
Android 菜单(OptionMenu)大全 建立你自己的菜单
2012-08-20 00:13 911菜单是用户界面中最常见的元素之一,使用非常频繁,在Andro ... -
android 全屏问题
2012-08-08 13:40 831<supports-screens android:la ... -
android 开发中中,经常用到的代码(转载)
2012-08-08 13:32 1653android 开发中中,经常用到的代码(转载) 2012-0 ... -
控制Android系统 全屏并且 程序开机自动运行 并且实现程序运行中 开机不锁屏
2012-08-08 12:06 0首先实现程序开机自动运行 需要 捕获系统的广播android. ... -
玩转Android---UI篇---Toast(提示)
2011-11-18 02:56 957Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来 ... -
Android Socket网络通信
2011-11-04 16:53 13461.服务器程序: Java代码 p ... -
Android 开发环境搭建中--- “An SDK Target must be specified.” 问题解决
2010-08-31 02:22 1139问题描述: 按照网络上的文档,搭 ... -
Android学习笔记(5)——Android——HelloWorldDemo
2010-08-31 00:54 1250工程目录结构: HelloWorldActi ... -
Android学习笔记(4)——Android Application是如何运行的
2010-08-31 00:53 2278任何Android应用程序都是由以下4个部分中的必要组合而 ... -
Android学习笔记(3)——Android Demo演示
2010-08-31 00:51 1117第一步,启动Eclipse,File->New-&g ... -
Android学习笔记(2)——搭建Android开发平台
2010-08-31 00:50 1493Eclipse+Android SDK 一、下载Ecl ... -
Android学习笔记(1)——什么是Android
2010-08-31 00:49 782Android 是Google开发的基于Linux平台的开源手 ...
相关推荐
6. **权限管理** - **Android运行时权限**:对于Android 6.0及以上版本,需要请求WRITE_EXTERNAL_STORAGE和INTERNET权限,以进行文件读写和网络访问。 7. **测试与调试** - **单元测试**:对各个组件进行单独测试...
总的来说,LoginDemo项目是一个基础的Android登录界面示例,通过实践这些基本组件和概念,开发者可以学习到如何构建一个简单的Android应用,理解UI设计、数据绑定和事件处理的基本流程。对于初学者而言,这是一个很...
《SpringBoot整合Swagger2与Spring-Security实现权限验证详解》 在现代Web开发中,SpringBoot因其简洁高效的特点,已经成为构建后端服务的首选框架。同时,为了提供友好的API文档,Swagger2被广泛采用,它能帮助...
本文将围绕“android源码”这一主题,聚焦于一个登录示例项目——LoginDemo,来探讨其背后的实现机制和知识点。 首先,LoginDemo作为一个登录演示,其核心目标是提供用户身份验证的功能。在Android中,实现这一功能...
LoginDemo-master 不成功的,可以直接在这里下载速来速来
通过对LoginDemo的学习,开发者不仅可以掌握WPF的基本用法,还能了解到如何构建复杂的用户交互和自定义组件,对提升WPF开发技能非常有帮助。由于文件列表仅给出"LoginDemo",具体实现细节需要解压后查看源代码和资源...
在Android应用开发中,创建一个登录界面是必...对于初学者,这个实例提供了很好的学习材料,帮助理解Android UI设计、数据处理和网络通信等基础概念。而对于有经验的开发者,这也可以作为一个快速搭建登录功能的模板。
标题中的“在线生活咨询平台Android”指的是一个专为高校学生设计的Android应用程序,它提供了方便的生活咨询服务。...对于学习和理解一个完整的Android应用生命周期以及实际开发流程,这是一个非常有价值的案例。
在Android开发中,实现“android模拟发送手机验证码到通知栏”的功能是一项常见的需求,尤其对于学生作业或实际项目中的身份验证...对于初学者,这是一个很好的学习项目,可以帮助他们掌握Android应用开发的核心技能。
6. **Fragment的onSaveInstanceState和onViewStateRestored**:如果登录界面是在Fragment中,可以通过保存和恢复视图状态来处理键盘弹出导致的问题。 7. **利用AndroidManifest.xml配置**:在Activity标签中添加`...
【标题】"LoginDemo1.zip" 提供的是一款登录演示应用的源代码压缩包,它很可能是用于教学或自我学习目的,帮助开发者了解和实践用户登录功能的实现。登录功能是许多应用程序的基础部分,用于验证用户的身份并保护...
总之,基于S2SH的LoginDemo是一个实用的学习资源,它不仅展示了S2SH框架的基本用法,还为初学者提供了一个实际操作的平台,有助于提升Java EE开发技能。通过逐步理解和模仿这个示例,开发者能够更好地掌握企业级Web...
"ASpectJ_LoginDemo.zip" 是一个示例项目,用于演示如何在 Android 应用中应用 AspectJ 实现登录功能。 首先,我们需要理解面向切面编程的基本概念。AOP 允许我们将关注点(如日志、安全检查等)与业务逻辑分离,...
MVP是对MVC模式的一种变体,尤其适用于Android等平台。在MVP中,Presenter取代了Controller的角色,并且更直接地与View交互: 1. **Model**:同MVC,管理数据和业务逻辑。 2. **View**:提供接口给Presenter,展示...
通过查看和学习这样的示例,开发者可以更好地理解和掌握Android登录界面的创建方法。 总的来说,创建一个Android登录界面涉及到布局设计、用户输入处理、网络通信和用户体验优化等多个方面。理解这些概念并熟练运用...
在Android开发中,创建一个美观且具有动画效果的登录界面是一项重要的任务,因为登录界面是用户与应用交互的首要...通过学习和实践这个示例,开发者可以提升自己的Android应用开发能力,为用户提供更优质的产品体验。