Naar content
Trending apps
  • Google Duo: videogesprekken van hoge kwaliteit

  • Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger: gratis sms'en en videobellen

Trending games
  • Fortnite

  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

Trending smartphones
  • OnePlus Nord N10 5G

  • POCO X3

  • Google Pixel 5

  • Google Pixel 4a

  • OnePlus Nord

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

Wij werken momenteel aan een nieuw forum voor Androidworld. Het is daarom momenteel niet mogelijk om te reageren of nieuwe topics aan te maken.

NotNow

  • Lid sinds 06 januari 2011
  • Berichten 9
  • Reputatie 0
  • #1
  • 6 januari 2011
  • 16:26

Beste mensen,

Ik ben voor school bezig met een applicatie. Kort gezegd is het een applicatie waarmee sms en inkomende oproepen automatisch beantwoordt worden door middel van een sms.

De gebruiker is in staat om een profiel aan te maken met titel en bericht. Daarnaast kan de gebruiker ervoor kiezen om een profiel te activeren met behulp van een bepaalde tijd, locatie of handmatig.

Het is ons gelukt profielen aan te maken en op te slaan. Aan een profiel moet ook tijd, locatie en instellingen gekoppeld kunnen worden. Dit is echter het punt waar we vastlopen.

We kunnen instellingen, tijd en locatie opslaan in de database. Deze worden echter niet gekoppeld aan één profiel, maar aan alle profielen.

Weet echt niet hoe ik dit op kan lossen. Als iemand kan helpen zou ik daar erg dankbaar voor zijn .

De bestanden die we gebruiken heb ik hieronder toegevoegd

De database

package com.example.notnow;

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;

