Опубликован: 06.05.2014 | Доступ: свободный | Студентов: 2640 / 618 | Длительность: 10:33:00
Самостоятельная работа 5:

Использование мобильной связи в приложениях для смартфона

< Лекция 5 || Самостоятельная работа 5: 12 || Лекция 6 >

Приложение можно запускать.

Приложение, запущенное на устройстве

Рис. 10.2. Приложение, запущенное на устройстве
С помощью приложения можно совершать звонки

Рис. 10.3. С помощью приложения можно совершать звонки

Задачи для самостоятельной работы

Подумайте, как можно переработать приложение, чтобы можно было хранить произвольное (не заданное заранее) количество контактов, добавлять и удалять контакты и сопутствующую информацию. Попробуйте реализовать появившиеся идеи. В качестве хранилища данных можно использовать базу данных SQLite. Работа с SQLite описана в первой части курса.

Листинги файлов проекта

<?xml version="1.0" encoding="utf-8"?>
   <resources>
      <string name="app_name">SimpleDialer</string>
      <string name="action_settings">Settings</string>
      <string name="hello_world">Hello world!</string> 
      <string name="hello">SimpleDialer</string>
      <string name="main_label">My Friends</string>
   </resources>
 
Листинг 10.1. Файл strings.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:padding="15dip" >
   
      <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:layout_marginBottom="25dip"
         android:text="@string/main_label"
         android:textSize="22sp" />
   
      <Button
         android:id="@+id/button1"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
      <Button
         android:id="@+id/button2"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
      <Button
         android:id="@+id/button3"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
      <Button
         android:id="@+id/button4"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
      <Button
         android:id="@+id/button5"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
      <Button
         android:id="@+id/button6"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:textSize="18sp" />
   
   </LinearLayout>
   
Листинг 10.2. Файл activity_main.xml
package mypackage.simpledialer;
   
   import android.os.Bundle;
   import android.app.Activity;
   import android.view.Menu;
   import android.content.Intent;
   import android.net.Uri;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   
   public class MainActivity extends Activity implements OnClickListener {
   
         private int entries = 6;
         private String phoneNum[];
         private String buttonLabels[];
   
         @Override
         protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.activity_main);
   
                  phoneNum = new String[entries];
                  buttonLabels = new String[entries];
   
                  populateArrays();
   
   
                  Button button1 = (Button)findViewById(R.id.button1);
                  button1.setText(buttonLabels[0]);
                  button1.setOnClickListener(this);
   
                  Button button2 = (Button)findViewById(R.id.button2);
                  button2.setText(buttonLabels[1]);
                  button2.setOnClickListener(this);
   
                  Button button3 = (Button)findViewById(R.id.button3);
                  button3.setText(buttonLabels[2]);
                  button3.setOnClickListener(this);
   
                  Button button4 = (Button)findViewById(R.id.button4);
                  button4.setText(buttonLabels[3]);
                  button4.setOnClickListener(this);
   
                  Button button5 = (Button)findViewById(R.id.button5);
                  button5.setText(buttonLabels[4]);
                  button5.setOnClickListener(this);
   
                  Button button6 = (Button)findViewById(R.id.button6);
                  button6.setText(buttonLabels[5]);
                  button6.setOnClickListener(this);
         }
   
         @Override
         public boolean onCreateOptionsMenu(Menu menu) {
                  getMenuInflater().inflate(R.menu.main, menu);
                  return true;
         }
     
         public void launchDialer(String number){
                  String numberToDial = "tel:"+number;
                  startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(numberToDial)));
         }
		phoneNum[0] = "123-456-78-90";
		  phoneNum[1] = "234-567-89-01";
		  phoneNum[2] = "345-678-90-12";
		  phoneNum[3] = "456-789-01-23";
		  phoneNum[4] = "567-890-12-34";
		  phoneNum[5] = "678-901-23-45"; 
                  buttonLabels[0] = "Иванов Ваня";
                  buttonLabels[1] = "Петров Петя";
                  buttonLabels[2] = "Семеныч Сеня";
                  buttonLabels[3] = "Кузнецова Катя";
                  buttonLabels[4] = "Смирнова Саша";
                  buttonLabels[5] = "Попова Полина";         }
   
         
         @Override
         public void onClick(View v) {
                  switch (v.getId()) {
   
                  case R.id.button1:
                           launchDialer(phoneNum[0]);
                           break;
   
                  case R.id.button2:
                           launchDialer(phoneNum[1]);
                           break;
   
                  case R.id.button3:
                           launchDialer(phoneNum[2]);
                           break;
   
                  case R.id.button4:
                           launchDialer(phoneNum[3]);
                           break;
   
                  case R.id.button5:
                           launchDialer(phoneNum[4]);
                           break;
   
                  case R.id.button6:
                           launchDialer(phoneNum[5]);
                           break;
                  }
         } 
   }
 
Листинг 10.3. Файл MainActivity.java
< Лекция 5 || Самостоятельная работа 5: 12 || Лекция 6 >