Драйвер стандартних пристроїв введення-виведення
Створення мобільного додатку зі зручним та простим у використанні інтерфейсом, який би міг редагувати та використовувати XML-файли та за даними з файлу відтворювати інформацію. Головні функціональні вимоги до нього та аналіз структури програмного коду.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 03.12.2016 |
Размер файла | 107,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсова робота
Драйвер стандартних пристроїв введення-виведення
Вступ
мобільний інтерфейс програмний драйвер
Ціллю курсової роботи є створення мобільного додатку зі зручним та простим у використанні інтерфейсом, який би міг редагувати та використовувати XML-файли та за даними з файлу відтворювати інформацію. Також редактор повинен використовувати карти і використовувати GPS модуль.
Практичне застосування даного програмного проекту можливе в сфері послуг.
1. Технічне завдання
За даними з карти ми відмічаємо об'єкт (магазін) де ми присваємо значення координат з GPS модуля і добавляємо назву. Далі нам потрібно зробити аудинтифікацію користувача (логін і пароль) щоб кожний користувач зміг скласти свій список покупок.
1.1 Функціональність
Програма має містити наступну функціональність:
· Можливість завантаження / збереження даних у в форматі XML
· Синтаксичний розбір і верифікація формату XML з відбудовою внутрішньої моделі даних, в разі помилок - формування виключення (Exception)
· Інтерфейс користувача (на основі компонентів бібліотеки Android), який містить такі області:
o Аудентифікацію користувача
o Список покупок і його редагування
o Список магазинів
o Зображення магазинів на карті
· Можливість збереження списку.
1.2 Вимоги до реалізації.
· Мова програмування Java з використанням бібліотеки Android
· Інтерфейс користувача має забезпечувати доступ до всієї функціональності програми;
2. Проектування інтерфейсу користувача
2.1 Мета
Розробити таку програму, яка дозволить спростити похід в магазин як для однієї людини, так і для всієї родини
2.2 Модель інтерфейсу користувача
Призначення:
Головне вікно програми використовується для аудинтифікації і взаємодії користувача з програмою
Початковий опис прецеденту інтерфейсу користувача:
1) Прецедент починається коли користувач запускає програму.
2) Користувач може виконати одну з наступних дій:
· Добавить і видалить покупку.
· Добавить і видалити магазін.
· Відмітити на карті обєкт.
· Дізнатися по якій саме адресі знаходить даний обєкт.
· Змінити графічне положення обєкта.
· Побачіти на карті де знаходиться даний обєкт.
3) Прецедент закінчується коли користувач закінчує роботу з програмою.
2.3 Приклад зовнішнього вигляду програми
Програмний код
<? xml version= «1.0» encoding= «utf-8»?>
<manifest xmlns:android= «http://schemas.android.com/apk/res/android»
package= «com.team1»
android:versionCode= «1»
android: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»
android: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»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<TextView
android:id= «@+id/label1»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:text= «Name:» />
<EditText
android:id= «@+id/entry1»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:background= «@android:drawable/editbox_background»
android:layout_below= «@id/label1»/>
<TextView
android:id= «@+id/label2»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:text= «Longtitude:»
android:layout_below= «@+id/entry1»/>
<EditText
android:id= «@+id/entry2»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:background= «@android:drawable/editbox_background»
android:layout_below= «@id/label2»/>
<TextView
android:id= «@+id/label3»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:text= «Laptitude:»
android:layout_below= «@+id/entry2»/>
<EditText
android:id= «@+id/entry3»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:background= «@android:drawable/editbox_background»
android:layout_below= «@id/label3»/>
<Button
android:id= «@+id/ok1»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_below= «@id/entry3»
android:layout_alignParentRight= «true»
android:layout_marginLeft= «10dip»
android:text= «OK» />
<Button
android:id= «@+id/cancel1»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_toLeftOf= «@id/ok1»
android:layout_alignTop= «@id/ok1»
android:text= «Cancel» />
</RelativeLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<RelativeLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<TextView
android:id= «@+id/label»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:text= «Name:» />
<EditText
android:id= «@+id/entry»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:background= «@android:drawable/editbox_background»
android:layout_below= «@id/label»/>
<Button
android:id= «@+id/ok»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_below= «@id/entry»
android:layout_alignParentRight= «true»
android:layout_marginLeft= «10dip»
android:text= «OK» />
<Button
android:id= «@+id/cancel»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_toLeftOf= «@id/ok»
android:layout_alignTop= «@id/ok»
android:text= «Cancel» />
</RelativeLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «vertical»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»
android:orientation= «horizontal» >
<Button
android:id= «@+id/addContactButton»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_weight= «0.51»
android:text= «@string/allAccountsPlus» />
</LinearLayout>
<ListView android:layout_width= «fill_parent»
android:id= «@+id/contactList»
android:layout_height= «wrap_content»
android:layout_weight= «1»/>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «horizontal»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content» android:weightSum= «3»>
<Button android:id= «@+id/addContactButton1»
android:text= «@string/addContactButtonLabel1»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»
android:text= «@string/addContactButtonLabel2»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»
android:text= «@string/addContactButtonLabel3»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «vertical»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<EditText android:layout_height= «wrap_content»
android:id= «@+id/editText1» android:text= «User»
android: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»
android:id= «@+id/contactList»
android:layout_height= «wrap_content»
android:layout_weight= «1»/>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «horizontal»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton1»
android:text= «@string/addContactButtonLabel1»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»
android:text= «@string/addContactButtonLabel2»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»
android:text= «@string/addContactButtonLabel3»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «vertical»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «horizontal»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton»
android:text= «@string/allAccountsPlus»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
</LinearLayout>
<ListView android:layout_width= «fill_parent»
android:id= «@+id/contactList»
android:layout_height= «wrap_content»
android:layout_weight= «1»/>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:orientation= «horizontal»
android:layout_width= «fill_parent»
android:layout_height= «wrap_content»>
<Button android:id= «@+id/addContactButton1»
android:text= «@string/addContactButtonLabel1»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton2»
android:text= «@string/addContactButtonLabel2»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
<Button android:id= «@+id/addContactButton3»
android:text= «@string/addContactButtonLabel3»
android:layout_height= «wrap_content»
android:layout_width= «wrap_content»
android:layout_weight= «1»/>
</LinearLayout>
</LinearLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<LinearLayout
xmlns:android= «http://schemas.android.com/apk/res/android»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»>
<com.google.android.maps. MapView
xmlns:android= «http://schemas.android.com/apk/res/android»
android:id= «@+id/mapview»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»
android:clickable= «true»
android:apiKey= «0tzlgC_A9yCyQDmKwgGyFyoSsLtqWDMDCpQlp2Q»
/>
</LinearLayout>
<? xml version= «1.0» encoding= «utf-8»?>
<LinearLayout xmlns:android= «http://schemas.android.com/apk/res/android»
android:layout_width= «fill_parent»
android:layout_height= «fill_parent»
android:orientation= «horizontal» >
<Button
android:id= «@+id/button_main1»
android:layout_width= «wrap_content»
android:layout_height= «wrap_content»
android:layout_weight= «0.70»
android:padding= «10dp»
android:text= «Shop» />
<Button
android:id= «@+id/button_main»
android:layout_width= «168dp»
android:layout_height= «wrap_content»
android:padding= «10dp»
android: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 {
Button okButton;
Button cancelButton;
public AddPurchaseDialor (Context context) {
super(context);
setContentView (R.layout.add_purches_dialog);
okButton = (Button) findViewById (R.id.ok);
okButton.setOnClickListener(this);
cancelButton = (Button) findViewById (R.id.cancel);
cancelButton.setOnClickListener(this);
}
@Override
public void onClick (View v) {
if (v == okButton)
{
TextView textView = (TextView) findViewById (R.id.entry);
textView.getText();
dismiss();
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);
setContentView (R.layout.seting);
// Capture our button from layout
Button button = (Button) findViewById (R.id.addContactButton1);
// Register the onClick listener with the implementation above
button.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View v) {
// TODO Auto-generated method stub
Intent intent_pokypki = new Intent (seting.this, pokypki.class);
startActivity (intent_pokypki);
}
});
// Capture our button from layout
Button button1 = (Button) findViewById (R.id.addContactButton2);
// Register the onClick listener with the implementation above
button1.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View v) {
Intent 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);
setContentView (R.layout.maps);
// - use the LocationManager class to obtain GPS locations-
lm = (LocationManager)
getSystemService (Context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
lm.requestLocationUpdates (
LocationManager.GPS_PROVIDER,
0,
0,
locationListener);
mapView = (MapView) findViewById (R.id.mapview);
mapView.setBuiltInZoomControls(true);
mc = mapView.getController();
Drawable drawable = this.getResources().getDrawable (R.drawable.androidmarker);
ShopsOverlays itemizedoverlay = new ShopsOverlays(drawable);
Overlay overlay = new TouchOverlay (mapView, itemizedoverlay);
mapView.getOverlays().add(overlay);
//mapOverlays.add(itemizedoverlay);
}
private class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged (Location loc) {
if (loc!= null) {
Toast.makeText (getBaseContext(),
«Location changed: Lat:» + loc.getLatitude() +
«Lng:» + loc.getLongitude(),
Toast.LENGTH_SHORT).show();
GeoPoint p = new GeoPoint(
(int) (loc.getLatitude() * 1E6),
(int) (loc.getLongitude() * 1E6));
mc.animateTo(p);
mc.setZoom(25);
mapView.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,
Bundle 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) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Toast.makeText (getBaseContext(),
p.getLatitudeE6 () / 1E6 +»,» +
p.getLongitudeE6 () /1E6,
Toast.LENGTH_SHORT).show();
mv.getController().animateTo(p);
mv.getController().setZoom(15);
//OverlayItem overlayitem = new OverlayItem (p, «Магазин», «»);
//so.addOverlay(overlayitem);
AddShopDialog shopDialog = new AddShopDialog (mapView.getContext());
shopDialog.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) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem (int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap (int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog. Builder dialog = new AlertDialog. Builder(mContext);
dialog.setTitle (item.getTitle());
dialog.setMessage (item.getSnippet());
dialog.show();
return true;
}
public ShopsOverlays (Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = 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);
setContentView (R.layout.pokypki);
if (flag==true) {
Intent intent_seting = new Intent (pokypki.this, seting.class);
startActivity (intent_seting);
flag=false;
}
final Button buttonMain = (Button) findViewById (R.id.addContactButton);
buttonMain.setOnClickListener (new OnClickListener() {
public void onClick (View v) {
AddPurchaseDialor dialog = new AddPurchaseDialor (pokypki.this);
dialog.setTitle («Add new purchase»);
dialog.show();
}
});
// Capture our button from layout
Button button = (Button) findViewById (R.id.addContactButton3);
// Register the onClick listener with the implementation above
button.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View e) {
// TODO Auto-generated method stub
Intent intent_seting = new Intent (pokypki.this, seting.class);
startActivity (intent_seting);
}
});
// Capture our button from layout
Button button2 = (Button) findViewById (R.id.addContactButton2);
// Register the onClick listener with the implementation above
button2.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View v) {
// TODO Auto-generated method stub
Intent intent_magazin = new Intent (pokypki.this, magazin.class);
startActivity (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.database.sqlite.SQLiteOpenHelper;
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 {
DatabaseHelper (Context context) {
super (context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate (SQLiteDatabase db) {
db.execSQL (DATABASE_CREATE);
}
@Override
public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w (TAG, «Upgrading database from version» + oldVersion + «to»
+ newVersion +», which will destroy all old data»);
db.execSQL («DROP TABLE IF EXISTS notes»);
onCreate(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 {
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;
}
public void close() {
mDbHelper.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) {
ContentValues initialValues = new ContentValues();
initialValues.put (KEY_TITLE, title);
initialValues.put (KEY_BODY, body);
initialValues.put (KEY_DATE, date);
initialValues.put (KEY_LOC, «no information»);
return mDb.insert (DATABASE_TABLE, null, initialValues);
}
public long createNoteWithLoc (String title, String body, String date, String loc) {
ContentValues initialValues = new ContentValues();
initialValues.put (KEY_TITLE, title);
initialValues.put (KEY_BODY, body);
initialValues.put (KEY_DATE, date);
initialValues.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 {
Cursor mCursor =
mDb.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) {
ContentValues args = new ContentValues();
args.put (KEY_TITLE, title);
args.put (KEY_BODY, body);
args.put (KEY_DATE, date);
args.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) {
ContentValues args = new ContentValues();
args.put (KEY_TITLE, title);
args.put (KEY_BODY, body);
args.put (KEY_DATE, date);
args.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);
setContentView (R.layout.magazin);
// Capture our button from layout
Button map = (Button) findViewById (R.id.addContactButton);
// Register the onClick listener with the implementation above
map.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View v) {
// TODO Auto-generated method stubsh
Intent intent_seting1 = new Intent (magazin.this, ShopsMap.class);
startActivity (intent_seting1);
}
});
Button button = (Button) findViewById (R.id.addContactButton3);
// Register the onClick listener with the implementation above
button.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View e) {
// TODO Auto-generated method stub
Intent intent_seting = new Intent (magazin.this, seting.class);
startActivity (intent_seting);
}
});
// Capture our button from layout
Button button1 = (Button) findViewById (R.id.addContactButton1);
// Register the onClick listener with the implementation above
button1.setOnClickListener (new OnClickListener() {
@Override
public void onClick (View l) {
// TODO Auto-generated method stub
Intent intent_pokypki = new Intent (magazin.this, pokypki.class);
startActivity (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);
setContentView (R.layout.main);
final Button buttonMain = (Button) findViewById (R.id.button_main);
final Button buttonMain1 = (Button) findViewById (R.id.button_main1);
buttonMain.setOnClickListener (new OnClickListener() {
public void onClick (View v) {
AddPurchaseDialor dialog = new AddPurchaseDialor (GSS.this);
dialog.setTitle («Add new purchase»);
dialog.show();
}
});
buttonMain1.setOnClickListener (new OnClickListener() {
public void onClick (View e) {
AddShopDialog dialog2 = new AddShopDialog (GSS.this);
dialog2.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 {
Button okButton;
Button cancelButton;
public AddShopDialog (Context context) {
super(context);
setContentView (R.layout.add_new_shop);
okButton = (Button) findViewById (R.id.ok1);
okButton.setOnClickListener(this);
cancelButton = (Button) findViewById (R.id.cancel1);
cancelButton.setOnClickListener(this);
}
@Override
public void onClick (View v) {
if (v == okButton)
{
TextView textView1 = (TextView) findViewById (R.id.entry1);
textView1.getText();
TextView textView2 = (TextView) findViewById (R.id.entry2);
textView2.getText();
TextView textView3 = (TextView) findViewById (R.id.entry3);
textView3.getText();
dismiss();
return;
}
if (v == cancelButton)
dismiss();
}
}
Размещено на Allbest.ru
Подобные документы
Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.
курсовая работа [3,6 M], добавлен 30.04.2016Створення файлу з базою даних про учбову та науково-технічну літературу та файлу, що зберігає інформацію виведену в нього в результаті запиту. Стандартні процедури та функцій, що використовуються у програмі. Приклад тестування та результату її роботи.
курсовая работа [1,0 M], добавлен 16.11.2013Поняття компілятора та теоретичні основи його роботи. Введення коду програми завантаженням текстового файлу. Опрацювання тексту лексичним та синтаксичним аналізаторами. Генерація та оптимізанія об'єктного коду. Побудова графічного інтерфейсу програми.
курсовая работа [586,6 K], добавлен 22.01.2014Android, iOS та Windows як основні платформи для розробки додатків для мобільних пристроїв. Перелік вимог до програмної системи. Основні вимоги, які є критичними для працездатності мобільного додатку. Аналіз основних напрямків розвитку системи.
курсовая работа [1,1 M], добавлен 19.08.2016Характеристика особливостей мікроконтролерів AVR сімейства Mega: пам'ять даних на основі РПЗПЕС, можливість захисту від читання і модифікації пам'яті програм. Аналіз проблем побудови цифрових пристроїв на МК та ПЛІС. Розгляд портів введення-виведення.
курсовая работа [4,0 M], добавлен 05.12.2014Апаратні особливості та порівняльна характеристика мобільних пристроїв. Огляд програм-аналогів. Інструментальні засоби для реалізації, вхідні та вихідні дані, специфікація вимог, проектування моделі і архітектури програмного забезпечення для Android.
дипломная работа [3,2 M], добавлен 10.06.2014Створення програмного модуля, який виконуватиме формування електронного підручника та презентацію тестів з пройденого матеріалу по темах, визначених користувачем. Склад та призначення програмних компонентів модуля Unit1.cpp., опис інтерфейсу додатку.
курсовая работа [381,2 K], добавлен 06.05.2016Характеристика дослідження методу введення обмежених обсягів текстової інформації в ЕОМ. Аналіз механізму розробки програми, що передбачає можливість запису текстової інформації до файлу, а також завантаження тексту з файлу. Порядок роботи з програмою.
курсовая работа [74,1 K], добавлен 05.02.2010Призначення та область застосування програмного продукту "проектор-лектор", функціональні вимоги до нього. Структура інтерактивної системи. Структура програмного продукту, опис інтерфейсу з користувачем. План тестування, інструкція по експлуатації.
курсовая работа [347,7 K], добавлен 21.05.2016Технологія роботи в текстовому редакторі Microsoft Word. Види документів, порядок їх створення та редагування. Призначення та структура шаблонів. Збереження файлу у вигляді шаблону, додавання до нього стандартних блоків та елементів керування вмістом.
курсовая работа [40,3 K], добавлен 06.08.2013