一:了解android

Android一词的本义指机器人,同时也是Google2007115宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

Android是基于Linux开放性内核的操作系统,早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。(详细介绍请参照百度百科:http://baike.baidu.com/view/1241829.htm#1

二:android开发详解

1Android环境搭建:安装SDKeclipseADT(略)

2、编写第一个android程序

>>创建一个android项目







每一项具体的意思:

工程名

工程保存的目录

包名

包的命名空间(需要遵循java编程语言的命名规则),你的所有代码都会在这个命名空间下。这也会生成包的名称从而活动自动生成。你使用的这个包的名字必须和其他安装在你机器上的包名字不冲突,所以,使用一个标准规则的包名字是非常重要的。如上例,我们使用包的名字为“cn.netjava.helloworld”, 但你需要使用一个不同的类型。

活动

这是插件为你自动生成类的名字。它也会是Android活动类的一个子类。一个活动仅仅是一个包含一些功能并能执行的类。如果它选择,可以创建用户界面,但这不是必须的。

程序名

这是最后生成应用程序的名字。

体系结构介绍:

体系结构图片



R.java是文件中所有资源的索引界定值定义。你在代码中使用这个类,就像在你的项目里使用一个简洁的方法表示你的资源。

assetsres中都可以存放文件,但是res中的文件会在R.java中生成idR中的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平台里的“HelloWorld”,当然,我们可以看下运行情况。

创建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>




更多相关文章

  1. .Android的Window类默认分类
  2. Android(安卓)1.5和Android(安卓)2.1在相对布局(RelativeLayout)上
  3. Android(安卓)ListView专题之十二 分页不同的解决方案
  4. 【Android(安卓)初学者】开发工具介绍:studio
  5. Android漂亮的Help提示框
  6. android 显示gif图片
  7. Android中Gallery来显示图片
  8. android webclient使用
  9. Android对话框显示后自动消失

随机推荐

  1. Android(安卓)Intent原理分析
  2. Android(安卓)对返回按键点击次数的监听
  3. 蓝牙socket读取数据需读多次才读全
  4. Android更改包名
  5. Android(安卓)Gradle Plugin指南(五)——Bu
  6. 支持HTML5 SqlLite的AndroidApp
  7. 使用Fragment让程序界面一分为多
  8. Android(安卓)Drawable(Android开发艺术
  9. 4.0.x Launcher启动过程
  10. Android向桌面添加快捷方式,使其指向特定