Android(安卓)activity intent 入门
一:了解android
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android是基于Linux开放性内核的操作系统,早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。(详细介绍请参照百度百科:http://baike.baidu.com/view/1241829.htm#1)
二:android开发详解
1、Android环境搭建:安装SDK、eclipse和ADT(略)
2、编写第一个android程序
>>创建一个android项目
每一项具体的意思:
工程名 | 工程保存的目录 |
包名 | 包的命名空间(需要遵循java编程语言的命名规则),你的所有代码都会在这个命名空间下。这也会生成包的名称从而活动自动生成。你使用的这个包的名字必须和其他安装在你机器上的包名字不冲突,所以,使用一个标准规则的包名字是非常重要的。如上例,我们使用包的名字为“cn.netjava.helloworld”, 但你需要使用一个不同的类型。 |
活动名 | 这是插件为你自动生成类的名字。它也会是Android活动类的一个子类。一个活动仅仅是一个包含一些功能并能执行的类。如果它选择,可以创建用户界面,但这不是必须的。 |
程序名 | 这是最后生成应用程序的名字。 |
体系结构介绍:
体系结构图片
R.java是文件中所有资源的索引界定值定义。你在代码中使用这个类,就像在你的项目里使用一个简洁的方法表示你的资源。
assets和res中都可以存放文件,但是res中的文件会在R.java中生成id,R中的id引用res中的文件,Assets中的文件不会在R中自动生成id。
图片:
手机图标图片的3种分辨率,分别是高、低、中。因为每个手机的分辨率不一样,所以为了适应不同手机,所以存放3张图片。
HelloActivity类:
import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class HelloWorldActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // TextView tv = new TextView(this); tv.setText("第一个android程序!"); this.setContentView(tv); }}
TextView构造器就是Android上下文的实例,这个上下文仅仅是指向系统的一个句柄,它提供像资源处理之类的服务。包含一些进入资料库以及参数选择的入口。这个活动也是继承上下文。 HelloWorldActivity类是活动的一个子类,它也是一个上下文,我们能通过 this 操作TextView。
我们创建一个TextView,然后告诉它显示的内容。最后一步就是让TextView在屏幕上显示出来.
活动里setContentView()的方法表明哪个视图需要在当前UI上被操作。如果一个活动不能调用这个方法,那么当前就没有界面系统显示为一个空白屏幕。我们仅仅想显示一些文本,所以我们将刚才创建的TextView连接上
这就是Android平台里的“Hello,World”,当然,我们可以看下运行情况。
创建TextView后,加入需要显示的内容:
tv.setText("Hello, Android");
这里很正常。
我们创建一个TextView,然后告诉它显示的内容。最后一步就是让TextView在屏幕上显示出来,像这样:
setContentView(tv);
活动里setContentView()的方法表明哪个视图需要在当前UI上被操作。如果一个活动不能调用这个方法,那么当前就没有界面系统显示为一个空白屏幕。
运行结果:
3、第二个android项目(登录界面):
目的:intent的运用,intent是负责activity之间的跳转。
FirstAndroidActivity :
import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class FirstAndroidActivity extends Activity {private Context context; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { context = FirstAndroidActivity.this; super.onCreate(savedInstanceState); setContentView(R.layout.main); final EditText usernameText = (EditText) this.findViewById(R.id.usernameEdit); final EditText passwordText = (EditText) this.findViewById(R.id.usernameEdit); Button loginbtn = (Button) this.findViewById(R.id.loginbtn); //给登录按钮加上监听器 loginbtn.setOnClickListener(new OnClickListener(){ public void onClick(View v) {String name = usernameText.getText().toString();String pass = passwordText.getText().toString();Intent intent = new Intent();intent.setClass(context,LoginSuccessActivity.class );//放入用户名intent.putExtra("name", name);//放入密码intent.putExtra("password", pass);//转发context.startActivity(intent);} }); }}
LoginSuccessActivity:
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class LoginSuccessActivity extends Activity{public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.success); Intent intent = this.getIntent(); String name = intent.getStringExtra("name"); TextView successText = (TextView) this.findViewById(R.id.success); successText.setText("Welcome " + name); }}
R.java代码(代码自动生成,无需修改):
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 loginbtn=0x7f050002; public static final int passwordEdit=0x7f050001; public static final int success=0x7f050003; public static final int usernameEdit=0x7f050000; } public static final class layout { public static final int main=0x7f030000; public static final int success=0x7f030001; } public static final class string { public static final int app_name=0x7f040005; public static final int hello=0x7f040000; public static final int loginbtn=0x7f040003; public static final int loginsuccess=0x7f040004; public static final int password=0x7f040002; public static final int username=0x7f040001; }}
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" > <!-- 打印 --><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /><!-- 用户名 --><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/username" android:layout_marginTop="5dp" /> <!-- 输入框 --><EditText android:id="@+id/usernameEdit" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- 密码 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/password" /> <!-- 密码输入框 --><EditText android:id="@+id/passwordEdit" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- 登录按钮 --> <Button android:id="@+id/loginbtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/loginbtn" /> </LinearLayout>
success.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" ><TextView android:id="@+id/success" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
string.xml:
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, FirstAndroidActivity!</string> <string name="username">用户名:</string> <string name="password">密码:</string> <string name="loginbtn">Login</string> <string name="loginsuccess">login success!</string> <string name="app_name">FirstAndroid</string> </resources>
更多相关文章
- .Android的Window类默认分类
- Android(安卓)1.5和Android(安卓)2.1在相对布局(RelativeLayout)上
- Android(安卓)ListView专题之十二 分页不同的解决方案
- 【Android(安卓)初学者】开发工具介绍:studio
- Android漂亮的Help提示框
- android 显示gif图片
- Android中Gallery来显示图片
- android webclient使用
- Android对话框显示后自动消失