私は、メッセージングアプリケーション用にかなりシンプルな設定をしています。私は単にEditTextボックスからテキストを取得し、それをデータベースに追加するPHPページにパラメータとして渡します。それは1つの単語のエントリのために完全に動作します。 EditTextボックスにスペースを入れた瞬間、動作しません。私はまだAndroidでかなり新しいです。私は本当にこれがどう起こっているのか理解していません。誰でもこのことがどう起こるか知っていますか?ここでEditText.getText()をサーバーに送信します。単一の単語でのみ動作します。どうやって?
は私のonClickメソッドです:
public void sendMessage(View v) {
Log.d("tag", "XXXXXXXXXXXXXXXXXXXXXX");
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
username = prefs.getString("username", "null");
where = prefs.getString("chat", "null");
message = (EditText) findViewById(R.id.inptbox);
function = new Functions();
Editable messagetext;
messagetext = message.getText();
response = function.sendMessage(username, where, messagetext.toString());
String theresponse = "";
theresponse = response;
if (theresponse.compareTo("0") == 0) {
Toast.makeText(getApplicationContext(), "Success!",
Toast.LENGTH_SHORT).show();
//message.setText(null);
} else if (response.compareTo("9") == 0) {
// userent.setText("nine");
}
}
マイfunction.sendMessage:
public String sendMessage(String username, String where, String string){
BufferedReader in = null;
String data = null;
try{
HttpClient client = new DefaultHttpClient();
URI website = new URI("http://abc.com/user_send.php?username="+username+"&where="+where+"&message="+string);
HttpPost post_request = new HttpPost();
post_request.setURI(website);
HttpGet request = new HttpGet();
request.setURI(website);
//executing actual request
//add your implementation here
HttpResponse response = client.execute(request);
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String l = "";
String nl = System.getProperty("line.separator");
while ((l = in.readLine()) != null) {
sb.append(l+nl);
}
in.close();
data = sb.toString();
return data;
}catch (Exception e){
return "ERROR";
}
}
は、どのように私はこの問題を解決するに取り掛かる必要がありますか?
ああ!それは非常に意味をなさない。私はそれについて考えなかったとは信じられません。 – EGHDK
URLEncodeの下に赤い線が表示されています。 "メソッドURLEncoder(String、String)は、タイプ関数のために定義されていません" – EGHDK
ああ、おっと!私はこのメソッドを含めるのを忘れていました。これは 'URLEncoder.encode(文字列、" UTF-8 ")'でなければなりません。上記の回答も更新します。それについて申し訳ありません! – Rain