So far, what I thought I could do was, in the Webservice, return info as byte[], so I have an ArrayList of Questions which is a class I made that has 5 byte[] as follows:
public class Question {
private byte[] question;
private byte[] correctAnswer;
private byte[] answer1;
private byte[] answer2;
private byte[] answer3;
public Question(){
}
public void setQuestion(byte[] question) {
    this.question = question;
}
public void setCorrectAnswer(byte[] correctAnswer) {
    this.correctAnswer = correctAnswer;
}
public void setAnswer1(byte[] answer1) {
    this.answer1 = answer1;
}
public void setAnswer2(byte[] answer2) {
    this.answer2 = answer2;
}
public void setAnswer3(byte[] answer3) {
    this.answer3 = answer3;
}
public byte[] getQuestion() {
    return question;
}
public byte[] getCorrectAnswer() {
    return correctAnswer;
}
public byte[] getAnswer1() {
    return answer1;
}
public byte[] getAnswer2() {
    return answer2;
}
public byte[] getAnswer3() {
    return answer3;
}
}
Webservice method that returns the arraylist:
public ArrayList<Question> GetQuestions() {
    ArrayList<Question> questions = new ArrayList();
    try {
        connection = DriverManager.getConnection("jdbc:mysql://" + DBIP + "/" + DBName + "?user=" + DBUser + "&password=" + DBPassword);
        String query
                = "SELECT * FROM questions;";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next()) {
            Question question = new Question();
            question.setQuestion(rs.getString("question").getBytes());
            question.setCorrectAnswer(rs.getString("correctAnswer").getBytes());
            question.setAnswer1(rs.getString("answer1").getBytes());
            question.setAnswer2(rs.getString("answer2").getBytes());
            question.setAnswer3(rs.getString("answer3").getBytes());
            questions.add(question);
        }
        stmt.close();
        connection.close();
    } catch (SQLException ex) {
        System.out.println(ex);
    } catch (UnsupportedEncodingException ex) {
        Logger.getLogger(DataBaseManager.class.getName()).log(Level.SEVERE, null, ex);
    }
    return questions;
}
Android app method that is getting the SOAP Response:
                SoapObject request = new SoapObject( NAMESPACE, METHOD_NAME );
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11 );
    envelope.setOutputSoapObject( request );
    HttpTransportSE androidHttpTransport = new HttpTransportSE( URL );
    androidHttpTransport.call( SOAP_ACTION, envelope );
    SoapObject response = ( SoapObject ) envelope.getResponse();
    for ( int i = 0; i < response.getPropertyCount(); i++ ) {
        Question question = new Question();
        question.setQuestion(response.getProperty( "question" ).toString());
        question.setAnswer1(response.getProperty( "question" ).toString());
        question.setAnswer2(response.getProperty( "question" ).toString());
        question.setAnswer3(response.getProperty( "question" ).toString());
        question.setCorrectAnswer(response.getProperty( "question" ).toString());
        questions.add( question );
    }
With this in mind, I wanted to receive this ArrayList on my Android app and decode the bytes to strings there, but I'm having an issue with the SOAP Response I get, I can only get it as a string, so I get a string representing the bytes and I can't decode that since its already in string form
Is there a way to decode a String to a string pretty much?
