Java 此方法必须返回InputStream类型的结果

Java 此方法必须返回InputStream类型的结果,java,android,methods,inputstream,Java,Android,Methods,Inputstream,我收到一个错误,说明此方法必须返回InputStream类型的结果 但是,我已经将InputStream的返回语句添加到源方法中。所以我不确定为什么会发生这个问题。(当我试图在当前源代码中集成以前使用的发布进度方法时,问题就出现了。) 资料来源: /* * Sends a query to server and gets back the parsed results in a bundle * urlQueryString - URL for

我收到一个错误,说明此方法必须返回InputStream类型的结果

但是,我已经将InputStream的返回语句添加到源方法中。所以我不确定为什么会发生这个问题。(当我试图在当前源代码中集成以前使用的发布进度方法时,问题就出现了。)

资料来源:

        /*
         * Sends a query to server and gets back the parsed results in a bundle
         * urlQueryString - URL for calling the webservice
         */

        protected synchronized InputStream getQueryResults(String urlQueryString)
                throws IOException, SAXException, SSLException,
                SocketTimeoutException, Exception {

            try {
                // HttpsURLConnection https = null;
                String uri = urlQueryString;

                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();


                BasicNameValuePair mdn1, mdn2,id1,id2;
                if (MDN.equals("")) {
                    mdn1 = new BasicNameValuePair("mdn1", null);
                    mdn2 = new BasicNameValuePair("mdn2", null);
                } else {
                    mdn1 = new BasicNameValuePair("mdn1", mdN1.toString());
                    mdn2 = new BasicNameValuePair("mdn2", mdN2.toString());

                }

                BasicNameValuePair car = new BasicNameValuePair("car", caR);
                if (ICCID.equals("")) {
                     id1 = new BasicNameValuePair("id1", null);
                     id2 = new BasicNameValuePair("id2", null);
                } else {
                     id1 = new BasicNameValuePair("id1",
                            iD1.toString());
                     id2 = new BasicNameValuePair("id2",
                            iD2.toString());
                }


                nameValuePairs.add(mdn1);
                nameValuePairs.add(mdn2);
                nameValuePairs.add(car);
                nameValuePairs.add(id1);
                nameValuePairs.add(id2);

                UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(
                        nameValuePairs, "ISO-8859-1");
                KeyStore trustStore = KeyStore.getInstance(KeyStore
                        .getDefaultType());
                trustStore.load(null, null);

                SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
                sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

                HttpParams params = new BasicHttpParams();
                HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
                HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);

                SchemeRegistry registry = new SchemeRegistry();
                registry.register(new Scheme("http", PlainSocketFactory
                        .getSocketFactory(), 80));
                registry.register(new Scheme("https", sf, 443));

                ClientConnectionManager ccm = new ThreadSafeClientConnManager(
                        params, registry);

                HttpClient httpClient = new DefaultHttpClient(ccm, params);
                params = httpClient.getParams();
                HttpClientParams.setRedirecting(params, true);

                HttpPost httpPost = new HttpPost(uri);
                httpPost.addHeader("Authorization",
                        getB64Auth("nmundru", "abc123"));

                httpPost.setHeader("Content-Type", "text/plain; charset=utf-8");

                Log.v("httpPost", httpPost.toString());

                httpPost.setEntity(urlEncodedFormEntity);
                HttpResponse httpResponse = httpClient.execute(httpPost);
                System.out.println("response...." + httpResponse.toString());
                Log.v("response...", httpResponse.toString());

                stream = httpResponse.getEntity().getContent();

                // save the InputStream in a file

                try {

                    FileOutputStream fOut = openFileOutput("settings.xml",
                            Context.MODE_WORLD_READABLE);

                    DataInputStream in = new DataInputStream(stream);
                    BufferedReader br = new BufferedReader(
                            new InputStreamReader(in));
                    String strLine;
                    while ((strLine = br.readLine()) != null) {
                         System.out.println(strLine); //to print the response
                        // in logcat
                        fOut.write(strLine.getBytes());

                    }
                    fOut.close();

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

                fis = openFileInput("settings.xml");

            } catch (Exception e) {
                Log.e(LOG_TAG, e.toString());

                // e.printStackTrace();
                tryagain();

            } finally {
                // https.disconnect();
            }

            publishProgress(R.drawable.loading_full,
                    R.drawable.loading_empty, R.drawable.loading_empty,
                    R.drawable.loading_empty, R.drawable.loading_empty);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block

            }
            publishProgress(R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_empty,
                    R.drawable.loading_empty, R.drawable.loading_empty);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block

            }
            publishProgress(R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_full,
                    R.drawable.loading_empty, R.drawable.loading_empty);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block

            }
            publishProgress(R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_empty);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block

            }
            publishProgress(R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_full,
                    R.drawable.loading_full, R.drawable.loading_full);

            // Sleep for 1/2 second
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block


            return stream;
        }
    }
