Опубликован: 06.05.2014 | Уровень: для всех | Доступ: платный
Самостоятельная работа 5:
Использование мобильной связи в приложениях для смартфона
Задачи для самостоятельной работы
Подумайте, как можно переработать приложение, чтобы можно было хранить произвольное (не заданное заранее) количество контактов, добавлять и удалять контакты и сопутствующую информацию. Попробуйте реализовать появившиеся идеи. В качестве хранилища данных можно использовать базу данных 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