public class profileDBAdapter {

//profiel edit
public static final String KEY_TITLE = "title";
public static final String KEY_BODY = "body";
public static final String KEY_ROWID = "_id";
public static final String KEY_SMS = "sms";
public static final String KEY_CALL = "call";
public static final String KEY_LOC = "loc";
public static final String KEY_TIME = "time";
//setings
public static final String KEY_VIBRATE = "vibrate";
public static final String KEY_WIFI = "wifi";
public static final String KEY_GPS = "gps";
public static final String KEY_AIRPLANE = "airplane";
//dagen tijd en repeat
public static final String KEY_MA = "monday";
public static final String KEY_DI = "tuesday";
public static final String KEY_WO = "wednesday";
public static final String KEY_DO = "thursday";
public static final String KEY_VRIJ = "friday";
public static final String KEY_ZA = "saturday";
public static final String KEY_ZO = "sunday";
public static final String KEY_START = "start";
public static final String KEY_END = "end";
public static final String KEY_REPEAT = "repeat";
//location
//public static final String KEY_LAT = "lat";
//public static final String KEY_LNG = "lng";



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, sms text not null, call text not null, loc text not null, time text not null, vibrate text not null, wifi text not null, gps text not null, airplane text not null, monday text not null, tuesday text not null, wednesday text not null, thursday text not null, friday text not null, saturday text not null, sunday text not null, repeat text not null, start text not null, end 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
*/
public profileDBAdapter(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 profileDBAdapter 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 createProfile(String title, String body, String sms,
String call, String loc, String time, String vibrate, String wifi,
String gps, String airplane, String monday, String tuesday, String wednesday,
String thursday, String friday, String saturday, String sunday, String repeat,
String start, String end
) {
ContentValues initialValues = new ContentValues();
//edit_profile
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);
initialValues.put(KEY_SMS, sms);
initialValues.put(KEY_CALL, call);
initialValues.put(KEY_LOC, loc);
initialValues.put(KEY_TIME, time);
//Settings
initialValues.put(KEY_VIBRATE, vibrate);
initialValues.put(KEY_WIFI, wifi);
initialValues.put(KEY_GPS, gps);
initialValues.put(KEY_AIRPLANE, airplane);
//profileActive
initialValues.put(KEY_MA, monday);
initialValues.put(KEY_DI, tuesday);
initialValues.put(KEY_WO, wednesday);
initialValues.put(KEY_DO, thursday);
initialValues.put(KEY_VRIJ, friday);
initialValues.put(KEY_ZA, saturday);
initialValues.put(KEY_ZO, sunday);
initialValues.put(KEY_REPEAT, repeat);
initialValues.put(KEY_START, start);
initialValues.put(KEY_END, end);
//locatie
//initialValues.put(KEY_LAT, latitude);
//initialValues.put(KEY_LNG, longitude);

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 deleteProfile(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 fetchAllProfiles() {

return mDb.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE },
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 fetchProfile(long rowId) throws SQLException {

Cursor mCursor = mDb.query(true, DATABASE_TABLE, new String[] {
KEY_ROWID, KEY_TITLE, KEY_BODY, KEY_SMS, KEY_CALL, KEY_LOC,
KEY_TIME, KEY_VIBRATE, KEY_WIFI, KEY_GPS, KEY_AIRPLANE, KEY_MA, KEY_DI,
KEY_WO, KEY_DO, KEY_VRIJ, KEY_ZA, KEY_ZO, KEY_REPEAT, KEY_START, KEY_END},
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 updateProfile(long rowId, String title, String body,
String sms, String call, String loc, String time, String vibrate,
String wifi, String gps, String airplane, String monday, String tuesday, String wednesday,
String thursday, String friday, String saturday, String sunday, String repeat,
String start, String end) {
ContentValues args = new ContentValues();
//edit profile
args.put(KEY_TITLE, title);
args.put(KEY_BODY, body);
args.put(KEY_SMS, sms);
args.put(KEY_CALL, call);
args.put(KEY_LOC, loc);
args.put(KEY_TIME, time);
//Settings
args.put(KEY_VIBRATE, vibrate);
args.put(KEY_WIFI, wifi);
args.put(KEY_GPS, gps);
args.put(KEY_AIRPLANE, airplane);
//profileActive
args.put(KEY_MA, monday);
args.put(KEY_DI, tuesday);
args.put(KEY_WO, wednesday);
args.put(KEY_DO, thursday);
args.put(KEY_VRIJ, friday);
args.put(KEY_ZA, saturday);
args.put(KEY_ZO, sunday);
args.put(KEY_REPEAT, repeat);
args.put(KEY_START, start);
args.put(KEY_END, end);
//locatie
//args.put(KEY_LNG, longitude);
//args.put(KEY_LAT, latitude);

return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}
}

Bewerkt (6 januari 2011 16:26)

NotNow

  • Lid sinds 06 januari 2011
  • Berichten 9
  • Reputatie 0
  • #2
  • 6 januari 2011
  • 16:27

Ophalen van de gegevens uit een profiel

package com.example.notnow;

import android.app.Activity;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class profile_edit extends Activity {

private EditText mTitleText;
private EditText mBodyText;
private CheckBox mReplySMS;
private CheckBox mReplyCall;
private CheckBox mLoc;
private CheckBox mTime;
private Long mRowId;

private profileDBAdapter mDbHelper;
private profileActive clock;
private String smscb;
private String callcb;
private String timecb;
private String loccb;
static String vibcb;
static String wificb;
static String gpscb;
static String airplanecb;


//Dagen + repeat----
static String macb;
static String dicb;
static String wocb;
static String docb;
static String vrijcb;
static String zocb;
static String zacb;
static String repeatcb;
static TimePickerDialog mPicktime;
static TimePickerDialog mPickEndtime;
//Dagen + repeat----

static String lat;
static String lng;

static String start;
static String end;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDbHelper = new profileDBAdapter(this);
mDbHelper.open();

clock = new profileActive();
setContentView(R.layout.profile_edit);

mTitleText = (EditText) findViewById(R.id.profiletext);
mBodyText = (EditText) findViewById(R.id.messagetext);
mReplySMS = (CheckBox) findViewById(R.id.replysms);
mReplyCall = (CheckBox) findViewById(R.id.replycall);
mLoc = (CheckBox) findViewById(R.id.locationswitch);
mTime = (CheckBox) findViewById(R.id.timeswitch);

Button confirmButton = (Button) findViewById(R.id.createknop);
Button timeknop = (Button) findViewById(R.id.timeknop);
Button locationknop = (Button) findViewById(R.id.locationknop);
Button settingsknop = (Button) findViewById(R.id.settingsknop);
Button contactsknop = (Button) findViewById(R.id.contactsknop);

mRowId = (savedInstanceState == null) ? null
: (Long) savedInstanceState
.getSerializable(profileDBAdapter.KEY_ROWID);
if (mRowId == null) {
Bundle extras = getIntent().getExtras();
mRowId = extras != null ? extras
.getLong(profileDBAdapter.KEY_ROWID) : null;
}

populateFields();

// Buttons.
confirmButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (mTitleText.getText().toString().equals("")
|| mBodyText.getText().toString().equals("")) {
Toast.makeText(getBaseContext(),
"Profielnaam of bericht is niet goed ingevoerd.",
Toast.LENGTH_SHORT).show();
} else {
setResult(RESULT_OK);
Intent i = new Intent(profile_edit.this, profiles.class);
startActivity(i);
}
}
});

timeknop.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(profile_edit.this, timer.class);
startActivity(i);
}
});



