跟着第一行代码敲酷欧天气,遇到了一个问题,但又没报错。请求帮助。

edcSam 2016-08-17 11:16:43
package com.coolweather.app.activity;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.coolweather.app.R;
import com.coolweather.app.db.CoolWeatherDB;
import com.coolweather.app.model.City;
import com.coolweather.app.model.County;
import com.coolweather.app.model.Province;
import com.coolweather.app.util.HttpCallbackListener;
import com.coolweather.app.util.HttpUtil;
import com.coolweather.app.util.Utility;

import java.util.ArrayList;
import java.util.List;

/**
* Created by samyang on 2016/8/12.
*/
public class ChooseAreaActivity extends Activity {

public static final int LEVEL_PROVINCE = 0;
public static final int LEVEL_CITY = 1;
public static final int LEVEL_COUNTY = 2;

private ProgressDialog progressDialog;
private TextView titleText;
private ListView listView;
private ArrayAdapter<String> adapter;
private CoolWeatherDB coolWeatherDB;
private List<String> dataList = new ArrayList<String>();
/**
* 省列表
*/
private List<Province> provinceList;
/**
* 市列表
*/
private List<City> cityList;
/**
* 县列表
*/
private List<County> countyList;
/**
* 选中的省份
*/
private Province selectedProvince;
/**
* 选中的城市
*/
private City selectedCity;
/**
* 选中的级别
*/
private int currentLevel;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.choose_area);
listView = (ListView) findViewById(R.id.list_view);
titleText = (TextView) findViewById(R.id.title_text);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dataList);
listView.setAdapter(adapter);
coolWeatherDB = CoolWeatherDB.getInstance(this);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int index, long arg3) {
if (currentLevel == LEVEL_PROVINCE) {
selectedProvince = provinceList.get(index);
queryCities();
}else if (currentLevel == LEVEL_CITY) {
selectedCity = cityList.get(index);
queryCounties();
}
}
});
queryProvinces();
}

/**
* 查询全国所有的省,优先从数据库查询,如果没有查询到再去服务器上查询。
*/
private void queryProvinces() {
provinceList = coolWeatherDB.loadProvinces();
if (provinceList.size() > 0) {
dataList.clear();
for (Province province : provinceList) {
dataList.add(province.getProvinceName());
}
adapter.notifyDataSetChanged();
listView.setSelection(0);
titleText.setText("中国");
currentLevel = LEVEL_PROVINCE;
}else {
queryFromServer(null, "province");
}
}

/**
* 查询选中省份内所有的市,优先从数据库查询,如果没有查询到再去服务器上查询。
*/
private void queryCities() {
cityList = coolWeatherDB.loadCities(selectedProvince.getId());
if (cityList.size() > 0) {
dataList.clear();
for (City city : cityList) {
dataList.add(city.getCityName());
}
adapter.notifyDataSetChanged();
listView.setSelection(0);
titleText.setText(selectedProvince.getProvinceName());
currentLevel = LEVEL_CITY;
}else {
queryFromServer(selectedProvince.getProvinceCode(), "city");
}
}

/**
* 查询选中市内所有的县,优先从数据库查询,如果没有查询到再去服务器上查询。
*/
private void queryCounties() {
countyList = coolWeatherDB.loadCounties(selectedCity.getId());
if (countyList.size() > 0) {
dataList.clear();
for (County county : countyList) {
dataList.add(county.getCountyName());
}
adapter.notifyDataSetChanged();
listView.setSelection(0);
titleText.setText(selectedCity.getCityName());
currentLevel = LEVEL_COUNTY;
}else {
queryFromServer(selectedCity.getCityCode(), "county");
}
}
/**
* 根据传入的代号和类型从服务器上查询省市县数据。
*/
private void queryFromServer(final String code, final String type) {
String address;
if (!TextUtils.isEmpty(code)) {
address = "http://www.weather.com.cn/data/list3/city" + code + ".xml";
}else {
address = "http://www.weather.com.cn/data/list3/city.xml";
}
showProgressDialog();
HttpUtil.sendHttpRequest(address, new HttpCallbackListener() {
@Override
public void onFinish(String response) {
boolean result = false;
if ("province".equals(type)) {
result = Utility.handleProvincesResponse(coolWeatherDB, response);
}else if ("city".equals(type)) {
result = Utility.handleCitiesResponse(coolWeatherDB, response, selectedProvince.getId());
}else if ("county".equals(type)){
result = Utility.handleCountiesResponse(coolWeatherDB, response, selectedCity.getId());
}
if (result) {
//通过runOnUiThread()方法回到主线程处理逻辑
runOnUiThread(new Runnable() {
@Override
public void run() {
closeProgressDialog();
if ("province".equals(type)) {
queryProvinces();
}else if ("city".equals(type)) {
queryCities();
}else if ("county".equals(type)) {
queryCounties();
}
}
});
}
}

@Override
public void onError(Exception e) {
//通过runOnUiThread()方法回到主线程处理逻辑
runOnUiThread(new Runnable() {
@Override
public void run() {
closeProgressDialog();
Toast.makeText(ChooseAreaActivity.this, "加载失败", Toast.LENGTH_SHORT).show();
}
});

}
});
}

