政策查询系统(安卓)5
1.新学期目标2.打卡3.打卡24.打卡35.打卡 46.打卡57.打卡68.打卡79.打卡810.打卡911.打卡1012.结对作业(地铁查询项目)0113.结对作业(地铁项目)0214.结对作业(地铁项目)0315.结对作业(地铁项目)0416.结对作业(地铁项目)0517.结对作业(地铁项目)0618.结对作业(地铁项目)0719.结对作业(地铁项目)0820.结对作业(地铁项目)0921.结对作业(地铁项目)1022.结对作业(地铁项目)1123.结对作业(地铁项目)1224.结对作业(地铁项目)1325.结对作业(地铁项目)1426.五一冲刺(政策查询系统)127.五一冲刺(政策查询系统)228.政策查询系统(安卓)129.政策查询系统(安卓)230.政策查询系统(安卓)331.政策查询系统(安卓)4
32.政策查询系统(安卓)5
33.政策查询系统(安卓)634.政策查询系统(安卓)735.JS开发36.安卓app开发相关37.第一次个人作业(安卓学习记录系统)0138.第一次个人作业(安卓学习记录系统)0239.第一次个人作业(安卓学习记录系统)0340.第一次个人作业(安卓学习记录系统)0441.第一次个人作业(安卓学习记录系统)0542.第一次个人作业(安卓学习记录系统)0643.第一次个人作业(安卓学习记录系统)0744.打卡1145.打卡1246.打卡1347.打卡1448.打卡1549.打卡1650.打卡1751.打卡1852.打卡1953.打卡2054.python学习55.python学习256.python学习357.Javaweb58.打卡2159.fragment学习和使用60.mybits学习161.mybits学习262.mybits学习363.课程总结64.个人总结编写安卓内部运行的代码
MainActivity
package com.example.policyquery;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.example.policyquery.api.ApiService;
import com.example.policyquery.api.RetrofitClient;
import com.example.policyquery.DataModel.Policy;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class MainActivity extends AppCompatActivity {
private LinearLayout llOverview;
private LinearLayout llCategory;
private ListView policyListView;
private AutoCompleteTextView searchInput;
private TextView resultTextView;
private ApiService apiService;
private ArrayAdapter<String> policyAdapter;
private List<Policy> policyList;
private List<String> policyNames;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化视图
llOverview = findViewById(R.id.LL1);
llCategory = findViewById(R.id.LL2);
policyListView = findViewById(R.id.policyListView);
searchInput = findViewById(R.id.searchInput);
resultTextView = findViewById(R.id.resultTextView);
Button overviewButton = findViewById(R.id.overviewButton);
Button categoryButton = findViewById(R.id.categoryButton);
Button searchButton = findViewById(R.id.searchButton);
// 初始化ApiService
apiService = RetrofitClient.getRetrofitInstance().create(ApiService.class);
// 初始化政策列表和适配器
policyList = new ArrayList<>();
policyNames = new ArrayList<>();
policyAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, policyNames);
policyListView.setAdapter(policyAdapter);
// 在程序启动时调用getAllPolicies
getAllPolicies();
// 设置按钮点击事件监听器
overviewButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 显示政策概览界面,隐藏政策分类界面
llOverview.setVisibility(View.VISIBLE);
llCategory.setVisibility(View.GONE);
}
});
categoryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 显示政策分类界面,隐藏政策概览界面
llOverview.setVisibility(View.GONE);
llCategory.setVisibility(View.VISIBLE);
// 可以在这里添加获取政策分类的方法
}
});
searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 执行查询操作
performSearch();
}
});
// 设置政策名称点击事件监听器
policyListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 跳转到详情页
Intent intent = new Intent(MainActivity.this, PolicyDetailActivity.class);
Policy selectedPolicy = policyList.get(position);
intent.putExtra("policyId", selectedPolicy.getId());
intent.putExtra("policyName", selectedPolicy.getName());
intent.putExtra("policyType", selectedPolicy.getType());
intent.putExtra("policyCategory", selectedPolicy.getCategory());
intent.putExtra("policyRange", selectedPolicy.getRange());
intent.putExtra("policyDocument", selectedPolicy.getDocument());
intent.putExtra("policyForm", selectedPolicy.getForm());
intent.putExtra("policyOrgan", selectedPolicy.getOrgan());
intent.putExtra("policyText", selectedPolicy.getText());
startActivity(intent);
}
});
}
private void getAllPolicies() {
apiService.getAllPolicies().enqueue(new Callback<List<Policy>>() {
@Override
public void onResponse(Call<List<Policy>> call, Response<List<Policy>> response) {
if (response.isSuccessful() && response.body() != null) {
List<Policy> policies = response.body();
// 将政策添加到列表中并更新适配器
policyList.clear();
policyNames.clear();
policyList.addAll(policies);
for (Policy policy : policies) {
policyNames.add(policy.getName());
}
policyAdapter.notifyDataSetChanged();
} else {
Log.e("MainActivity", "获取政策数据失败");
}
}
@Override
public void onFailure(Call<List<Policy>> call, Throwable t) {
Log.e("MainActivity", "网络请求失败", t);
}
});
}
private void performSearch() {
String query = searchInput.getText().toString();
apiService.queryPolicy(query).enqueue(new Callback<List<Policy>>() {
@Override
public void onResponse(Call<List<Policy>> call, Response<List<Policy>> response) {
if (response.isSuccessful() && response.body() != null) {
List<Policy> policies = response.body();
// 显示查询结果并更新政策列表
policyList.clear();
policyNames.clear();
policyList.addAll(policies);
for (Policy policy : policies) {
policyNames.add(policy.getName());
}
policyAdapter.notifyDataSetChanged();
} else {
Log.e("MainActivity", "查询政策数据失败");
}
}
@Override
public void onFailure(Call<List<Policy>> call, Throwable t) {
Log.e("MainActivity", "网络请求失败", t);
}
});
}
}
PolicyDetailActivity
package com.example.policyquery;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class PolicyDetailActivity extends AppCompatActivity {
private TextView policyDetailTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_policy_detail);
policyDetailTextView = findViewById(R.id.policyDetailTextView);
// 获取传递过来的政策详细信息
String policyId = getIntent().getStringExtra("policyId");
String policyName = getIntent().getStringExtra("policyName");
String policyType = getIntent().getStringExtra("policyType");
String policyCategory = getIntent().getStringExtra("policyCategory");
String policyRange = getIntent().getStringExtra("policyRange");
String policyDocument = getIntent().getStringExtra("policyDocument");
String policyForm = getIntent().getStringExtra("policyForm");
String policyOrgan = getIntent().getStringExtra("policyOrgan");
String policyText = getIntent().getStringExtra("policyText");
// 显示政策详细信息
StringBuilder sb = new StringBuilder();
sb.append("<p><strong>政策 ID:</strong> ").append(policyId).append("</p>");
sb.append("<p><strong>政策名称:</strong> ").append(policyName).append("</p>");
sb.append("<p><strong>政策类型:</strong> ").append(policyType).append("</p>");
sb.append("<p><strong>政策分类:</strong> ").append(policyCategory).append("</p>");
sb.append("<p><strong>适用范围:</strong> ").append(policyRange).append("</p>");
sb.append("<p><strong>政策文件:</strong> ").append(policyDocument).append("</p>");
sb.append("<p><strong>政策形式:</strong> ").append(policyForm).append("</p>");
sb.append("<p><strong>发布机构:</strong> ").append(policyOrgan).append("</p>");
sb.append("<p><strong>政策内容:</strong><br>").append(policyText).append("</p>");
// 使用 Html.fromHtml 来解析 HTML 字符串
policyDetailTextView.setText(Html.fromHtml(sb.toString(), Html.FROM_HTML_MODE_LEGACY));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效