locationknop.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(profile_edit.this, location.class);
startActivity(i);
}
});

settingsknop.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(profile_edit.this, settings.class);
startActivity(i);
}
});

contactsknop.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(profile_edit.this, contacts.class);
startActivity(i);
}
});
}

private void populateFields() {
if (mRowId != null) {
Cursor note = mDbHelper.fetchProfile(mRowId);
startManagingCursor(note);
mTitleText.setText(note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_TITLE)));
mBodyText.setText(note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_BODY)));

smscb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_SMS));

if (smscb.equals("false")) {
mReplySMS.setChecked(false);
} else {
mReplySMS.setChecked(true);
}

callcb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_CALL));

if (callcb.equals("false")) {
mReplyCall.setChecked(false);
} else {
mReplyCall.setChecked(true);
}

//settings profiel
vibcb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_VIBRATE));

wificb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_WIFI));

gpscb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_GPS));

airplanecb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_AIRPLANE));

loccb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_LOC));


//dagen en repeat
macb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_MA));

dicb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_DI));

wocb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_WO));

docb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_DO));

vrijcb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_VRIJ));

zacb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_ZA));

zocb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_ZO));

repeatcb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_REPEAT));
//starttijd en eindtijd
end = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_END));

start = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_START));


//locatie
lat = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_ZO));

lng = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_REPEAT));



if (loccb.equals("false")) {
mLoc.setChecked(false);
} else {
mLoc.setChecked(true);
}

timecb = note.getString(note
.getColumnIndexOrThrow(profileDBAdapter.KEY_TIME));

if (timecb.equals("false")) {
mTime.setChecked(false);
} else {
mTime.setChecked(true);
}

}
}

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
saveState();
outState.putSerializable(profileDBAdapter.KEY_ROWID, mRowId);
}

@Override
protected void onPause() {
super.onPause();
saveState();
mDbHelper.open();
populateFields(); // bla
}

@Override
protected void onResume() {
super.onResume();
// mDbHelper.open();
populateFields();
}

