編輯:關於Android編程
撥打電話項目:
activity_phone.xml
[html]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".PhoneActivity" >
<!--
android:id:id
布局:wrap_content包裹
android:layout_width:寬
android:layout_height:高
text: 顯示的文本引用
android:layout_below:在什麼下方
-->
<TextView
android:id="@+id/viewphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone" />
<EditText
android:id="@+id/editphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/viewphone"
android:layout_below="@+id/viewphone"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="phone" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editphone"
android:layout_below="@+id/editphone"
android:layout_marginTop="23dp"
android:text="@string/buttonphone" />
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".PhoneActivity" >
<!--
android:id:id
布局:wrap_content包裹
android:layout_width:寬
android:layout_height:高
text: 顯示的文本引用
android:layout_below:在什麼下方
-->
<TextView
android:id="@+id/viewphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone" />
<EditText
android:id="@+id/editphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/viewphone"
android:layout_below="@+id/viewphone"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="phone" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editphone"
android:layout_below="@+id/editphone"
android:layout_marginTop="23dp"
android:text="@string/buttonphone" />
</RelativeLayout>
strings.xml
[html]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">lession01_phone</string>
<string name="action_settings">Settings</string>
<string name="phone">撥打電話</string>
<string name="buttonphone">撥打</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">lession01_phone</string>
<string name="action_settings">Settings</string>
<string name="phone">撥打電話</string>
<string name="buttonphone">撥打</string>
</resources>
添加權限
PhoneActivity.java
[java]
package com.example.lession01_phone;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class PhoneActivity extends Activity {
private Button button_phone;
private EditText edit_phone;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone);
button_phone = (Button) findViewById(R.id.btnphone);
edit_phone = (EditText)findViewById(R.id.editphone);
button_phone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String phone_Num = edit_phone.getText().toString();
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone_Num));
PhoneActivity.this.startActivity(intent);
Toast.makeText(PhoneActivity.this, "正在給"+phone_Num+"撥打",Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.phone, menu);
return true;
}
}
package com.example.lession01_phone;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class PhoneActivity extends Activity {
private Button button_phone;
private EditText edit_phone;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone);
button_phone = (Button) findViewById(R.id.btnphone);
edit_phone = (EditText)findViewById(R.id.editphone);
button_phone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String phone_Num = edit_phone.getText().toString();
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone_Num));
PhoneActivity.this.startActivity(intent);
Toast.makeText(PhoneActivity.this, "正在給"+phone_Num+"撥打",Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.phone, menu);
return true;
}
}
運行效果:
(1)布局文件activity_main.xml如下:(2)MainActivity.javapackage com.xuliugen.lockscreen;import
移動app可以大致被分為三種,native、hybrid和web app。如果使用native app,你可以使用設備和操作系統的所有能力,同時,平台的性能負荷最小。然而
Service 服務:四大組件之一特性: 沒有界面運行在後台,除了界面相關的之外,Activity能做的Service也能做。service的生命周期:上圖所述一共有兩種
(一). 前言 Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 組織