先测试网络功能,新建一个NetHandler类继承Handler类并重写handlerMessage()方法,然后新建一个NetThread类实现Runnable接口用于实现网络连接,然后在handlerMessage()中实现接受Web端的数据并Toast出来
在这里,Web端print的是一个json型的字符串,所以Android端接受到这个字符串要进行解析,这里使用的是alibaba的fastjson库:implementation group: 'com.alibaba', name: 'fastjson', version: '1.2.75' 经过测试,成功Toast出数据库中对应md5码的pwdmaster
parent
c204b5ee1e
commit
612d0fa7b8
@ -0,0 +1,24 @@
|
||||
package com.thankvinci.CloudKey.NetUtils;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.thankvinci.CloudKey.MainActivity;
|
||||
|
||||
|
||||
public class NetHandler extends Handler {
|
||||
private MainActivity activity;
|
||||
public NetHandler(MainActivity activity){
|
||||
this.activity = activity;
|
||||
}
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
super.handleMessage(msg);
|
||||
switch (msg.what){
|
||||
case 0:
|
||||
Toast.makeText(activity,msg.getData().getString("key"),Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package com.thankvinci.CloudKey.NetUtils;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
|
||||
import androidx.loader.content.CursorLoader;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
public class NetThread implements Runnable {
|
||||
Handler handler;
|
||||
public NetThread(Handler handler){
|
||||
this.handler = handler;
|
||||
}
|
||||
@Override
|
||||
public void run(){
|
||||
Message msg = new Message();
|
||||
String data = getNetWork("http://1.14.144.194:8080/cscp/cscp?function=query&MD5=123456789abcdef0123456789abcd4f0");
|
||||
JSONObject jsonObject = JSON.parseObject(data);
|
||||
Bundle dataPackage = new Bundle();
|
||||
dataPackage.putString("key",jsonObject.getString("pwd"));
|
||||
msg.what = 0;
|
||||
msg.setData(dataPackage);
|
||||
handler.sendMessage(msg);
|
||||
}
|
||||
public String getNetWork(String str_url){
|
||||
StringBuilder builder = new StringBuilder();
|
||||
String result = "2";
|
||||
try{
|
||||
URL url = new URL(str_url);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("GET");
|
||||
connection.setConnectTimeout(5000);
|
||||
connection.setReadTimeout(8000);
|
||||
connection.connect();
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
while((result=reader.readLine())!=null){
|
||||
builder.append(result);
|
||||
}
|
||||
connection.disconnect();
|
||||
}catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
Loading…
Reference in new issue