Merge remote-tracking branch 'origin/master'

ongbodev
PSY-00 6 years ago
commit 32f3f0b4c8

@ -0,0 +1,47 @@
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;
}
}

@ -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 "";
}
}

@ -69,6 +69,7 @@ public class LoginActivity extends AppCompatActivity {
} }
if (!LoginActivity.username.equals("")) { if (!LoginActivity.username.equals("")) {
finish();//返回个人中心Activity finish();//返回个人中心Activity
//刷新个人中心Activity //刷新个人中心Activity
Log.i("成功", "成功了"); Log.i("成功", "成功了");

@ -1,14 +1,33 @@
package com.example.cmknowledgegraph; package com.example.cmknowledgegraph;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.example.PersonalCenter.Search;
public class SearchActivity extends AppCompatActivity { public class SearchActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search); setContentView(R.layout.activity_search);
EditText search_edit_frame = findViewById(R.id.search_edit);
ImageButton search_btn = findViewById(R.id.search_btn);
String sickname = search_edit_frame.getText().toString();
search_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Search search = new Search(sickname);
// search.search();
}
});
} }
} }

@ -2,17 +2,29 @@ package com.example.cmknowledgegraph;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ListView;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
public class SearchContent extends 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<Set<String>> a;
public static int k=0;
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
// Inflate the layout for this fragment // Inflate the layout for this fragment
@ -22,10 +34,51 @@ public class SearchContent extends Fragment {
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
//获取搜索内容然后用HanLP匹配提取关键词
EditText search_edit = getActivity().findViewById(R.id.search_edit);
ImageButton search_btn = (ImageButton) getActivity().findViewById(R.id.search_btn); ImageButton search_btn = (ImageButton) getActivity().findViewById(R.id.search_btn);
search_btn.setOnClickListener(new View.OnClickListener() { search_btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { public void onClick(View v) {
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();//查找出来的是一个Set集合的List
SearchContent.k = 1;
}
}).start();
while(SearchContent.k==0) {Log.i("i","i");}
if(SearchContent.a!=null){
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;
} }
}); });
} }

@ -12,6 +12,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="101dp"> android:layout_marginTop="101dp">
<EditText <EditText
android:id="@+id/search_edit"
android:layout_width="250dp" android:layout_width="250dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="80dp" android:layout_marginLeft="80dp"
@ -85,9 +86,12 @@
android:text="感冒发烧" android:text="感冒发烧"
android:background="#FFDEAD"/> android:background="#FFDEAD"/>
</GridLayout> </GridLayout>
<ImageView <!-- <ImageView-->
android:layout_width="wrap_content" <!-- android:layout_width="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:src="@drawable/search_back"/> <!-- android:src="@drawable/search_back"/>-->
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout> </LinearLayout>

Loading…
Cancel
Save