Android Open Source - SpeechWriter Speech Recording Data Source






From Project

Back to project page SpeechWriter.

License

The source code is released under:

MIT License

If you think the Android project SpeechWriter listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package edu.psu.rcy5017.speechwriter.datasource;
/*w ww  .j a  v  a  2s  . co  m*/
import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.util.Log;
import edu.psu.rcy5017.speechwriter.DatabaseHelper;
import edu.psu.rcy5017.speechwriter.model.SpeechRecording;

public class SpeechRecordingDataSource extends DataSource<SpeechRecording> {
    
    private static final String TAG = "SpeechRecordingDataSource";
    
    private String[] allColumns = { DatabaseHelper.COLUMN_ID,
            DatabaseHelper.SPEECH_RECORDING_TITLE, DatabaseHelper.SPEECH_ID };

    public SpeechRecordingDataSource(Context context) {
        super(context);
    }
    
    /**
     * Creates a new speech recording in the database.
     * @param title the title of the speech recording
     * @param speech the speech that the speech recording belongs to
     * @return the speech recording created
     */
    public SpeechRecording createSpeechRecording(String title, long speechID) {
        final int DEFAULT_ORDER = 0;
        final ContentValues values = new ContentValues();
        values.put(DatabaseHelper.SPEECH_RECORDING_TITLE, title);
        values.put(DatabaseHelper.SPEECH_RECORDING_ORDER, DEFAULT_ORDER);
        values.put(DatabaseHelper.SPEECH_ID, speechID);
        long insertId = getDatabase().insert(DatabaseHelper.SPEECH_RECORDING_TABLE_NAME, null,
                values);
        final Cursor cursor = getDatabase().query(DatabaseHelper.SPEECH_RECORDING_TABLE_NAME,
                allColumns, DatabaseHelper.COLUMN_ID + " = " + insertId, null,
                null, null, null);
        cursor.moveToFirst();
        final SpeechRecording speechRecording = cursorToSpeechRecording(cursor);
        cursor.close();
        return speechRecording;
    }
       
    /**
     * Renames the speech recording in the database.
     * @param speechRecording the speech recording to rename
     * @param newTitle the new title to rename this speech recording
     * @return the number of rows affected
     */
    public int renameSpeechRecording(SpeechRecording speechRecording, String newTitle) {
        final ContentValues args = new ContentValues();
        args.put(DatabaseHelper.SPEECH_RECORDING_TITLE, newTitle);
        return getDatabase().update(
                DatabaseHelper.SPEECH_RECORDING_TABLE_NAME, args, DatabaseHelper.COLUMN_ID + "=" + speechRecording.getId(), null);
    }
    
    /**
     * Get a list of speech recordings associated with a speech.
     * @param speechID the speech to get recordings from
     * @return the speech recording list
     */
    public List<SpeechRecording> getAllSpeechRecordings(long speechID) {
        List<SpeechRecording> speechRecordings = new ArrayList<SpeechRecording>();
        
        final String selection = DatabaseHelper.SPEECH_ID + "=" + speechID;
        Cursor cursor = getDatabase().query(DatabaseHelper.SPEECH_RECORDING_TABLE_NAME,
                allColumns, selection, null, null, null, DatabaseHelper.SPEECH_RECORDING_ORDER);

        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            SpeechRecording speechRecording = cursorToSpeechRecording(cursor);
            speechRecordings.add(speechRecording);
            cursor.moveToNext();
        }
        
        cursor.close();
        return speechRecordings;
    }
    
    /**
     * Converts a cursor to a speech recording.
     * @param cursor the cursor to convert
     * @return the speech recording
     */
    private SpeechRecording cursorToSpeechRecording(Cursor cursor) {
        final long newSpeechRecordingId = cursor.getLong(0);
        final String newSpeechRecordingTitle = cursor.getString(1);
        final long newSpeechRecordingSpeechId = cursor.getLong(2);
        final SpeechRecording speechRecording = new SpeechRecording(newSpeechRecordingId, newSpeechRecordingTitle, newSpeechRecordingSpeechId);
        
        return speechRecording;
    }

    @Override
    public List<SpeechRecording> getAll(long parentID) {
        final List<SpeechRecording> speechRecordings = new ArrayList<SpeechRecording>();
        
        final String selection = DatabaseHelper.SPEECH_ID + "=" + parentID;
        Cursor cursor = getDatabase().query(DatabaseHelper.SPEECH_RECORDING_TABLE_NAME,
                allColumns, selection, null, null, null, DatabaseHelper.SPEECH_RECORDING_ORDER);

        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            SpeechRecording speechRecording = cursorToSpeechRecording(cursor);
            speechRecordings.add(speechRecording);
            cursor.moveToNext();
        }
        
        cursor.close();
        return speechRecordings;
    }

    @Override
    public void deleteObject(SpeechRecording speechRecordingToDelete) {
        long id = speechRecordingToDelete.getId();
        Log.d(TAG, "Speech recording deleted with id: " + id);
        getDatabase().delete(DatabaseHelper.SPEECH_RECORDING_TABLE_NAME, DatabaseHelper.COLUMN_ID
                + " = " + id, null);
    }

    @Override
    public int ubdateOrder(SpeechRecording speechRecordingToUpdate, int newOrder) {
        final ContentValues args = new ContentValues();
        args.put(DatabaseHelper.SPEECH_RECORDING_ORDER, newOrder);
        return getDatabase().update(
                DatabaseHelper.SPEECH_RECORDING_TABLE_NAME, args, DatabaseHelper.COLUMN_ID + "=" + speechRecordingToUpdate.getId(), null);
    }

}




