2016-05-15 4 views
0

私は、オブジェクト、つまり学生のユーザー情報を取得し、Androidのサーバーにボレーを使用して送信しています。現在、私は次のようなデータを送信しています:Params Androidのオブジェクト

private Map<String, String> params; 
public SignUpVolleyReq(Student student, Response.Listener<String> listener){ 
    super(Method.POST, REGISTER_REQUEST_URL, listener, null); 
    params = new HashMap<>(); 
    params.put("Email", student.getEmail()); 
    params.put("Password", student.getPassword()); 
    params.put("Name", student.getName()); 
    params.put("Location", student.getLocation()); 
    params.put("phone", student.getPhone()); 
    params.put("Interests", student.getInterests()); 
    params.put("Skills", student.getSkills()); 

    params.put("Institute", student.getInstitute()); 
    params.put("Program", student.getProgram()); 
    params.put("gradYear", student.getGradYear() + ""); 
    params.put("Marks", student.getMarks() + ""); 
} 

@Override 
public Map<String, String> getParams() { 
    return params; 
} 

これは正しいですか?またはフィールドを別々に送信する代わりに、生徒全体のオブジェクトを送信できますか?私はデータを受け取り、データベースに保存するサーバー上にPHPスクリプトを持っています。

答えて

0

JavaオブジェクトをPHPスクリプトに送信することはできませんが、それは非常に明白です。私はこれが良い方法だと思う。もう1つの方法は、Javaオブジェクトを文字列でエンコードし、エンコードされた文字列を1つのHTTPパラメータで渡すことです。 phpはその文字列をデコードしてassoc配列やオブジェクトに格納します。

エンコードされた文字列は、両側で扱いやすくなる可能性がありますが、AndroidとPHPの両方で無駄な計算が追加される可能性があります。

+0

ありがとうございます。私はこれが良いアプローチかどうかを知りたかったので、あなたはそれに答えました。 –