输入AutoCompleteTextView后Android崩溃活动

输入AutoCompleteTextView后Android崩溃活动,android,firebase-realtime-database,autocompletetextview,Android,Firebase Realtime Database,Autocompletetextview,我正在开发一个天气应用程序,我使用了OpenWeatherMapAPI。我在搜索城市时遇到问题。OpenWeatherMap网站上有一些城市列表可用于您的项目。我使用的是city_list.gz,它与gzip的容量大约为1MB。原始文件为4MB。列表中有超过200000个城市。使用以下代码,我将城市添加到Arraylist: private void bringData() { cityList=new ArrayList<>(); try{ Str

我正在开发一个天气应用程序,我使用了OpenWeatherMapAPI。我在搜索城市时遇到问题。OpenWeatherMap网站上有一些城市列表可用于您的项目。我使用的是city_list.gz,它与gzip的容量大约为1MB。原始文件为4MB。列表中有超过200000个城市。使用以下代码,我将城市添加到Arraylist:

private void bringData() {
    cityList=new ArrayList<>();

    try{
        StringBuilder builder= new StringBuilder();
        InputStream is= getResources().openRawResource(R.raw.city_list);
        GZIPInputStream gzıpInputStream=new GZIPInputStream(is);

        InputStreamReader reader=new InputStreamReader(gzıpInputStream);
        BufferedReader in=new BufferedReader(reader);

        String readed;

        while ((readed=in.readLine())!=null)
            builder.append(readed);
        cityList=new Gson().fromJson(builder.toString(),new TypeToken<List<String>>(){}.getType());

    } catch (IOException e) {
        e.printStackTrace();
    }
}

我怎样才能解决这个问题。我可以使用firebase数据库进行搜索吗?我想建议使用第二个或第三个AutoCompleteTextView条目的城市。

该日志消息不是错误。它是信息性的(因为它以字母“I”开头)。崩溃后,所有日志都被删除,我只能读取该消息,即日志消息不是错误。它是信息性的(因为它以字母“I”开头)。崩溃后,所有日志都被删除,我只能阅读该消息
 etSearchCity=(AutoCompleteTextView)findViewById(R.id.etSearchCity);
    etSearchCity.setRawInputType(InputType.TYPE_CLASS_TEXT |
            InputType.TYPE_TEXT_VARIATION_NORMAL);

    autoComplete = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cityList);

    etSearchCity.setAdapter(autoComplete);

    etSearchCity.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {

            city=(String) arg0.getAdapter().getItem(arg2);
            btnSaveCity.setVisibility(View.VISIBLE);
            btnCancel.setVisibility(View.VISIBLE);
            tvSearch.setText("Do you want add city: "+city);
            tvSearch.setVisibility(View.VISIBLE);
        }
    });
I/art﹕ Background sticky concurrent mark sweep GC freed 45388(3MB) AllocSpace objects, 17(292KB) LOS objects, 14% free, 10MB/11MB, paused 20.543ms total 209.212ms