/**
* 显示进度对话框
*/
private void showProgressDialog() {
if (progressDialog == null) {
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("正在加载...");
progressDialog.setCanceledOnTouchOutside(false);
}
progressDialog.show();
}

/**
* 关闭进度对话框
*/
private void closeProgressDialog() {
if (progressDialog != null) {
progressDialog.dismiss();
}
}

/**
* 捕获Back按键,根据当前的级别来判断,此时应该返回市列表、省列表、还是直接退出。
*/
@Override
public void onBackPressed() {
if (currentLevel == LEVEL_COUNTY) {
queryCities();
}else if (currentLevel == LEVEL_CITY) {
queryProvinces();
}else {
finish();
}
}
}
...全文
7113 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
YXTS122 2018-02-17
  • 打赏
  • 举报
回复
改天我也来运行一下哈。。。。。。。。。
阴鸦 2018-02-03
  • 打赏
  • 举报
回复
Application com.example.ai.myapplication is waiting for the debugger on port 8100...这个问题怎么解决啊,
DossShi 2017-08-03
  • 打赏
  • 举报
回复
choose_area.xml与ChooseAreaFragment是在com.coolweather.android上New -> Fragment -> Fragment(blank) 出来的。并不是单独创建的Layout resource file、Java Class
Leehuihui24 2017-04-30
  • 打赏
  • 举报
