0
私はそれを実装中にチャットアプリケーションを作っています。私はこのためにメッセージを自動的に更新する必要があります。私はasyntacksを使用しています。このため私は、asyntaksオプションを使ってリフレッシュすることができなくなるたびに疑問を持っています。ですから、1秒ごとにチャットアクティビティをリフレッシュする方法や方法はありません。更新チャット毎秒
Chat.java
public class chatclass extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String receiverid = getIntent().getStringExtra("Rid");
try {
URL url = new URL("" + Constant.cht);
Map<String, Object> paramm = new LinkedHashMap<>();
paramm.put("sid", "" + Session.getUserID(getApplicationContext()));
paramm.put("rid", "" + receiverid);
StringBuilder postData = new StringBuilder();
for (Map.Entry<String, Object> param : paramm.entrySet()) {
if (postData.length() != 0) postData.append('&');
postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
postData.append('=');
postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
}
String urlParameters = postData.toString();
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(urlParameters);
writer.flush();
String result = "";
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = reader.readLine()) != null) {
result += line;
}
writer.close();
reader.close();
JSONObject response = new JSONObject(result);
JSONArray array = response.getJSONArray("data");
chatslistdata.clear();
for (int i = 0; i < array.length(); i++) {
JSONObject chatobj = array.getJSONObject(i);
ChatBeanData chatBeanData = new ChatBeanData();
chatBeanData.setChat_id(chatobj.getString("chat_id"));
chatBeanData.setRid(chatobj.getString("rid"));
chatBeanData.setReciever_name(chatobj.getString("reciever_name"));
chatBeanData.setReciever_image(chatobj.getString("reciever_image"));
chatBeanData.setSid(chatobj.getString("sid"));
chatBeanData.setSender_name(chatobj.getString("sender_name"));
chatBeanData.setSender_image(chatobj.getString("sender_image"));
chatBeanData.setMessage(chatobj.getString("message"));
chatBeanData.setSeen_status(chatobj.getInt("seen_status"));
chatBeanData.setTime(chatobj.getString("time"));
chatslistdata.add(chatBeanData);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
chatadapter = new ChatAdapter(ChatsPage.this, chatslistdata);
LinearLayoutManager mychatmanager = new LinearLayoutManager(ChatsPage.this, LinearLayoutManager.VERTICAL, false);
mychatmanager.setStackFromEnd(true);
chatlist.setLayoutManager(mychatmanager);
chatlist.setAdapter(chatadapter);
chatclass chatclass = new chatclass();
chatclass.execute();
}
}
我々はJSONを取っていたこのhttp://stackoverflow.com/questions/16954712/android-whatsapp-chat-examples?rq=1 – Aradhna
を試してみてくださいを持っていますこのチャットアプリケーション。ページをリロードするためにasyntaskを使用しました。これでは、2つのjson oneを送信側に、もう1つを受信側に使用しています。 –
2〜5秒ごとに消灯し、非同期をリフレッシュするアラームを設定できます。または、Time_Tickアクションでサービスを設定し、非同期をリフレッシュすることもできます。 – Aradhna