Java Source Code List

com.ericharlow.DragNDrop.DragListener.java
com.ericharlow.DragNDrop.DragNDropAdapter.java
com.ericharlow.DragNDrop.DragNDropListView.java
com.ericharlow.DragNDrop.DropListener.java
com.ericharlow.DragNDrop.RemoveListener.java
edu.psu.rcy5017.speechwriter.DatabaseHelper.java
edu.psu.rcy5017.speechwriter.activity.EditTextActivity.java
edu.psu.rcy5017.speechwriter.activity.MainActivity.java
edu.psu.rcy5017.speechwriter.activity.NoteCardListActivity.java
edu.psu.rcy5017.speechwriter.activity.NoteListActivity.java
edu.psu.rcy5017.speechwriter.activity.OptionsActivity.java
edu.psu.rcy5017.speechwriter.activity.SpeechListActivity.java
edu.psu.rcy5017.speechwriter.activity.SpeechRecordingListActivity.java
edu.psu.rcy5017.speechwriter.activity.SplashScreenActivity.java
edu.psu.rcy5017.speechwriter.adapter.TabsPagerAdapter.java
edu.psu.rcy5017.speechwriter.constant.DefaultValues.java
edu.psu.rcy5017.speechwriter.constant.MiscConstants.java
edu.psu.rcy5017.speechwriter.constant.RequestCodes.java
edu.psu.rcy5017.speechwriter.controller.AudioCntl.java
edu.psu.rcy5017.speechwriter.controller.OptionsCntl.java
edu.psu.rcy5017.speechwriter.datasource.DataSource.java
edu.psu.rcy5017.speechwriter.datasource.NoteCardDataSource.java
edu.psu.rcy5017.speechwriter.datasource.NoteDataSource.java
edu.psu.rcy5017.speechwriter.datasource.SpeechDataSource.java
edu.psu.rcy5017.speechwriter.datasource.SpeechRecordingDataSource.java
edu.psu.rcy5017.speechwriter.fragment.NoteCardFragement.java
edu.psu.rcy5017.speechwriter.listener.ChangeFontSizeListener.java
edu.psu.rcy5017.speechwriter.listener.DragListenerImpl.java
edu.psu.rcy5017.speechwriter.listener.DropListenerImpl.java
edu.psu.rcy5017.speechwriter.listener.DropReorderListener.java
edu.psu.rcy5017.speechwriter.listener.RemoveListenerImpl.java
edu.psu.rcy5017.speechwriter.model.NoteCard.java
edu.psu.rcy5017.speechwriter.model.Note.java
edu.psu.rcy5017.speechwriter.model.SpeechRecording.java
edu.psu.rcy5017.speechwriter.model.Speech.java
edu.psu.rcy5017.speechwriter.task.ChangeNoteTextTask.java
edu.psu.rcy5017.speechwriter.task.CreateNoteCardTask.java
edu.psu.rcy5017.speechwriter.task.CreateNoteTask.java
edu.psu.rcy5017.speechwriter.task.CreateSpeechRecordingTask.java
edu.psu.rcy5017.speechwriter.task.CreateSpeechTask.java
edu.psu.rcy5017.speechwriter.task.DeleteTask.java
edu.psu.rcy5017.speechwriter.task.GetAllTask.java
edu.psu.rcy5017.speechwriter.task.NoteCardTask.java
edu.psu.rcy5017.speechwriter.task.NoteTask.java
edu.psu.rcy5017.speechwriter.task.RenameNoteCardTask.java
edu.psu.rcy5017.speechwriter.task.RenameSpeechRecordingTask.java
edu.psu.rcy5017.speechwriter.task.RenameSpeechTask.java
edu.psu.rcy5017.speechwriter.task.SpeechRecordingTask.java
edu.psu.rcy5017.speechwriter.task.SpeechTask.java
edu.psu.rcy5017.speechwriter.task.UpdateOrderTask.java