下载地址:https://www.pan38.com/share.php?code=pvvmX 提取码:8888
声明:仅用于学习测试用途!!!!
包含手机号生成、批量生成、格式验证和CSV导出功能。支持自定义前缀过滤,可以生成符合中国手机号格式的随机号码。
<?xml version="1.0" encoding="utf-8"?>
public class NearbyActivity extends AppCompatActivity {
private GoogleMap mMap;
private RecyclerView recyclerView;
private NearbyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nearby);
// 初始化地图
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
// 初始化列表
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
adapter = new NearbyAdapter(new ArrayList<>());
recyclerView.setAdapter(adapter);
// 加载附近人数据
loadNearbyPeople();
}
private void loadNearbyPeople() {
// 这里调用后台API获取附近人数据
List<User> nearbyUsers = NearbyPeopleFinder.findNearbyUsers(
currentUser, allUsers, 5.0);
adapter.updateData(nearbyUsers);
addMarkersToMap(nearbyUsers);
}
private void addMarkersToMap(List<User> users) {
if(mMap == null) return;
mMap.clear();
for(User user : users) {
mMap.addMarker(new MarkerOptions()
.position(new LatLng(user.getLatitude(), user.getLongitude()))
.title(user.getName()));
}
}
}
xml version="1.0" encoding="utf-8"?>
class NearbyAdapter extends RecyclerView.Adapter {
private List users;
public NearbyAdapter(List<User> users) {
this.users = users;
}
public void updateData(List<User> newUsers) {
this.users = newUsers;
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_nearby_user, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
User user = users.get(position);
holder.nameText.setText(user.getName());
holder.distanceText.setText(String.format("%.1fkm", user.getDistance()));
// 加载头像等操作
}
static class ViewHolder extends RecyclerView.ViewHolder {
TextView nameText, distanceText;
ImageView avatarImage;
public ViewHolder(View itemView) {
super(itemView);
nameText = itemView.findViewById(R.id.name);
distanceText = itemView.findViewById(R.id.distance);
avatarImage = itemView.findViewById(R.id.avatar);
}
}
}