private void saveState() {
String title = mTitleText.getText().toString();
String body = mBodyText.getText().toString();
String sms = "";
String call = "";
String loc = "";
String time = "";

Log.e(this.toString(), "hoi ben hier");

if (mReplySMS.isChecked()) {
sms = "true";
} else {
sms = "false";
}

if (mReplyCall.isChecked()) {
call = "true";
} else {
call = "false";
}

if (mLoc.isChecked()) {
loc = "true";
} else {
loc = "false";
}

if (mTime.isChecked()) {
time = "true";
} else {
time = "false";
}

if (mTitleText.getText().toString().equals("")
|| mBodyText.getText().toString().equals("")) {
} else {
if (mRowId == null) {
long id = mDbHelper.createProfile(title, body, sms, call, loc,
time, settings.vibrate, settings.wifi, settings.gps,
settings.airplane, timer.ma, timer.di, timer.wo, timer.don, timer.vrij, timer.za, timer.zo, timer.repeat, timer.start, timer.end
);
if (id > 0) {
mRowId = id;
}
} else {
mDbHelper.updateProfile(mRowId, title, body, sms, call, loc,
time, settings.vibrate, settings.wifi, settings.gps,
settings.airplane, timer.ma, timer.di, timer.wo, timer.don, timer.vrij, timer.za, timer.zo, timer.repeat, timer.start, timer.end
);
}
}

}
//
}

Ophalen en plaatsen van de instellingen
package com.example.notnow;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;

public class settings extends Activity {
static String vibrate = "";
static String wifi = "";
static String gps = "";
static String airplane = "";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);

final CheckBox mVibrate = (CheckBox) findViewById(R.id.vibrate);
final CheckBox mWifi = (CheckBox) findViewById(R.id.wifi);
final CheckBox mGps = (CheckBox) findViewById(R.id.gps);
final CheckBox mAirplane = (CheckBox) findViewById(R.id.airplane);

if (profile_edit.vibcb.equals("true")) {
mVibrate.setChecked(true);
} else {
mVibrate.setChecked(false);
}

if (profile_edit.wificb.equals("true")) {
mWifi.setChecked(true);
} else {
mWifi.setChecked(false);
}

if (profile_edit.gpscb.equals("true")) {
mGps.setChecked(true);
} else {
mGps.setChecked(false);
}

if (profile_edit.airplanecb.equals("true")) {
mAirplane.setChecked(true);
} else {
mAirplane.setChecked(false);
}

Button doneButton = (Button) findViewById(R.id.doneknop);
doneButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

if (mVibrate.isChecked()) {
vibrate = "true";
} else {
vibrate = "false";
}

if (mWifi.isChecked()) {
wifi = "true";
} else {
wifi = "false";
}

if (mGps.isChecked()) {
gps = "true";
} else {
gps = "false";
}

if (mAirplane.isChecked()) {
airplane = "true";
} else {
airplane = "false";
}

finish();
}
});
}
}

Bewerkt (6 januari 2011 16:27)

fifarunnerr

  • Lid sinds 13 juli 2010
  • Berichten 1846
  • Reputatie 10
  • #3
  • 6 januari 2011
  • 16:50

Van opslaan in een database weet ik niets. Wat je wel zou kunnen doen is werken met SharedPreferences.
En sla je elk profiel op in een bestand dat iets als “PREFERENCES_PROFILE” heet.

Dan krijg je iets als


public static final String PREFS_NAME = "PREFERENCES_PROFILE";  

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("title", title);
editor.putString("description", description);
En even later:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

title = settings.getString("title");
description = settings.getString("description");

Dit is tenminste de manier waarop ik meestal iets op sla. Nou ja…Meestal is dan de paar keer dat ik dat de afgelopen weken heb gebruikt

Bewerkt (6 januari 2011 16:50)

AVS

  • Lid sinds 02 oktober 2009
  • Berichten 9885
  • Reputatie 0
  • #4
  • 6 januari 2011
  • 16:57

