android初级一

 1 package zyf.Study.AndroidSturdyByMyself;
 2 import android.app.Activity;
 3 import android.os.Bundle;
 4 import android.view.View;
 5 import android.view.View.OnClickListener;
 6 import android.widget.Button;
 7 import android.widget.EditText;
 8 import android.widget.TextView;
 9 public class AndroidSturdyByMyself extends Activity {
10 private EditText getNameEditText;
11 private Button button_Login;
12 private TextView show_Login_TextView;
13 /** Called when the activity is first created. */
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.main);
18 getNameEditText=(EditText)findViewById(R.id.widget29_getName_EditText);
19 button_Login=(Button)findViewById(R.id.widget30_Login_Button);
20 show_Login_TextView=(TextView)findViewById(R.id.widget31_showLogin_TextView);
21 button_Login.setOnClickListener(new OnClickListener(){
22 @Override
23 public void onClick(View v) {
24 // TODO Auto-generated method stub
25 show_Login_TextView.setText(getNameEditText.getText()+"欢迎您进入");
26 }
27 });
28 }
29 }
 1 <LinearLayout></LinearLayout> 整体布局表示线性布局
 2 xmlns:android="http://schemas.android.com/apk/res/android" 名字空间
 3 android:orientation="vertical" 控件布局垂直往下布局
 4 android:layout_width="fill_parent"
 5 android:layout_height="fill_parent" 上层控件填充满
 6 <TextView
 7 android:layout_width="fill_parent" 横向填充满
 8 android:layout_height="wrap_content" 纵向按实际高度填充
 9 android:text="@string/hello" 要引用到的hello字符串
10 /> 图形空间派生于View
11 <Button
12 android:id="@+id/widget40_button_OK" button控件ID
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content" 按实际宽度高度显示填充
15 android:text="OK"
16 ></Button>

上面修改了显示,及相应的java处理,可以在屏幕上定义一些简单的控件。

使用Intent启动另一个Activity

1 Intent showNextPage_Intent=new Intent();
2 showNextPage_Intent.setClass(UsingBundel.this,NextPageActivity.class);
3 startActivity(showNextPage_Intent);

在多个 Activity之间切换时候,注意每个 Activity都应在 AndroidManifest.xml 中有所声
明定义(如下)

 1 <application android:label="@string/app_name"
 2 android:icon="@drawable/chinazphone">
 3 <activity android:name=".UsingBundel"
 4 android:label="@string/app_name" >
 5 <intent-filter>
 6 <action android:name="android.intent.action.MAIN" />
 7 <category android:name="android.intent.category.LAUNCHER" />
 8 </intent-filter>
 9 </activity>
10 <activity android:name=".NextPageActivity"
11 android:label="@string/nextpage" ></activity>
12 </application>

在不同Task中启动Activity
Intent.FLAG_ACTIVITY_NEW_TASK

 

Intent与Intent filters
Intent:
Android 使用了一个很特别的类别Intent,用来从一个画面跳另一个画面,Intent 是用来描述一个程
序想要做些什么事情。在Intent 的数据结构中有两个很重要的部分,一个是动作(action)及对数据产生
反应(data to act upon)。Action 主要的内容有MAIN(程序的入口点),VIEW,PICK,EDIT 等等。Data
则是用URI 的形式来表示。比如:想要查看一个人的联络数据时,你需要建立一个Intent,它包含了VIEW
的动作(action)及指向该人数据的URI 描述句。
Intent Filter :
当Intent 要求做某件事时,IntentFilter 被用来描述这个Activity 能够做些什么事情。比如一个Activity
要能够显示个人联络数据,你就必需要在intentFilter 说明你要如何处理个人联络数据, 并用
ACTION_VIEW 呈现出来。IntentFilter 都会在AndroidManifest.xml 清单里面声明。

 

Broadcast Intent Receiver
  􀂋 当你想要写一个程序来对外部的事件做些处理时,可以实用Broadcast Intent Receiver 。比如:
当电话响铃时,有短信时。Broadcast Intent Receiver 它并不能够拿来显示UI 画面,它必需利用
NotificationManager 来通知使用者它们感兴趣的事件发生了。
  􀂋 Broadcast Intent Receiver 同样的可以在AndroidManifest.xml 中声明, 但你也可以用写
Context.registerReceiver()程序的方式来注册你自己的Broadcast Intent Receiver。你自己的程序并不会
因为Broadcast Receiver 被呼叫而被它执行起来,而是当BroadcastReceiver 被触发时系统会依据需求来执
行相应的程序。程序可以利用Context.sendBroadcast()来发出它们自己的IntentBroadcast 给其它的程序。

Intent 与 Activity
  􀂋 而画面的切来切去则是由resolving Intent 来实现的。当你想产生新的画面时,现行的Activity
就使用startActivity(myIntent)。然后系统就会根据所有已安装的程序所定义的Intent filter 来看哪个程序
是最适合myIntent。当startActivity 被呼叫时,resolving Intents 的处理过程是伴随而来的。Resolving Intent
提供我们两个好处:
  􀂄 让Activities 可以很容易的利用Intent 的方式去使用别的程序的功能。
  􀂄 Activities 可以很容易的在任何情况下由新的Activity 所取代。

添加新的Activity

 1 package zyf.Android.Study;
 2 import ……
 3 import android.content.Intent;
 4 import android.net.Uri;
 5 import android.view.View.OnClickListener;
 6 public class AndroidStudy_TWO extends Activity {
 7 @Override
 8 public void onCreate(Bundle savedInstanceState) {
 9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.main);
11 final EditText inName = (EditText) findViewById(R.id.name);
12 final TextView result = (TextView) findViewById(R.id.result);
13 Button button_Start_Browser = (Button) findViewById(R.id.submit_toNET);
14 Button button_Login=(Button) findViewById(R.id.show_Login);
15 Button button_showLoginName=
16 (Button)findViewById(R.id.submit_toshowLoingName);
17 button_Start_Browser.setOnClickListener(new OnClickListener(){
18 @Override
19 public void onClick(View v) {
20 Uri myUri = Uri.parse("http://www.flashwing.net");
21 Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW,myUri);
22 startActivity(openBrowserIntent);
23 }
24 });
25 button_Login.setOnClickListener(new OnClickListener(){
26 @Override
27 public void onClick(View v) {
28 Intent openWelcomeActivityIntent=new Intent();
29 openWelcomeActivityIntent.setClass(AndroidStudy_TWO.this,
30 Welcome.class);
31 startActivity(openWelcomeActivityIntent);
32 }
33 });
34 button_showLoginName.setOnClickListener(new OnClickListener(){
35 @Override
36 public void onClick(View v) {
37 result.setText(inName.getText()+"欢迎您进入");
38 }
39 });
40 }
41 }

 

posted @ 2013-04-14 21:50  程序world  阅读(101)  评论(0)    收藏  举报