Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/com/example/cmknowledgegraph/LoginActivity.java
ongbodev
哈哈哈哈哈士奇 6 years ago
commit 63ef8e80a4

@ -0,0 +1,46 @@
package com.example.PersonalCenter;
import android.util.Log;
import com.hankcs.hanlp.HanLP;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Search {
public String sickname;
public Search(String sickname){
this.sickname = sickname;
}
public List<Set<String>> search(){
Log.i("search","sick执行了");
//找出对应的8个关键字
List<String> keywordList = HanLP.extractKeyword(sickname,8);
//针对每一个sickname来查找一下能不能够找到相应的名字
Set<String> mediciesSet = new HashSet<String>();
Set<String> reasonsSet = new HashSet<String>();
for(String i: keywordList){
Log.i("关键词提取",i+"ha");
String resq = SearchServiceGet.executeSearchGet(i,"/Search");
if(!resq.equals("fail")) {
String[] me_rea = resq.split("-");
String[] medicines = me_rea[0].split("\\|");
for(String j: medicines) mediciesSet.add(j);
String[] reasons = me_rea[1].split("\\|");
for(String j: reasons) reasonsSet.add(j);
List<Set<String>> a = new ArrayList<Set<String>>();
a.add(mediciesSet);
a.add(reasonsSet);
return a;
}
}
return null;
}
}

@ -0,0 +1,63 @@
package com.example.PersonalCenter;
import android.util.Log;
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.ProtocolException;
import java.net.URL;
public class SearchServiceGet {
public static String executeSearchGet(String sickname,String address){
HttpURLConnection connection = null;
InputStream in = null;
String Url = "http://106.54.210.208:8080/ChineseM"+address;
String path = Url + "?sickname="+sickname;
URL url = null;
try {
url = new URL(path);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(100000);//建立连接超时
connection.setReadTimeout(80000);//传输数据超时
in = connection.getInputStream();
BufferedReader reader = null;//输入流
String line = "";//读取返回的每一行
StringBuilder response = new StringBuilder();
try {
reader = new BufferedReader(new InputStreamReader(in));
while((line = reader.readLine()) != null) {
response.append(line);
}
//这时候response就是一个连续字符串了吧
Log.i("response+++++",response+"返回值");
return response.toString();
//
} catch (IOException e) {
e.printStackTrace();
}finally {
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
}

@ -15,12 +15,15 @@ import android.widget.ListView;
import androidx.fragment.app.Fragment;
import com.example.PersonalCenter.Search;
import com.hankcs.hanlp.HanLP;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class SearchContent extends Fragment {
public static List<String[]> a;
public static List<Set<String>> a;
public static int k=0;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@ -31,7 +34,9 @@ public static int k=0;
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
EditText search_edit = getActivity().findViewById(R.id.search_edit);
//获取搜索内容然后用HanLP匹配提取关键词
EditText search_edit = getActivity().findViewById(R.id.search_edit);
ImageButton search_btn = (ImageButton) getActivity().findViewById(R.id.search_btn);
@ -40,23 +45,35 @@ public static int k=0;
Log.i("haha","=======Oncli");
//查找逻辑
String sickname = search_edit.getText().toString();
Search search = new Search(sickname);
new Thread(new Runnable() {
@Override
public void run() {
SearchContent.a = search.search();
SearchContent.a = search.search();//查找出来的是一个Set集合的List
SearchContent.k = 1;
}
}).start();
while(SearchContent.k==0) {Log.i("i","i");}
if(SearchContent.a!=null){
String[] medicines = a.get(0);
String[] reasons = a.get(1);
Set<String> medicinesSet = a.get(0);//获取药的集合
Set<String> reasons = a.get(1);
//要讲medicines改成String集合
// Object[] medicines = medicinesSet.toArray();
List<String> medicinesList = new ArrayList<String>();
for(String medicine: medicinesSet) medicinesList.add(medicine);
String[] medicines = medicinesList.toArray(new String[medicinesList.size()]);
ListView lv = getActivity().findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,medicines);
lv.setAdapter(adapter);
}else{
String[] kong = {};
ListView lv = getActivity().findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,kong);
lv.setAdapter(adapter);
}
SearchContent.k=0;
SearchContent.a=null;

Loading…
Cancel
Save