1 package com.hanqi.myapplication;
2
3 import android.content.ComponentName;
4 import android.content.Intent;
5 import android.net.Uri;
6 import android.os.Bundle;
7 import android.support.v7.app.AppCompatActivity;
8 import android.util.Log;
9 import android.view.View;
10 import android.widget.Button;
11
12 public class MainActivity extends AppCompatActivity {
13
14 //回调方法 (on开头的方法都是)
15 //在创建时自动调用
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 //调用父类的回调方法
19 super.onCreate(savedInstanceState);
20 //设置内容视图文件
21 //建立Activity和Layout文件之间的关联
22 setContentView(R.layout.test_linearlayout);
23 //1.获得这个组件
24 Button bt2 = (Button)findViewById(R.id.button2);
25 //2.操作这个组件
26 // bt2.setText("新按钮");
27 //日志输出
28 System.out.print("日志输出=应用开始运行");
29 Log.v("HANQI", "Verbose级别的日志信息");
30 Log.d("HANQI", "Debug级别的日志信息");
31 Log.i("HANQI", "Info级别的日志信息");
32 Log.w("HANQI", "Warning级别的日志信息");
33 Log.e("HANQI", "Error级别的日志信息");
34 }
35 public void login_onClick(View v)
36 {
37 //打开新的Activity
38 //1.创建意图 显式意图
39 Intent intent = new Intent();
40 //定义显式意图
41 ComponentName componentName = new ComponentName(this,TextActivity.class);
42 intent.setComponent(componentName);
43 intent.putExtra("name", "意图传递的值");
44 intent.putExtra("name1", "意图传递的值1");
45
46 //2.发起意图
47 startActivity(intent);
48 }
49 public void bt2_onClick(View v)
50 {
51 //发起隐式意图
52 //打开拨打电话的界面
53 //系统已经预先定义了常用功能的Action的字符串常量
54 Intent intent2 = new Intent(Intent.ACTION_DIAL);
55 //intent2.setAction(Intent.ACTION_DIAL);
56
57 //构造Uri
58 Uri uri = Uri.parse("tel:110");
59
60 //intent2.addCategory("");
61
62 //设置data
63 intent2.setData(uri);
64
65 //intent2.setType("");
66 //intent2.setDataAndType(uri,"");
67 startActivity(intent2);
68 }
69
70 public void bt3_onClick(View v)
71 {
72 //返回桌面
73 Intent intent3 = new Intent(Intent.ACTION_MAIN);
74 intent3.addCategory(Intent.CATEGORY_HOME);
75 startActivity(intent3);
76 }
77 }
1 package com.hanqi.myapplication;
2
3 import android.app.Activity;
4 import android.content.Intent;
5 import android.os.Bundle;
6 import android.util.Log;
7 import android.view.View;
8 import android.widget.EditText;
9 import android.widget.Toast;
10
11 //1.继承Activity
12 /**
13 * Created by lenovo on 2016/4/22.
14 */
15 public class TextActivity extends Activity {
16
17 //成员变量
18 EditText et1;
19 EditText et2;
20 EditText et3;
21 //2.重写onCreate(),关联Layout文件
22 //onCreate()是一个回调方法:在满足特定条件下自动调用的方法;方法名一般on开头
23
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27
28 //关联
29 setContentView(R.layout.message_relativelayout);
30 //初始化工作
31 //获取Layout文件中定义的组件
32
33 et1=(EditText)findViewById(R.id.et1);
34 et2=(EditText)findViewById(R.id.et2);
35 et3=(EditText)findViewById(R.id.et3);
36 Log.e("TAG","onCreat()被调用");
37
38 //得到意图
39 Intent intent = getIntent();
40 String strname = intent.getStringExtra("name");
41 String strname1 = intent.getStringExtra("name1");
42 //intent.getExtras();
43 Log.e("TAG","意图传递的数据="+strname);
44 Log.e("TAG","意图传递的数据1="+strname1);
45 // if(savedInstanceState!=null&&!savedInstanceState.isEmpty())
46 // {
47 // et1.setText(savedInstanceState.getString("et1")+"恢复之后的");
48 // et2.setText(savedInstanceState.getString("et2"));
49 // et3.setText(savedInstanceState.getString("et3"));
50 // }
51 }
52
53 //保存状态
54 @Override
55 protected void onSaveInstanceState(Bundle outState) {
56 super.onSaveInstanceState(outState);
57 Log.e("TAG", "保存应用状态");
58
59 outState.putString("et1", et1.getText().toString());
60 outState.putString("et1",et2.getText().toString());
61 outState.putString("et1",et3.getText().toString());
62 }
63
64 //恢复状态
65 @Override
66 protected void onRestoreInstanceState(Bundle savedInstanceState) {
67 super.onRestoreInstanceState(savedInstanceState);
68 Log.e("TAG", "恢复应用状态");
69
70 et1.setText(savedInstanceState.getString("et1")+"恢复之后的");
71 et2.setText(savedInstanceState.getString("et2"));
72 et3.setText(savedInstanceState.getString("et3"));
73
74 }
75
76 //启动
77 @Override
78 protected void onStart() {
79 super.onStart();
80 Log.e("TAG","onStart()被调用");
81 }
82 //重启
83 @Override
84 protected void onRestart() {
85 super.onRestart();
86 Log.e("TAG", "onRestart()被调用");
87 }
88 //继续
89 @Override
90 protected void onResume() {
91 super.onResume();
92 Log.e("TAG", "onResume()被调用");
93 }
94 //暂停
95 @Override
96 protected void onPause() {
97 super.onPause();
98 Log.e("TAG", "onPause()被调用");
99 }
100 //停止
101 @Override
102 protected void onStop() {
103 super.onStop();
104 Log.e("TAG", "onStop()被调用");
105 }
106 //销毁
107 @Override
108 protected void onDestroy() {
109 super.onDestroy();
110 Log.e("TAG", "onDestroy()被调用");
111 }
112 //点击事件方法
113 public void bt_OnClick(View v)
114 {
115 //显示提示信息
116 //方法链
117 Toast.makeText(TextActivity.this, "消息发送成功", Toast.LENGTH_SHORT).show();
118 }
119 public void close_OnClick(View v)
120 {
121 //关闭应用
122 finish();
123 }
124 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 android:padding="10dp">
7
8 <LinearLayout
9 android:layout_width="match_parent"
10 android:layout_height="wrap_content">
11 <TextView
12 android:layout_width="wrap_content"
13 android:layout_height="wrap_content"
14 android:text="用户名:"/>
15 <EditText
16 android:layout_width="match_parent"
17 android:layout_height="wrap_content"
18 android:hint="请输入用户名"/>
19 </LinearLayout>
20 <LinearLayout
21 android:layout_width="match_parent"
22 android:layout_height="wrap_content">
23 <TextView
24 android:layout_width="wrap_content"
25 android:layout_height="wrap_content"
26 android:text="密码:"/>
27 <EditText
28 android:layout_width="match_parent"
29 android:layout_height="wrap_content"
30 android:hint="请输入密码"
31 android:inputType="textPassword"
32 android:maxLength="6"/>
33 </LinearLayout>
34
35 <LinearLayout
36 android:layout_width="match_parent"
37 android:layout_height="wrap_content">
38 <Button
39 android:layout_width="0dp"
40 android:layout_height="wrap_content"
41 android:text="显式意图"
42 android:id="@+id/button"
43 android:layout_weight="1"
44 android:onClick="login_onClick"/>
45
46 <Button
47 android:layout_width="0dp"
48 android:layout_height="wrap_content"
49 android:text="隐式意图"
50 android:id="@+id/button3"
51 android:layout_weight="1"
52 android:onClick="bt2_onClick"/>
53 <Button
54 android:layout_width="0dp"
55 android:layout_height="wrap_content"
56 android:text="返回桌面"
57 android:id="@+id/button4"
58 android:layout_weight="1"
59 android:onClick="bt3_onClick"/>
60
61 <Button
62 android:layout_width="wrap_content"
63 android:layout_height="wrap_content"
64 android:text="New Button"
65 android:id="@+id/button2"
66 android:layout_gravity="center"
67 android:textSize="20sp"
68 android:textColor="@color/colorPrimary"
69 android:background="@drawable/anniu05"
70 android:visibility="gone"/>
71 </LinearLayout>
72 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.hanqi.myapplication">
4
5 <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
6
7 <application
8 android:allowBackup="true"
9 android:icon="@mipmap/ic_launcher"
10 android:label="@string/app_name"
11 android:supportsRtl="true"
12 android:theme="@style/AppTheme">
13
14 <activity android:name=".MainActivity">
15 <intent-filter>
16 <action android:name="android.intent.action.MAIN" />
17
18 <category android:name="android.intent.category.LAUNCHER" />
19 </intent-filter>
20 </activity>
21 <activity android:name=".TextActivity">
22 <intent-filter>
23 <action android:name="android.intent.action.MAIN" />
24
25 <category android:name="android.intent.category.LAUNCHER" />
26 </intent-filter>
27 </activity>
28
29 </application>
30
31 </manifest>
![](https://images2015.cnblogs.com/blog/894716/201604/894716-20160425192052205-1223150067.jpg)