/*
*将查询发送到服务器,并以捆绑方式返回解析结果
*urlQueryString—用于调用Web服务的URL
*/
受保护的同步InputStream getQueryResults(字符串urlQueryString)
抛出IOException、SAXException、SSLexException、,
SocketTimeoutException,异常{
试一试{
//HttpsURLConnection https=null;
字符串uri=urlQueryString;
List nameValuePairs=新的ArrayList();
基本名称值对mdn1、mdn2、id1、id2;
如果(MDN.等于(“”){
mdn1=新的BasicNameValuePair(“mdn1”,null);
mdn2=新的BasicNameValuePair(“mdn2”,null);
}否则{
mdn1=新的BasicNameValuePair(“mdn1”,mdn1.toString());
mdn2=新的BasicNameValuePair(“mdn2”,mdn2.toString());
}
BasicNameValuePair汽车=新的BasicNameValuePair(“汽车”,汽车);
if(ICCID.equals(“”){
id1=新的BasicNameValuePair(“id1”,null);
id2=新的BasicNameValuePair(“id2”,null);
}否则{
id1=新的BasicNameValuePair(“id1”,
iD1.toString());
id2=新的BasicNameValuePair(“id2”,
iD2.toString());
}
nameValuePairs.add(mdn1);
nameValuePairs.add(mdn2);
nameValuePairs.add(汽车);
nameValuePairs.add(id1);
nameValuePairs.add(id2);
UrlEncodedFormEntity UrlEncodedFormEntity=新UrlEncodedFormEntity(
名称值对,“ISO-8859-1”);
KeyStore trustStore=KeyStore.getInstance(KeyStore
.getDefaultType());
load(null,null);
SSLSocketFactory sf=新的MySSLocketFactory(信任商店);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params=新的BasicHttpParams();
HttpProtocolParams.setVersion(params,HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params,HTTP.UTF_8);
SchemeRegistry registry=新SchemeRegistry();
registry.register(新方案(“http”),PlainSocketFactory
.getSocketFactory(),80));
注册(新方案(“https”,sf,443));
ClientConnectionManager ccm=新的ThreadSafeClientConnManager(
参数,注册表);
HttpClient HttpClient=新的默认HttpClient(ccm,参数);
params=httpClient.getParams();
HttpClientParams.setRedirecting(params,true);
HttpPost HttpPost=新的HttpPost(uri);
httpPost.addHeader(“授权”,
getB64Auth(“nmundru”、“abc123”);
setHeader(“内容类型”,“文本/普通;字符集=utf-8”);
Log.v(“httpPost”,httpPost.toString());
setEntity(urlEncodedFormEntity);
HttpResponse HttpResponse=httpClient.execute(httpPost);
System.out.println(“响应…”+httpResponse.toString());
Log.v(“响应…”,httpResponse.toString());
stream=httpResponse.getEntity().getContent();
//将输入流保存在文件中
试一试{
FileOutputStream fOut=openFileOutput(“settings.xml”,
上下文。模式(世界可读);
DataInputStream in=新的DataInputStream(流);
BufferedReader br=新的BufferedReader(
新的InputStreamReader(in);
弦斯特林;
而((strLine=br.readLine())!=null){
System.out.println(strLine);//打印响应
//在logcat中
write(strLine.getBytes());
}
fOut.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
fis=openFileInput(“settings.xml”);
}捕获(例外e){
Log.e(Log_标记,e.toString());
//e.printStackTrace();
tryagain();
}最后{
//https.disconnect();
}
出版进度(R.drawable.loading_full,
R.drawable.loading_empty,R.drawable.loading_empty,
R.drawable.loading_empty,R.drawable.loading_empty);
试一试{
睡眠(500);
}捕捉(中断异常e){
//TODO自动生成的捕捉块
}
出版进度(R.drawable.loading_full,
R.可抽出式。满载,R.可抽出式。空载,
R.drawable.loading_empty,R.drawable.loading_empty);
试一试{
睡眠(500);
}捕捉(中断异常e){
//TODO自动生成的捕捉块
}
出版进度(R.drawable.loading_full,
可拉深,满载,可拉深,满载,
拉瓦
  return stream;
    }
}  
  }
return stream;        
}
protected synchronized InputStream getQueryResults(...) {
    ...
    // Indentation fixed for clarity
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
       // TODO Auto-generated catch block
       return stream;
    }
}
protected synchronized InputStream getQueryResults(...) {
    ...
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
       // TODO Auto-generated catch block
    }
    return stream;
}