Драйвер стандартних пристроїв введення-виведення
Курсова робота
Драйвер стандартних пристроїв введення-виведення
Вступ
мобільний інтерфейс
програмний драйвер
Ціллю курсової роботи є
створення мобільного додатку зі зручним та простим у використанні інтерфейсом,
який би міг редагувати та використовувати XML-файли та за даними
з файлу відтворювати інформацію. Також редактор повинен використовувати карти і
використовувати GPS модуль.
Практичне застосування
даного програмного проекту можливе в сфері послуг.
1. Технічне завдання
За даними з карти ми
відмічаємо об’єкт (магазін) де ми присваємо значення координат з GPS модуля і добавляємо
назву. Далі нам потрібно зробити аудинтифікацію користувача (логін і пароль)
щоб кожний користувач зміг скласти свій список покупок.
1.1 Функціональність
Програма має містити
наступну функціональність:
· Можливість
завантаження / збереження даних у в форматі XML
· Синтаксичний
розбір і верифікація формату XML з відбудовою внутрішньої моделі даних, в разі помилок -
формування виключення (Exception)
· Інтерфейс
користувача (на основі компонентів бібліотеки Android), який містить
такі області:
o Аудентифікацію користувача
o Список покупок і його редагування
o Список магазинів
o Зображення магазинів на карті
· Можливість
збереження списку.
1.2 Вимоги до
реалізації.
· Мова
програмування Java з використанням бібліотеки Android
· Інтерфейс
користувача має забезпечувати доступ до всієї функціональності програми;
2. Проектування
інтерфейсу користувача
2.1 Мета
Розробити таку програму,
яка дозволить спростити похід в магазин як для однієї людини, так і для всієї
родини
.2 Модель
інтерфейсу користувача
Призначення:
Головне вікно програми
використовується для аудинтифікації і взаємодії користувача з програмою
Початковий опис
прецеденту інтерфейсу користувача:
) Прецедент
починається коли користувач запускає програму.
) Користувач може
виконати одну з наступних дій:
· Добавить
і видалить покупку.
· Добавить
і видалити магазін.
· Відмітити
на карті обєкт.
· Дізнатися
по якій саме адресі знаходить даний обєкт.
· Змінити
графічне положення обєкта.
· Побачіти
на карті де знаходиться даний обєкт.
) Прецедент
закінчується коли користувач закінчує роботу з програмою.
2.3 Приклад зовнішнього
вигляду програми
Програмний код
<? xml version= «1.0»
encoding= «utf-8»?>
<manifest xmlns:android=
«http://schemas.android.com/apk/res/android»= «com.team1»:versionCode=
«1»:versionName= «1.0»>
<uses-permission
android:name= «android.permission.INTERNET» />
<uses-permission
android:name= «android.permission.ACCESS_FINE_LOCATION» />
<application
android:icon= «@drawable/icon» android:label= «@string/app_name»>
<uses-library
android:name= «com.google.android.maps» />
<activity
android:name=».GSS»:label= «@string/app_name»>
</activity>
<activity
android:name=».ShopsMap»>
</activity>
<activity
android:name=».pokypki» android:label= «@string/app_name1»>
<intent-filter>
<action android:name=
«android.intent.action.MAIN» />
<category
android:name= «android.intent.category.LAUNCHER» />
</intent-filter>
</activity>
<activity
android:name=».magazin» android:label= «@string/app_name2»>
</activity>
<activity
android:name=».seting» android:label= «@string/app_name3»>
</activity>
</application>
<uses-permission
android:name= «android.permission.GET_ACCOUNTS» />
<uses-permission
android:name= «android.permission.READ_CONTACTS» />
<uses-permission
android:name= «android.permission.WRITE_CONTACTS» />
</manifest>
<? xml version= «1.0»
encoding= «utf-8»?>
<RelativeLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:layout_width=
«fill_parent»:layout_height= «fill_parent»>
<TextView:id= «@+id/label1»:layout_width=
«fill_parent»:layout_height= «wrap_content»:text= «Name:»
/>
<EditText:id= «@+id/entry1»:layout_width=
«fill_parent»:layout_height= «wrap_content»:background= «@android:drawable/editbox_background»:layout_below=
«@id/label1»/>
<TextView:id= «@+id/label2»:layout_width=
«fill_parent»:layout_height= «wrap_content»:text= «Longtitude:»:layout_below=
«@+id/entry1»/>
<EditText:id= «@+id/entry2»:layout_width=
«fill_parent»:layout_height= «wrap_content»
android:background= «@android:drawable/editbox_background»:layout_below=
«@id/label2»/>
<TextView:id= «@+id/label3»:layout_width=
«fill_parent»:layout_height= «wrap_content»:text= «Laptitude:»:layout_below=
«@+id/entry2»/>
<EditText:id= «@+id/entry3»:layout_width=
«fill_parent»:layout_height= «wrap_content»:background= «@android:drawable/editbox_background»:layout_below=
«@id/label3»/>
<Button:id= «@+id/ok1»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_below= «@id/entry3»:layout_alignParentRight=
«true»:layout_marginLeft= «10dip»:text= «OK» />
<Button:id= «@+id/cancel1»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_toLeftOf= «@id/ok1»:layout_alignTop=
«@id/ok1»:text= «Cancel» />
</RelativeLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<RelativeLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:layout_width=
«fill_parent»:layout_height= «fill_parent»>
<TextView:id= «@+id/label»:layout_width=
«fill_parent»:layout_height= «wrap_content»
android:text= «Name:»
/>
<EditText
android:id= «@+id/entry»:layout_width=
«fill_parent»:layout_height= «wrap_content»:background= «@android:drawable/editbox_background»:layout_below=
«@id/label»/>
<Button:id= «@+id/ok»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_below= «@id/entry»:layout_alignParentRight=
«true»:layout_marginLeft= «10dip»:text= «OK» />
<Button:id= «@+id/cancel»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_toLeftOf= «@id/ok»:layout_alignTop=
«@id/ok»:text= «Cancel» />
</RelativeLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«vertical»:layout_width= «fill_parent»:layout_height= «fill_parent»>
<LinearLayout:android=
«http://schemas.android.com/apk/res/android»:layout_width= «fill_parent»:layout_height=
«wrap_content»:orientation= «horizontal» >
<Button:id= «@+id/addContactButton»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_weight= «0.51»:text=
«@string/allAccountsPlus» />
</LinearLayout>
<ListView
android:layout_width= «fill_parent»:id= «@+id/contactList»:layout_height=
«wrap_content»:layout_weight= «1»/>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»
:orientation= «horizontal»:layout_width=
«fill_parent»:layout_height= «wrap_content» android:weightSum= «3»>
<Button android:id= «@+id/addContactButton1»:text=
«@string/addContactButtonLabel1»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»:text=
«@string/addContactButtonLabel2»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»:text=
«@string/addContactButtonLabel3»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«vertical»:layout_width= «fill_parent»:layout_height= «fill_parent»>
<EditText
android:layout_height= «wrap_content»:id= «@+id/editText1»
android:text= «User»:layout_width= «fill_parent»></EditText>
<EditText
android:layout_height= «wrap_content» android:id= «@+id/editText2»
android:text= «Password» android:layout_width= «fill_parent»></EditText>
<ListView
android:layout_width= «fill_parent»:id= «@+id/contactList»:layout_height=
«wrap_content»:layout_weight= «1»/>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«horizontal»:layout_width= «fill_parent»:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton1»:text=
«@string/addContactButtonLabel1»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»:text=
«@string/addContactButtonLabel2»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»:text=
«@string/addContactButtonLabel3»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«vertical»:layout_width= «fill_parent»:layout_height= «fill_parent»>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«horizontal»:layout_width= «fill_parent»:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton»:text=
«@string/allAccountsPlus»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
</LinearLayout>
<ListView
android:layout_width= «fill_parent»
android:id= «@+id/contactList»
android:layout_height= «wrap_content»:layout_weight=
«1»/>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:orientation=
«horizontal»:layout_width= «fill_parent»:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton1»:text=
«@string/addContactButtonLabel1»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»:text=
«@string/addContactButtonLabel2»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»:text=
«@string/addContactButtonLabel3»:layout_height= «wrap_content»:layout_width=
«wrap_content»:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<LinearLayout:android=
«http://schemas.android.com/apk/res/android»:layout_width= «fill_parent»:layout_height=
«fill_parent»>
<com.google.android.maps.
MapView:android= «http://schemas.android.com/apk/res/android»:id= «@+id/mapview»:layout_width=
«fill_parent»:layout_height= «fill_parent»:clickable= «true»:apiKey=
«0tzlgC_A9yCyQDmKwgGyFyoSsLtqWDMDCpQlp2Q»
/>
</LinearLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»:layout_width=
«fill_parent»:layout_height= «fill_parent»:orientation= «horizontal»
>
<Button:id= «@+id/button_main1»:layout_width=
«wrap_content»:layout_height= «wrap_content»:layout_weight= «0.70»:padding=
«10dp»:text= «Shop» />
<Button:id= «@+id/button_main»:layout_width=
«168dp»:layout_height= «wrap_content»:padding= «10dp»:text=
«Purchase» />
</LinearLayout>
<? xml version= «1.0»
encoding= «utf-8»?>
<resources>
<string name= «accountSpinnerLabel»>Account</string>
<string name= «addContactButtonLabel1»>Purchase</string>
<string name= «addContactButtonLabel2»>Shop</string>
<string name= «addContactButtonLabel3»>User</string>
<string name= «allAccountsPlus»>+</string>
<string name= «app_name»>Purchase</string>
<string name= «app_name1»>Purchase</string>
<string name= «app_name2»>Shop</string>
<string name= «app_name3»>User</string>
</resources>
package com.team1;
import android.app. Dialog;
import android.content. Context;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
import android.widget. TextView;
public class AddPurchaseDialor extends Dialog implements
OnClickListener {okButton;cancelButton;
public AddPurchaseDialor (Context context) {
super(context);(R.layout.add_purches_dialog);= (Button)
findViewById (R.id.ok);.setOnClickListener(this);= (Button)
findViewById (R.id.cancel);.setOnClickListener(this);
}
@Override
public void onClick (View v) {
if (v == okButton)
{textView = (TextView)
findViewById (R.id.entry);.getText();();
return;
}
if (v == cancelButton)
dismiss();
}
}
package com.team1;
import com.team1.R;
import android.app. Activity;
import android.content. Intent;
import android.os. Bundle;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
public class seting extends Activity {
public void onCreate (Bundle savedValues) {
super.onCreate(savedValues);(R.layout.seting);
// Capture our button
from layoutbutton = (Button) findViewById (R.id.addContactButton1);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View v) {
// TODO
Auto-generated method stubintent_pokypki = new Intent (seting.this,
pokypki.class);(intent_pokypki);
}
});
// Capture our button
from layoutbutton1 = (Button) findViewById (R.id.addContactButton2);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View v) {intent_magazin = new Intent
(seting.this, magazin.class);
startActivity
(intent_magazin);
}
});
}
}
package com.team1;
import java.util. ArrayList;
import java.util. List;
import android.app. AlertDialog;
import android.content. Context;
import android.content. Intent;
import android.graphics.drawable. Drawable;
import android.location. Location;
import android.location. LocationListener;
import android.location. LocationManager;
import android.os. Bundle;
import android.view. MotionEvent;
import android.widget. Toast;
import com.google.android.maps. GeoPoint;
import com.google.android.maps. ItemizedOverlay;
import com.google.android.maps. MapActivity;
import com.google.android.maps. MapController;
import com.google.android.maps. MapView;
import com.google.android.maps. Overlay;
import com.google.android.maps. OverlayItem;
public class ShopsMap extends MapActivity {
private LocationManager lm;
private LocationListener locationListener;
private MapView mapView;
private MapController mc;
@Override
protected boolean isRouteDisplayed() {
// TODO
Auto-generated method stub
return false;
}
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);(R.layout.maps);
// - use the
LocationManager class to obtain GPS locations-= (LocationManager)(Context.LOCATION_SERVICE);
= new
MyLocationListener();
.requestLocationUpdates
(.GPS_PROVIDER,
,
,);
= (MapView) findViewById
(R.id.mapview);.setBuiltInZoomControls(true);=
mapView.getController();
drawable = this.getResources().getDrawable
(R.drawable.androidmarker);itemizedoverlay = new
ShopsOverlays(drawable);overlay = new TouchOverlay (mapView,
itemizedoverlay);.getOverlays().add(overlay);
//mapOverlays.add(itemizedoverlay);
}
private class MyLocationListener implements
LocationListener
{
@Override
public void onLocationChanged (Location loc) {
if (loc!= null) {.makeText (getBaseContext(),
«Location changed: Lat:»
+ loc.getLatitude() +
«Lng:» +
loc.getLongitude(),.LENGTH_SHORT).show();
p = new GeoPoint(
(int)
(loc.getLatitude() * 1E6),
(int)
(loc.getLongitude() * 1E6));.animateTo(p);.setZoom(25);.invalidate();
}
}
@Override
public void onProviderDisabled (String provider) {
// TODO
Auto-generated method stub
}
@Override
public void onProviderEnabled (String provider) {
// TODO
Auto-generated method stub
}
@Override
public void onStatusChanged (String provider, int
status,extras) {
// TODO
Auto-generated method stub
}
}
private class TouchOverlay extends com.google.android.maps.
Overlay {
private ArrayList<OverlayItem> mOverlays = new
ArrayList<OverlayItem>();
private Context mContext;
private MapView mv;
private ShopsOverlays so;
public TouchOverlay (MapView mv, ShopsOverlays so) {
this.mv = mv;
this.so = so;
}
@Override
public boolean onTouchEvent (MotionEvent event, MapView mapView)
{
// - when user lifts his
finger-
if (event.getAction() == 1) {p = mapView.getProjection().fromPixels(
(int)
event.getX(),
(int)
event.getY());.makeText (getBaseContext(),.getLatitudeE6 () / 1E6 +»,»
+.getLongitudeE6 () /1E6,.LENGTH_SHORT).show();.getController().animateTo(p);.getController().setZoom(15);
//OverlayItem overlayitem
= new OverlayItem (p, «Магазин», «»);
//so.addOverlay(overlayitem);shopDialog
= new AddShopDialog (mapView.getContext());.show();
}
return false;
}
}
private class ShopsOverlays extends com.google.android.maps.
ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new
ArrayList<OverlayItem>();
private Context mContext;
public ShopsOverlays (Drawable defaultMarker) {
super (boundCenterBottom(defaultMarker));
}
public void addOverlay (OverlayItem overlay)
{.add(overlay);();
}
@Override
protected OverlayItem createItem (int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap (int index) {item =
mOverlays.get(index);. Builder dialog = new AlertDialog.
Builder(mContext);.setTitle (item.getTitle());.setMessage (item.getSnippet());.show();
return true;
}
public ShopsOverlays (Drawable defaultMarker, Context context) {
super(defaultMarker);= context;
}
}
}
package com.team1;
import com.team1.R;
import android.app. Activity;
import android.content. Intent;
import android.os. Bundle;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
public class pokypki extends Activity {
// Intent
intent_pokypki = new Intent (this, pokypki.class);
static boolean flag=true;
public void onCreate (Bundle savedValues) {
super.onCreate(savedValues);(R.layout.pokypki);
if (flag==true) {intent_seting = new Intent
(pokypki.this, seting.class);(intent_seting);
flag=false;
}
final Button buttonMain = (Button) findViewById (R.id.addContactButton);.setOnClickListener
(new OnClickListener() {
public void onClick (View v) {dialog = new
AddPurchaseDialor (pokypki.this);.setTitle («Add new purchase»);.show();
}
});
// Capture our button
from layoutbutton = (Button) findViewById (R.id.addContactButton3);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View e) {
// TODO
Auto-generated method stubintent_seting = new Intent (pokypki.this,
seting.class);(intent_seting);
}
});
// Capture our button
from layoutbutton2 = (Button) findViewById (R.id.addContactButton2);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View v) {
// TODO
Auto-generated method stubintent_magazin = new Intent (pokypki.this,
magazin.class);(intent_magazin);
}
});
}
}
package com.team1;
import android.content. ContentValues;
import android.content. Context;
import android.database. Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util. Log;
/**
* Simple notes database
access helper class. Defines the basic CRUD operations
* for the notepad
example, and gives the ability to list all notes as well as
* retrieve or modify a
specific note.
*
* This has been improved
from the first version of this tutorial through the
* addition of better
error handling and also using returning a Cursor instead
* of using a collection
of inner classes (which is less scalable and not
* recommended).
*/
public class NotesDbAdapter {
public static final String KEY_TITLE = «title»;
public static final String KEY_BODY = «body»;
public static final String KEY_DATE = «date»;
public static final String KEY_LOC = «loc»;
public static final String KEY_ROWID = «_id»;
private static final String TAG = «NotesDbAdapter»;
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
/**
* Database creation sql
statement
*/
private static final String DATABASE_CREATE =
«create table notes (_id
integer primary key autoincrement,»
+ «title text not null,
body text not null, date text not null, loc text not null);»;
private static final String DATABASE_NAME = «data»;
private static final String DATABASE_TABLE =
«notes»;
private static final int DATABASE_VERSION =
2;
private final Context mCtx;
private static class DatabaseHelper extends
SQLiteOpenHelper {
(Context context) {
super (context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate (SQLiteDatabase db) {
.execSQL (DATABASE_CREATE);
}
@Override
public void onUpgrade (SQLiteDatabase db, int oldVersion, int
newVersion) {.w (TAG, «Upgrading database from version» +
oldVersion + «to»
+ newVersion +», which
will destroy all old data»);.execSQL («DROP TABLE IF EXISTS notes»);(db);
}
}
/**
* Constructor - takes
the context to allow the database to be
* opened/created
*
* @param ctx the
Context within which to work
*/
public NotesDbAdapter (Context ctx) {
this.mCtx = ctx;
}
/**
* Open the notes
database. If it cannot be opened, try to create a new
* instance of the
database. If it cannot be created, throw an exception to
* signal the failure
*
* @return this
(self reference, allowing this to be chained in an
* initialization call)
* @throws
SQLException if the database could be neither opened or created
*/
public NotesDbAdapter open() throws SQLException {= new
DatabaseHelper(mCtx);= mDbHelper.getWritableDatabase();
return this;
}
public void close() {.close();
}
/**
* Create a new note
using the title and body provided. If the note is
* successfully created
return the new rowId for that note, otherwise return
* a -1 to indicate
failure.
*
* @param title
the title of the note
* @param body the
body of the note
* @return rowId
or -1 if failed
*/
public long createNote (String title, String body, String date)
{initialValues = new ContentValues();.put (KEY_TITLE, title);.put
(KEY_BODY, body);.put (KEY_DATE, date);.put (KEY_LOC, «no
information»);
return mDb.insert (DATABASE_TABLE, null, initialValues);
}
public long createNoteWithLoc (String title, String body, String
date, String loc) {initialValues = new ContentValues();.put (KEY_TITLE,
title);.put (KEY_BODY, body);.put (KEY_DATE, date);.put (KEY_LOC,
loc);
return mDb.insert (DATABASE_TABLE, null, initialValues);
}
/**
* Delete the note with
the given rowId
*
* @param rowId id
of note to delete
* @return true if
deleted, false otherwise
*/
public boolean deleteNote (long rowId) {
return mDb.delete (DATABASE_TABLE, KEY_ROWID + «=» +
rowId, null) > 0;
}
/**
* Return a Cursor over
the list of all notes in the database
*
* @return Cursor
over all notes
*/
public Cursor fetchAllNotes() {
return mDb.query (DATABASE_TABLE, new String[] {KEY_ROWID,
KEY_TITLE,
KEY_BODY, KEY_DATE, KEY_LOC}, null, null, null,
null, null);
}
/**
* Return a Cursor
positioned at the note that matches the given rowId
*
* @param rowId id
of note to retrieve
* @return Cursor
positioned to matching note, if found
* @throws
SQLException if note could not be found/retrieved
*/
public Cursor fetchNote (long rowId) throws SQLException {
mCursor =
.query (true, DATABASE_TABLE,
new String[] {KEY_ROWID,
KEY_TITLE, KEY_BODY, KEY_DATE, KEY_LOC}, KEY_ROWID
+ «=» + rowId, null,
null, null, null, null);
if (mCursor!= null) {
mCursor.moveToFirst();
}
return mCursor;
}
/**
* Update the note using
the details provided. The note to be updated is
* specified using the
rowId, and it is altered to use the title and body
* values passed in
*
* @param rowId id
of note to update
* @param title
value to set note title to
* @param body
value to set note body to
* @return true if
the note was successfully updated, false otherwise
*/
public boolean updateNote (long rowId, String title,
String body, String date) {args = new ContentValues();.put (KEY_TITLE,
title);.put (KEY_BODY, body);.put (KEY_DATE, date);.put (KEY_LOC,
«no information»);
return mDb.update (DATABASE_TABLE, args, KEY_ROWID + «=» +
rowId, null) > 0;
}
public boolean updateNoteWithLoc (long rowId, String
title, String body, String date, String loc) {args = new
ContentValues();.put (KEY_TITLE, title);.put (KEY_BODY,
body);.put (KEY_DATE, date);.put (KEY_LOC, loc);
return mDb.update (DATABASE_TABLE, args, KEY_ROWID + «=» +
rowId, null) > 0;
}
}
package com.team1;
import com.team1.R;
import android.app. Activity;
import android.content. Intent;
import android.os. Bundle;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
public class magazin extends Activity {
public void onCreate (Bundle savedValues) {
super.onCreate(savedValues);(R.layout.magazin);
// Capture our button
from layoutmap = (Button) findViewById (R.id.addContactButton);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View v) {
// TODO
Auto-generated method stubshintent_seting1 = new Intent (magazin.this,
ShopsMap.class);
startActivity
(intent_seting1);
}
});
button = (Button)
findViewById (R.id.addContactButton3);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View e) {
// TODO
Auto-generated method stubintent_seting = new Intent (magazin.this,
seting.class);(intent_seting);
}
});
// Capture our button
from layoutbutton1 = (Button) findViewById (R.id.addContactButton1);
// Register the onClick
listener with the implementation above.setOnClickListener (new
OnClickListener() {
@Override
public void onClick (View l) {
// TODO
Auto-generated method stubintent_pokypki = new Intent (magazin.this,
pokypki.class);(intent_pokypki);
}
});
}
}
package com.team1;
import android.app. Activity;
import android.os. Bundle;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
public class GSS extends Activity {
/** Called when the
activity is first created. */
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);(R.layout.main);
final Button buttonMain = (Button) findViewById (R.id.button_main);
final Button buttonMain1 = (Button) findViewById (R.id.button_main1);
.setOnClickListener (new
OnClickListener() {
public void onClick (View v) {dialog = new
AddPurchaseDialor (GSS.this);.setTitle («Add new purchase»);.show();
}
});
.setOnClickListener (new
OnClickListener() {
public void onClick (View e) {dialog2 = new AddShopDialog
(GSS.this);.setTitle («Add new shop»);
dialog2.show();
}
});
}
}
package com.team1;
import android.app. Dialog;
import android.content. Context;
import android.view. View;
import android.view. View. OnClickListener;
import android.widget. Button;
import android.widget. TextView;
public class AddShopDialog extends Dialog implements
OnClickListener {okButton;cancelButton;
public AddShopDialog (Context context) {
super(context);(R.layout.add_new_shop);= (Button) findViewById
(R.id.ok1);.setOnClickListener(this);= (Button) findViewById
(R.id.cancel1);.setOnClickListener(this);
}
@Override
public void onClick (View v) {
if (v == okButton)
{textView1 = (TextView)
findViewById (R.id.entry1);.getText();textView2 = (TextView)
findViewById (R.id.entry2);.getText();textView3 = (TextView)
findViewById (R.id.entry3);.getText();();
return;
}
if (v == cancelButton)
dismiss();
}
}