Я начал изучать Android программирования, и есть задача, как это:Android приложение для хранения контактов
Создать приложение для Android, в которой вы будете выполнять эти функциональные возможности:
хранения данных Make который будет держать информацию определенных контакта , (файл на SD-карте или базе данных). Этот файл на SD-карте/базе данных должен содержать данные в виде телефонных номеров определенных лиц. Отображение всех элементов файла, созданного в компоненте Список. Нажмите на определенный элемент в списке (контакт), чтобы отправить sms, чтобы выбрать его номер из хранилища.
Я сделал некоторый код, в основном идущий по книге с этой задачей, но у меня проблема, когда я должен установить идентификатор, имя и номер телефона контакта с помощью определенных методов набора.
Я определил класс Contact в Contact.java с конструкторами, установить и получить методы:
package com.example.zadatak1;
public class Contact {
int id;
String name;
String phone;
public Contact(){
}
public Contact(int id, String name, String phone){
this.id=id;
this.name=name;
this.phone=phone;
}
public Contact(String name, String phone){
this.name=name;
this.phone=phone;
}
public int getID(){
return this.id;
}
public void setID(int id){
this.id=id;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public String getPhone(){
return this.phone;
}
public void setPhone(String phone){
this.phone=phone;
}
}
Проблема в Handler.java строк в конце файла:
package com.example.zadatak1;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Handler extends SQLiteOpenHelper {
private static final String DB_NAME = "databaseContact";
private static final String TABLE_NAME = "contacts";
private static final String ID = "id";
private static final String NAME = "name";
private static final String PHONE = "phone_number";
private static final int DATABASE_VERSION = 1;
public Handler(Context context){
super(context, DB_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS = "CREATE_TABLE " + TABLE_NAME + ID + "INTEGER PRIMARY KEY," + NAME + "TEXT," + PHONE + "TEXT" + ")";
db.execSQL(CREATE_CONTACTS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
void addContact(Contact contact){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(NAME, contact.getName());
values.put(PHONE, contact.getPhone());
db.insert(TABLE_NAME, null, values);
db.close();
}
Contact getContact(int id){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[]{ID,NAME,PHONE}, NAME, new String[]{String.valueOf(id)}, null, null, null, null);
if(cursor!=null)
cursor.moveToFirst();
Contact contact = new Contact(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2));
return contact;
}
public List<Contact> getAllContacts(){
List<Contact> contactList = new ArrayList<Contact>();
String selectQuery = "SELECT * FROM " + TABLE_NAME+ " ORDER BY " + NAME + "ASC";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
return contactList;
}
Contact contact = new Contact();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setPhone(cursor.getString(2));
}
для " SetID "," setName "и" setPhone "Я получил ошибки: " Несколько маркеров в этой строке - Ошибка синтаксиса на токенах, AnnotationName ожидается вместо - Ошибка синтаксиса на токене "setID", Ide ntifier ожидается после этот маркер - Синтаксическая ошибка на маркер «(» удалить этот маркер - ошибка синтаксиса на лексемы, удалить эти маркеры «
» Множественные маркеры на этой линии - ошибка синтаксиса на маркерах AnnotationName ожидается вместо - Синтаксическая ошибка на лексемы «SetName», идентификатор ожидается после этого маркера - ошибка синтаксиса, вставить «Тип VariableDeclaratorId», чтобы завершить FormalParameterList «
» Множественные маркеры на этой линии - ошибка синтаксиса на лексемы „setPhone“, Идентификатор, ожидаемый после этого токена - Синтаксическая ошибка, вставить "Тип VariableDeclaratorId", чтобы завершить FormalParameterList - ошибка синтаксиса на лексемы, AnnotationName ожидается вместо»
Любая помощь? :(
Спасибо :) Я попробую в этот уик-энд и отправлю, если это сработает :) – Boki