In je eerste voorbeeld plaats je de gegevens in de database
=============================================
public long createProfile(String title, String body, String sms,
String call, String loc, String time, String vibrate, String wifi,
String gps, String airplane, String monday, String tuesday, String wednesday,
String thursday, String friday, String saturday, String sunday, String repeat,
String start, String end
) {
ContentValues initialValues = new ContentValues();
//edit_profile
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);
initialValues.put(KEY_SMS, sms);
initialValues.put(KEY_CALL, call);
initialValues.put(KEY_LOC, loc);
initialValues.put(KEY_TIME, time);
//Settings
initialValues.put(KEY_VIBRATE, vibrate);
initialValues.put(KEY_WIFI, wifi);
initialValues.put(KEY_GPS, gps);
initialValues.put(KEY_AIRPLANE, airplane);
//profileActive
initialValues.put(KEY_MA, monday);
initialValues.put(KEY_DI, tuesday);
initialValues.put(KEY_WO, wednesday);
initialValues.put(KEY_DO, thursday);
initialValues.put(KEY_VRIJ, friday);
initialValues.put(KEY_ZA, saturday);
initialValues.put(KEY_ZO, sunday);
initialValues.put(KEY_REPEAT, repeat);
initialValues.put(KEY_START, start);
initialValues.put(KEY_END, end);
//locatie
//initialValues.put(KEY_LAT, latitude);
//initialValues.put(KEY_LNG, longitude);

return mDb.insert(DATABASE_TABLE, null, initialValues);
}
===========================================

Dat is een insert statement en dus zullen je overige records niet geraakt worden. Wat inhoudt dat hij alleen loc en time in die ene record zet.

echter zie ik een stukje verder dat je ook records gaat updaten
================================================
public boolean updateProfile(long rowId, String title, String body,
String sms, String call, String loc, String time, String vibrate,
String wifi, String gps, String airplane, String monday, String tuesday, String wednesday,
String thursday, String friday, String saturday, String sunday, String repeat,
String start, String end) {
ContentValues args = new ContentValues();
//edit profile
args.put(KEY_TITLE, title);
args.put(KEY_BODY, body);
args.put(KEY_SMS, sms);
args.put(KEY_CALL, call);
args.put(KEY_LOC, loc);
args.put(KEY_TIME, time);
//Settings
args.put(KEY_VIBRATE, vibrate);
args.put(KEY_WIFI, wifi);
args.put(KEY_GPS, gps);
args.put(KEY_AIRPLANE, airplane);
//profileActive
args.put(KEY_MA, monday);
args.put(KEY_DI, tuesday);
args.put(KEY_WO, wednesday);
args.put(KEY_DO, thursday);
args.put(KEY_VRIJ, friday);
args.put(KEY_ZA, saturday);
args.put(KEY_ZO, sunday);
args.put(KEY_REPEAT, repeat);
args.put(KEY_START, start);
args.put(KEY_END, end);
//locatie
//args.put(KEY_LNG, longitude);
//args.put(KEY_LAT, latitude);

return mDb.update(DATABASE_TABLE, args, KEY_ROWID + “=” + rowId, null) > 0;
}
========================================================

Ik weet niet of je de app SQLite editor hebt ? Hiermee kun je direkt vanaf je toestel in de database kijken,
want ik denk dat die insert opdracht wel goed gaat maar dat het met die update mis gaat en hij dan alle records van dezelfde loc en time gaat voorzien

de
return mDb.update(DATABASE_TABLE, args, KEY_ROWID + “=” + rowId, null) > 0;
regel, en dan met name die KEY_ROWID + “=” + rowId geeft misschien het probleem.

Je kunt dit testen door simpelweg de variabele rowid even van een vast waarde te voorzien en dan te kijken of idd alleen die ene record geupdate wordt ipv allemaal.
dus
KEY_ROWID + “=” + rowId
vervangen voor bv
KEY_ROWID + “= 0”

als dat nog steeds niet werkt maak er dan gewoon eens KEY_ROWID = 0 van om bv record 0 eens te updaten.

ik twijfel nl heel erg of
KEY_ROWID + “=” + rowId wel de juiste syntax is.

Bewerkt (6 januari 2011 16:57)

Samsung Galaxy S8+

NotNow

  • Lid sinds 06 januari 2011
  • Berichten 9
  • Reputatie 0
  • #5
  • 8 januari 2011
  • 02:47

Sorry voor de het late antwoord. Maar bedankt voor de reacties.
Ik heb voor de database, de notepad tutorial van android developer zelf gebruikt.