回复
老哥们,我也出现了这样的问题了,在省级列表点一个黑龙江,然后一直跳屏显示正在加载,看LogCat里能读出黑龙江下面的几个县,可是为什么跳不到那个列表?谁遇到同样的问题帮忙解决一下 04-30 03:06:48.355: I/System.out(851): Sending WAIT chunk 04-30 03:06:48.365: I/dalvikvm(851): Debugger is active 04-30 03:06:48.556: I/System.out(851): Debugger has connected 04-30 03:06:48.556: I/System.out(851): waiting for debugger to settle... 04-30 03:06:48.767: I/System.out(851): waiting for debugger to settle... 04-30 03:06:48.965: I/System.out(851): waiting for debugger to settle... 04-30 03:06:49.165: I/System.out(851): waiting for debugger to settle... 04-30 03:06:49.365: I/System.out(851): waiting for debugger to settle... 04-30 03:06:49.599: I/System.out(851): waiting for debugger to settle... 04-30 03:06:49.856: I/System.out(851): waiting for debugger to settle... 04-30 03:06:50.083: I/System.out(851): waiting for debugger to settle... 04-30 03:06:50.312: I/System.out(851): waiting for debugger to settle... 04-30 03:06:50.539: I/System.out(851): waiting for debugger to settle... 04-30 03:06:50.735: I/System.out(851): debugger has settled (1409) 04-30 03:06:51.035: D/ChooseAreaActivity(851): isFromWeatherActivity=false 04-30 03:06:51.536: I/CoolWeatherDB(851): dbHelper create success 04-30 03:06:51.616: I/CoolWeatherDB(851): db create success 04-30 03:06:52.425: D/dalvikvm(851): GC_FOR_ALLOC freed 88K, 5% free 2931K/3068K, paused 28ms, total 38ms 04-30 03:06:56.705: D/dalvikvm(851): GC_FOR_ALLOC freed 38K, 3% free 3404K/3492K, paused 28ms, total 29ms 04-30 03:06:59.625: I/Choreographer(851): Skipped 139 frames! The application may be doing too much work on its main thread. 04-30 03:06:59.686: D/gralloc_goldfish(851): Emulator without GPU emulation detected. 04-30 03:07:00.825: I/Choreographer(851): Skipped 255 frames! The application may be doing too much work on its main thread. 04-30 03:07:01.456: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:01.456: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:01.627: I/Choreographer(851): Skipped 59 frames! The application may be doing too much work on its main thread. 04-30 03:07:02.215: I/Choreographer(851): Skipped 147 frames! The application may be doing too much work on its main thread. 04-30 03:07:02.966: D/dalvikvm(851): GC_FOR_ALLOC freed 122K, 5% free 3797K/3968K, paused 111ms, total 127ms 04-30 03:07:03.035: I/Choreographer(851): Skipped 129 frames! The application may be doing too much work on its main thread. 04-30 03:07:03.235: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:03.285: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:04.307: I/Choreographer(851): Skipped 95 frames! The application may be doing too much work on its main thread. 04-30 03:07:04.307: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:04.316: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:05.125: I/Choreographer(851): Skipped 35 frames! The application may be doing too much work on its main thread. 04-30 03:07:05.576: I/Choreographer(851): Skipped 108 frames! The application may be doing too much work on its main thread. 04-30 03:07:05.576: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:05.576: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:05.745: I/Choreographer(851): Skipped 33 frames! The application may be doing too much work on its main thread. 04-30 03:07:06.275: I/Choreographer(851): Skipped 38 frames! The application may be doing too much work on its main thread. 04-30 03:07:06.655: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:06.695: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:06.757: I/Choreographer(851): Skipped 81 frames! The application may be doing too much work on its main thread. 04-30 03:07:07.785: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:07.827: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:07.895: I/Choreographer(851): Skipped 107 frames! The application may be doing too much work on its main thread. 04-30 03:07:08.975: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:08.995: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:09.145: I/Choreographer(851): Skipped 115 frames! The application may be doing too much work on its main thread. 04-30 03:07:09.866: I/Choreographer(851): Skipped 48 frames! The application may be doing too much work on its main thread. 04-30 03:07:10.295: I/Choreographer(851): Skipped 98 frames! The application may be doing too much work on its main thread. 04-30 03:07:10.305: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:10.305: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:11.186: I/Choreographer(851): Skipped 63 frames! The application may be doing too much work on its main thread. 04-30 03:07:11.755: I/Choreographer(851): Skipped 112 frames! The application may be doing too much work on its main thread. 04-30 03:07:11.896: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:11.896: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:11.975: I/Choreographer(851): Skipped 34 frames! The application may be doing too much work on its main thread. 04-30 03:07:12.606: I/Choreographer(851): Skipped 41 frames! The application may be doing too much work on its main thread. 04-30 03:07:13.075: I/Choreographer(851): Skipped 112 frames! The application may be doing too much work on its main thread. 04-30 03:07:13.115: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:13.115: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:13.265: I/Choreographer(851): Skipped 40 frames! The application may be doing too much work on its main thread. 04-30 03:07:14.296: D/dalvikvm(851): GC_FOR_ALLOC freed 442K, 12% free 3869K/4360K, paused 215ms, total 254ms 04-30 03:07:14.515: I/Choreographer(851): Skipped 135 frames! The application may be doing too much work on its main thread. 04-30 03:07:14.565: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:07:14.645: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:46.186: I/Choreographer(851): Skipped 35 frames! The application may be doing too much work on its main thread. 04-30 03:15:46.795: I/Choreographer(851): Skipped 117 frames! The application may be doing too much work on its main thread. 04-30 03:15:46.975: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:46.975: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:47.566: I/Choreographer(851): Skipped 32 frames! The application may be doing too much work on its main thread. 04-30 03:15:47.975: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:47.996: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:48.105: I/Choreographer(851): Skipped 116 frames! The application may be doing too much work on its main thread. 04-30 03:15:49.116: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:49.116: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:49.195: I/Choreographer(851): Skipped 102 frames! The application may be doing too much work on its main thread. 04-30 03:15:50.326: I/Choreographer(851): Skipped 98 frames! The application may be doing too much work on its main thread. 04-30 03:15:50.346: D/HttpUnil(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:50.346: D/unility response(851): 0601|长春,0602|吉林,0603|延吉,0604|四平,0605|通化,0606|白城,0607|辽源,0608|松原,0609|白山 04-30 03:15:50.805: W/jdwp(851): Debugger is telling the VM to exit with code=1 04-30 03:15:50.805: I/dalvikvm(851): GC lifetime allocation: 16614 bytes 04-30 03:16:09.625: W/ActivityThread(937): Application com.example.easyweather is waiting for the debugger on port 8100...
qq_36447425 2016-12-23
  • 打赏
  • 举报
回复
我是到第三级的县的时候只显示第一条的数据,也就是说所有的市下面的县级列表都是只有一个对应的数据,你们谁遇到了???
月满轩尼诗丶 2016-10-13
  • 打赏
  • 举报
回复
引用 5 楼 edcSam 的回复:
我申请了网络权限的哈,还有address没有错哦。 不过问题已经解决啦,在另外一个文件中的传值没弄好。
我是到加载天气的时候没有数据显示 可以看一下你的源码吗
csdn_justin 2016-10-09
  • 打赏
  • 举报
回复
怎么解决的,我也出现这个情况。网络权限什么的都添加了
edcSam 2016-08-24
  • 打赏
  • 举报
回复
我申请了网络权限的哈,还有address没有错哦。 不过问题已经解决啦,在另外一个文件中的传值没弄好。
qq_28600151 2016-08-18
  • 打赏
  • 举报
回复
address写错了吧,有的不要斜杠的
楠之枫雪 2016-08-17
  • 打赏
  • 举报
回复
No Network Security Config specified, 没有加网络权限吧
edcSam 2016-08-17
  • 打赏
  • 举报
回复
我跟着第一行代码敲了最后那个实战酷欧天气。程序运行之后,省份列表能读出来,但是点击listview子项之后,显示加载失败。而且logcat仅是这样而已,我找不到原因在哪儿。
edcSam 2016-08-17
  • 打赏
  • 举报
回复
08-17 02:10:02.714 2474-2474/com.coolweather.app I/art: Not late-enabling -Xcheck:jni (already on) 08-17 02:10:02.714 2474-2474/com.coolweather.app W/art: Unexpected CPU variant for X86 using defaults: x86_64 08-17 02:10:02.841 2474-2474/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 02:10:03.374 2474-2481/com.coolweather.app W/art: Suspending all threads took: 6.227ms 08-17 02:10:03.700 2474-2474/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 02:10:04.032 2474-2536/com.coolweather.app I/OpenGLRenderer: Initialized EGL, version 1.4 08-17 02:10:04.032 2474-2536/com.coolweather.app D/OpenGLRenderer: Swap behavior 1 08-17 02:10:07.587 2474-2801/com.coolweather.app D/NetworkSecurityConfig: No Network Security Config specified, using platform default 08-17 02:14:54.143 3296-3360/com.coolweather.app D/NetworkSecurityConfig: No Network Security Config specified, using platform default 08-17 02:33:06.706 9094-9094/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 02:33:07.013 9094-9094/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 02:33:07.168 9094-9094/com.coolweather.app W/art: Verification of java.lang.Object com.coolweather.app.activity.ChooseAreaActivity.access$super(com.coolweather.app.activity.ChooseAreaActivity, java.lang.String, java.lang.Object[]) took 106.679ms 08-17 02:33:07.499 9094-9131/com.coolweather.app I/OpenGLRenderer: Initialized EGL, version 1.4 08-17 02:33:07.499 9094-9131/com.coolweather.app D/OpenGLRenderer: Swap behavior 1 08-17 02:33:10.284 9094-9164/com.coolweather.app D/NetworkSecurityConfig: No Network Security Config specified, using platform default 08-17 02:34:59.000 9094-9101/com.coolweather.app W/art: Suspending all threads took: 9.345ms 08-17 03:01:24.160 1626-1626/com.coolweather.app I/art: Not late-enabling -Xcheck:jni (already on) 08-17 03:01:24.160 1626-1626/com.coolweather.app W/art: Unexpected CPU variant for X86 using defaults: x86_64 08-17 03:01:24.280 1626-1626/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-2/lib/x86_64 08-17 03:01:25.362 1626-1626/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-2/lib/x86_64 08-17 03:01:25.887 1626-1707/com.coolweather.app I/OpenGLRenderer: Initialized EGL, version 1.4 08-17 03:01:25.888 1626-1707/com.coolweather.app D/OpenGLRenderer: Swap behavior 1 08-17 03:01:33.204 1626-1855/com.coolweather.app D/NetworkSecurityConfig: No Network Security Config specified, using platform default 08-17 03:03:05.114 3310-3310/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 03:03:05.387 3310-3338/com.coolweather.app I/OpenGLRenderer: Initialized EGL, version 1.4 08-17 03:03:05.387 3310-3338/com.coolweather.app D/OpenGLRenderer: Swap behavior 1 08-17 03:03:24.838 3533-3533/com.coolweather.app W/System: ClassLoader referenced unknown path: /data/app/com.coolweather.app-1/lib/x86_64 08-17 03:03:25.255 3533-3559/com.coolweather.app I/OpenGLRenderer: Initialized EGL, version 1.4 08-17 03:03:25.255 3533-3559/com.coolweather.app D/OpenGLRenderer: Swap behavior 1 08-17 03:03:28.597 3533-3611/com.coolweather.app D/NetworkSecurityConfig: No Network Security Config specified, using platform default 08-17 03:15:07.232 3533-3540/com.coolweather.app W/art: Suspending all threads took: 822.536ms

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