3个泛型,4个步骤。
AsyncTask <Params, Progress, Result>
(1)Params…要执行的任务的参数类型;
(2)Progress,在后台执行的任务的进度;
(3)Results,后台执行的任务的最后结果;
当一个AsyncTask任务执行时,它会经历四个步骤:
(1)onPreExecute() :在任务执行前调用,用来做一些UI的初始化工作,在UI中执行,
(2)doInBackground(Params…) :在后台执行任务,在工作线程中执行,
(3)onProgressUpdate(Progress…):更新正在后台执行任务的进度,在UI线程中工作,(用于更新UI),
调用这个方法前需要doInBackGround中调用publishProgress(progress)将进度传递过来
(4)onPostExecute(Result):在后台任务执行完成后,将结果返给这个方法更新UI
//发送系统自带的表情 去除特殊符号
编码: URLEncoder.encode(et_input.getText().toString().replaceAll("%(?![0-9a-fA-F]{2})", "%"),"UTF-8") //UTF-8编码
解码: URLDecoder.decode(mData.get(position).getReplyContent().replaceAll("%(?![0-9a-fA-F]{2})", "%"),"UTF-8") //UTF-8解码