Ben zelf erg slecht met programmeren, maar hoop om het langzaam maar zeker werkend te krijgen. Nogmaals bedankt voor de reacties, gaat het morgen even allemaal proberen.

Bewerkt (8 januari 2011 02:47)

AVS

  • Lid sinds 02 oktober 2009
  • Berichten 9885
  • Reputatie 0
  • #6
  • 8 januari 2011
  • 08:12

Laat je het even weten dan ?

Bewerkt (8 januari 2011 08:12)

Samsung Galaxy S8+

NotNow

  • Lid sinds 06 januari 2011
  • Berichten 9
  • Reputatie 0
  • #7
  • 9 januari 2011
  • 12:51

@AVS, wanneer ik de ROWID verander naar een vaste waarde, worden inderdaad alle kolommen geupdate.

Nu heb ik zojuist ff gelogt (Log.e(profileDBAdapter.class.toString(),“Method:updateProfile:rowId=”rowId);
Hieruit blijkt dat de settings en profiel beide dezelfde rowId hebben (dat geldt ook voor elk ander profiel dat wordt aangemaakt).

Het rare is, dat alle profielen ook gebruik maken van updateProfile, zo worden de titel en 't bericht niet hetzelfde na een update.
Dit gebeurd alleen bij de settings wanneer ik probeer om gegevens van een andere klasse in de database te zetten.

@fifarunner, mijn project docent heeft ons gewezen op het gebruik van een SQLite database, ik denk (hoop ivm tijdnood) dat we dus wel in de goede richting zitten met het gebruike van een database. In iedergeval bedankt voor de reacties.

Bewerkt (9 januari 2011 12:51)

AVS

  • Lid sinds 02 oktober 2009
  • Berichten 9885
  • Reputatie 0
  • #8
  • 9 januari 2011
  • 13:13

Eigenlijk moet je ook niet uitgaan van een rowid voor selectie of updates.
Ik maak in mijn ontwerpen altijd gebruik van een eigen id veld.
In je profile records zou ik dus een prof_id veld hebben toegevoegt en daarop sturen tijdens updates.
Prof_id maak je dan auto incremental (dat zal sqlite ook wel kunnen)


Sent from my GT-I9000 using Tapatalk

Bewerkt (9 januari 2011 13:13)

Samsung Galaxy S8+

NotNow

  • Lid sinds 06 januari 2011
  • Berichten 9
  • Reputatie 0
  • #9
  • 9 januari 2011
  • 16:29

Hartelijk bedankt

Sorry voor al die vragen, maar zit nog met een klein probleempje,. Als ik de applicatie test op de emulator van Eclipse en daarnaast op mijn mobiel, valt alles veel kleiner uit.

We gebruiken bijvoorbeeld Google Maps om de radius te bepalen per zoomlevel, echter wanneer je de radius vergelijkt met elkaar blijkt dat op de emulator de radius veel groter is dan op mijn mobiel. Het lijkt om één of andere reden ook dat je op een mobiel meer in kan zoomen dan op de emulator zelf.

Weet iemand misschien een oplossing hiervoor?

Mvg,

Jef

Bewerkt (9 januari 2011 16:29)

Timo_de_Jong

  • Lid sinds 30 augustus 2011
  • Berichten 7
  • Reputatie 0
  • #10
  • 30 augustus 2011
  • 20:54

Weet iemand hoe je dit doet in FB 4.5 ?
want daar gebruik je .mxml
want ik heb meerdere checkboxs/ textboxen
en ik heb 2 tabs op de ene opslaan
en de andere laad
en bij opslaan moet hij de data ergerns opslaan
en bij laden dus laden maar hoe moet ik dat doen ?

alvast bedankt

Bewerkt (30 augustus 2011 20:54)

Reageer

We werken momenteel hard aan een nieuw forum voor Androidworld. Het is daarom helaas niet mogelijk om op dit topic te reageren.