好看的搜索记录代码
时间: 2023-11-28 11:49:48 浏览: 8
以下是一个简单的搜索记录代码示例,它会将用户搜索的关键字记录到一个文本文件中:
```
import datetime
def log_search(keyword):
now = datetime.datetime.now()
log_file = 'search_log.txt'
with open(log_file, 'a') as f:
f.write(f'{now}: {keyword}\n')
# Example usage:
log_search('Python tutorial')
```
此示例中,`log_search`函数将搜索关键字记录到一个名为`search_log.txt`的文本文件中。每次调用该函数时,它都会将当前日期和时间与关键字一起写入文件中。`with`语句用于自动关闭文件,以确保写入操作已完成。
你可以根据需要修改该代码,例如添加更多日志信息或将日志记录到数据库中等。
相关问题
SearchView和RecyclerView 历史记录 搜索 完整代码
好的,以下是一个简单的搜索界面,包括SearchView和RecyclerView,可以保存搜索历史记录。
首先,我们需要在布局文件中添加SearchView和RecyclerView:
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
```
接下来,我们需要创建一个适配器来显示搜索历史记录:
```
public class HistoryAdapter extends RecyclerView.Adapter<HistoryAdapter.ViewHolder> {
private List<String> mList;
private OnItemClickListener mListener;
public HistoryAdapter(List<String> list, OnItemClickListener listener) {
mList = list;
mListener = listener;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_history, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String item = mList.get(position);
holder.textView.setText(item);
holder.itemView.setOnClickListener(v -> {
if (mListener != null) {
mListener.onItemClick(item);
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
public interface OnItemClickListener {
void onItemClick(String text);
}
}
```
然后,我们需要在MainActivity中设置SearchView和RecyclerView,并实现保存搜索历史记录的逻辑:
```
public class MainActivity extends AppCompatActivity implements HistoryAdapter.OnItemClickListener {
private SearchView mSearchView;
private RecyclerView mRecyclerView;
private HistoryAdapter mAdapter;
private List<String> mHistoryList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSearchView = findViewById(R.id.searchView);
mRecyclerView = findViewById(R.id.recyclerView);
mHistoryList = new ArrayList<>();
mAdapter = new HistoryAdapter(mHistoryList, this);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(mAdapter);
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// 在这里处理搜索逻辑
if (!mHistoryList.contains(query)) {
mHistoryList.add(0, query);
mAdapter.notifyDataSetChanged();
}
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
}
@Override
public void onItemClick(String text) {
mSearchView.setQuery(text, true);
}
}
```
最后,我们还需要添加一个item_history布局文件,用于显示搜索历史记录:
```
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="16sp" />
```
这样,我们就完成了一个简单的搜索界面,包括SearchView和RecyclerView,可以保存搜索历史记录。
原生js包括历史搜索记录的搜索功能代码
以下是一个简单的原生JavaScript示例,用于实现历史搜索记录的搜索功能:
HTML:
```
<input type="text" id="searchBox">
<button id="searchBtn">搜索</button>
<ul id="searchHistory"></ul>
```
JavaScript:
```
// 获取搜索框、搜索按钮和搜索历史记录的元素
var searchBox = document.getElementById("searchBox");
var searchBtn = document.getElementById("searchBtn");
var searchHistory = document.getElementById("searchHistory");
// 监听搜索按钮的点击事件
searchBtn.addEventListener("click", function() {
// 获取搜索关键字
var keyword = searchBox.value.trim();
if (keyword) {
// 将关键字添加到搜索历史记录中
var li = document.createElement("li");
li.innerText = keyword;
searchHistory.appendChild(li);
// 清空搜索框中的内容
searchBox.value = "";
}
});
// 监听搜索历史记录的点击事件
searchHistory.addEventListener("click", function(event) {
// 如果点击的是搜索历史记录中的某个关键字,则将该关键字填充到搜索框中
if (event.target.tagName === "LI") {
searchBox.value = event.target.innerText;
}
});
```
此示例仅实现了基本的搜索历史记录功能,您可以根据需要进行更改和扩展。