发布于2023-09-20 21:25 阅读(1092) 评论(0) 点赞(9) 收藏(0)
我是 Android 编程新手,我正在制作一个应用程序,该应用程序具有服务器端数据库,其中包含药物名称列表,每种药物都有其特定的参考 ID 。现在我想要的是,当用户通过单击按钮搜索药物名称时,它应该运行数据库搜索,并根据药物是否存在于数据库中以及输入的特定参考 ID 来返回值。我应该怎么做才能做到这一点..我被参考 ID 问题困在这里,它不是获取参考 ID 只是查询药物名称?如果出错请提出您的建议。
//This is my SecondActivity.java
public class SecondActivity extends AppCompatActivity implements View.OnClickListener {
final String LOG = "SecondActivity";
Button btnCheck;
EditText etDrugname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
etDrugname = (EditText) findViewById(R.id.etDrugname);
btnCheck = (Button) findViewById(R.id.btnCheck);
btnCheck.setOnClickListener(this);
}
@Override
public void onClick(View v) {
HashMap postData = new HashMap();
String Drugname = etDrugname.getText().toString();
postData.put("txtDrugname", Drugname);
PostResponseAsyncTask task1 = new PostResponseAsyncTask(SecondActivity.this, postData,
new AsyncResponse() {
@Override
public void processFinish(String s) {
Log.d(LOG, s);
if (s.contains("Drug found")) {
Intent intent = new Intent(SecondActivity.this, DisplayActivity.class);
intent.putExtra("Drugname", etDrugname.getText().toString());
startActivity(intent);
} else {
Intent intent = new Intent(SecondActivity.this, Display2Activity.class);
intent.putExtra("Drugname", etDrugname.getText().toString());
startActivity(intent);
}
}
});
task1.execute("http://www.e-bioinformatics.net/db/utipedia/test/login2.php");
}
}
// 这是我的 DisplayActivity.java,我希望结果出现在其中
`
ListView lv;
//ListView PMID1;
ArrayAdapter<String> adapter;
String address = "http://www.e-bioinformatics.net/db/utipedia/test/login2.php";
InputStream is = null;
String line = null;
String result = null;
String[] data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
TextView result = (TextView) findViewById(R.id.result);
result.setText(getIntent().getExtras().getString("Drugname"));
lv = (ListView) findViewById(PMID);
StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder().permitNetwork().build()));
getData();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
lv.setAdapter(adapter);
private void getData() {
try {
URL url = new URL(address);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
is = new BufferedInputStream(connection.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
try {
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
try {
JSONArray ja = new JSONArray(result);
JSONObject jo;
data = new String[ja.length()];
for (int i = 0; i < ja.length(); i++) {
jo = ja.getJSONObject(i);
data[i] = jo.getString("Referenceid");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
//this is my php script
<?php
$input= $_POST['txtDrugname'];
$input = strtolower($input);
if($input == ''){
echo "OOPS! It seems the input section is left blank. <br>please submit the <b>drug name.</b>";
}else{
/* $ucaredb = mysql_connect("localhost", "ebioinfo_ucare", "admin_ucare")
or die(mysql_error());*/
$utidb = mysql_connect("localhost", "ebioinfo_uti0912", "uti@097")
or die(mysql_error());
mysql_select_db("ebioinfo_utipedia",$utidb);
/*
$sql_antibiotics = "SELECT * FROM antibiotics";
$result_antibiotics = mysql_query($sql_antibiotics, $ucaredb);
$sql_resistancegene = "SELECT * FROM resistancegene";
$result_resistancegene = mysql_query($sql_resistancegene, $ucaredb);*/
$sql_drug = "SELECT * FROM UTIPEDIA";
$result_drug = mysql_query($sql_drug, $utidb);
$i=0;
while ($row_drug = mysql_fetch_array($result_drug))
{
$resistance_drug = $row_drug['Drugname'];
$resistance_drug = strtolower($resistance_drug);
$resistance_ref = $row_drug['Referenceid'];
$part = explode(',', $resistance_ref);
if($input == $resistance_drug)
{
$i=1;
echo "Drug found";
echo "<h2><b>$input</b> is resistant against <i>Escherichia coli.</i></h2> <br>For further details see the following bibliography: ";
//echo "$resistance_ref";
print(json_encode($resistance_ref));
}
}if($i !=1){echo "$input is not found in the database!";}
}
作者:黑洞官方问答小能手
链接:http://www.phpheidong.com/blog/article/548958/6e63ca49d1130ba8b83f/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!