实例介绍
【实例简介】客户端为android java代码,服务端为php语言实现,有sql文件
【实例截图】
【核心代码】
package cn.gdou.edu;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import cn.gdou.edu.data.SearchBook;
import cn.gdou.edu.net.JsoupUtils;
import cn.gdou.edu.net.LibAPI;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class SearchActivity extends BaseActivity {
private ListView list;
private EditText search_edit;
private LibAPI lib;
private ProgressDialog mypDialog;
private List<Map<String, String>> datelist;
private Button top_back;
private Button next;
private Button pre;
private TextView sum_number;
private TextView page_number;
private double sum = 0;
private int n = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
sum_number = (TextView) findViewById(R.id.sum_number);
page_number = (TextView) findViewById(R.id.page_number);
next = (Button) findViewById(R.id.next);
pre = (Button) findViewById(R.id.pre);
mypDialog = new ProgressDialog(SearchActivity.this);
mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mypDialog.setTitle("搜索");
mypDialog.setMessage("正在查找...");
mypDialog.setIndeterminate(false);
top_back = (Button) findViewById(R.id.top_back);
// 下一页
next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (n >= Math.ceil(sum / 20)) {
return;
}
loadBookInfo load = new loadBookInfo();
load.execute(search_edit.getText().toString().trim(),
new String("next"));
}
});
// 前一页
pre.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (n <= 1) {
return;
}
loadBookInfo load = new loadBookInfo();
load.execute(search_edit.getText().toString().trim(),
new String("next"), new String("pre"));
}
});
list = (ListView) findViewById(R.id.search_section_list);
search = (ImageButton) findViewById(R.id.search);
search_edit = (EditText) findViewById(R.id.search_edit);
search.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
loadBookInfo load = new loadBookInfo();
load.execute(search_edit.getText().toString().trim());
// lib=new LibAPI();
// lib.searchBook("ANYWORDS",
// search_edit.getText().toString().trim());
}
});
}
class loadBookInfo extends AsyncTask<String, ListView, List<SearchBook>> {
@Override
protected void onPreExecute() {
InputMethodManager im = (InputMethodManager) getSystemService(getApplicationContext().INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getCurrentFocus()
.getApplicationWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
mypDialog.show();
super.onPreExecute();
}
@Override
protected List<SearchBook> doInBackground(String... params) {
lib = new LibAPI();
System.out.println("length:" params.length);
if (params.length == 3) {
n--;
return lib.searchBook("ANYWORDS", params[0], n);
}
if (params.length == 2) {
n ;
return lib.searchBook("ANYWORDS", params[0], n);
} else {
return lib.searchBook("ANYWORDS", params[0]);
}
}
@Override
protected void onPostExecute(List<SearchBook> result) {
sum = JsoupUtils.getSearchNumber();
sum_number.setText((int) sum "");
page_number.setText(n "/" (int) Math.ceil(sum / 20));
mypDialog.cancel();
datelist = new ArrayList<Map<String, String>>();
Iterator<SearchBook> it = result.iterator();
while (it.hasNext()) {
Map<String, String> map = new HashMap<String, String>();
SearchBook book = it.next();
map.put("title", book.getName());
map.put("writer", book.getWriter());
map.put("date", book.getDate());
map.put("min", book.getMin());
map.put("max", book.getMax());
map.put("publish", book.getPublish());
map.put("system_number", book.getSystemnumber());
datelist.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(),
datelist, R.layout.search_view, new String[] { "title",
"writer", "date", "publish", "max", "min",
"system_number" }, new int[] { R.id.Title,
R.id.writer, R.id.date, R.id.publish, R.id.max,
R.id.min, R.id.system_number });
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent();
intent.putExtra("number", ((TextView) view
.findViewById(R.id.system_number)).getText());
intent.putExtra("bookname", ((TextView) view
.findViewById(R.id.Title)).getText());
intent.putExtra("date",
((TextView) view.findViewById(R.id.date)).getText());
intent.putExtra("publish", ((TextView) view
.findViewById(R.id.publish)).getText());
intent.setClass(getApplicationContext(),
Search_book_info.class);
startActivityForResult(intent, RESULT_OK);
}
});
super.onPostExecute(result);
}
}
}
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论