public class HttpUtil {
public static void sendHttpRequest(final String adress,
final HttpCallbackListenner listenner){
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection connection=null;
try{
URL url=new URL(adress);
connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
connection.setDoInput(true);
connection.setDoOutput(true);
InputStream in=connection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
StringBuilder response=new StringBuilder();
String line;
while ((line=reader.readLine())!=null){
response.append(line);
}
if (listenner!=null){
listenner.onFinnsh(response.toString());
}
} catch (Exception e) {
if (listenner!=null){
listenner.onError(e);
}
} finally {
if (connection!=null){
connection.disconnect();
}
}
}
}).start();
}
public static void sendOkhttpRequest(String adress,okhttp3.Callback callback){
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder().url(adress).build();
client.newCall(request).enqueue(callback);
}
}
public interface HttpCallbackListenner {
void onFinnsh(String response);
void onError(Exception e);
}
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button mBtnsendata1,mBtnsendata2;
private TextView mTvshow;
private Handler mainHandler= new Handler()
{
@Override
public void handleMessage(Message msg) {
Bundle bundle=msg.getData();
String data=bundle.getString("data");
mTvshow.setText(data);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnsendata1= (Button) findViewById(R.id.senddata1);
mBtnsendata2= (Button) findViewById(R.id.senddata2);
mTvshow= (TextView) findViewById(R.id.show);
mBtnsendata1.setOnClickListener(this);
mBtnsendata2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
String adrress="http://10.39.1.16";
switch (view.getId()){
case R.id.senddata1:
HttpUtil.sendHttpRequest(adrress, new HttpCallbackListenner() {
@Override public void onFinnsh(final String response) {
/* runOnUiThread(new Runnable() {
@Override
public void run() {*/
mTvshow.setText(response);
// }
// });
}
@Override
public void onError(Exception e) {
}
});
break;
case R.id.senddata2:
HttpUtil.sendOkhttpRequest(adrress, new okhttp3.Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String resonsedata = response.body().string();
Message message=Message.obtain();
Bundle budle=new Bundle();
budle.putString("data",resonsedata);
message.setData(budle);
mainHandler.sendMessage(message);
}
});
}
}
}
HttpTest
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門椎侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人措拇,你說我怎么就攤上這事我纪。” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵第焰,是天一觀的道長骤坐。 經(jīng)常有香客問我雏掠,道長,這世上最難降的妖魔是什么汹碱? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮荞估,結(jié)果婚禮上咳促,老公的妹妹穿的比我還像新娘。我一直安慰自己勘伺,他們只是感情好跪腹,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著飞醉,像睡著了一般冲茸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缅帘,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼趣席!你這毒婦竟也來了兵志?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對情侶失蹤宣肚,失蹤者是張志新(化名)和其女友劉穎想罕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霉涨,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡按价,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笙瑟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楼镐。...
- 正文 年R本政府宣布秉宿,位于F島的核電站戒突,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏描睦。R本人自食惡果不足惜膊存,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忱叭。 院中可真熱鬧膝舅,春花似錦、人聲如沸窑多。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽埂息。三九已至技潘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間千康,已是汗流浹背享幽。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長得像豪椿,于是被迫代替她去往敵國和親奔坟。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 看到網(wǎng)上一組數(shù)據(jù)搭盾,說是我國的休閑農(nóng)業(yè)旅游人次高達(dá)22億咳秉,產(chǎn)值440億,帶動790萬人次就業(yè)鸯隅。乖乖澜建,難怪如今各路大軍...
- 這個(gè)世界上有沒有目的的愛嗎?有沒有渴望回報(bào)的付出嗎蝌以?有沒有想要獨(dú)占的親密嗎炕舵? 我一直很疑惑。 我疑惑為什么我會有這...
- 這幾年快速閱讀市場火爆皆疹,主張也很簡單:牛人都看過幾百上千本書疏橄,要變得和他們一樣牛逼,你不快速閱讀怎么能行B跃汀捎迫?于是,...