2016-03-17 2 views
0

Это код файл MainActivity.javaОшибка: (100, 54) Ошибка: недопустимое начало выражения

public class MainActivity extends AppCompatActivity { 
    ListView lstVideo; 
    ArrayList<Bitmap> arrHinh= new ArrayList<Bitmap>(); 
    ArrayList<Video> arrVideo=new ArrayList<Video>(); 
    String playlistId="LL-5bWlJvcvfR..........."; 
    final String API_KEY="AIza............"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lstVideo=(ListView)findViewById(R.id.lstVideo); 
     new ParseYoutube().execute(); 
    } 
    private class ParseYoutube extends AsyncTask<Void, Void, Void> { 
     String time, urlHinh, title, idVideo; 

     @Override 
     protected Void doInBackground(Void... params) { 
      if (getJsonFromUrl() != null) { 
       try { 
        JSONObject jsonObbject = new JSONObject(getJsonFromUrl()); 
        JSONArray jsonItems = jsonObbject.getJSONArray("items"); 
        if (jsonItems.length() > 0) { 
         for (int i = 0; i < jsonItems.length(); i++) { 
          JSONObject jsonItem = jsonItems.getJSONObject(i); 
          JSONObject jsonsnippet = jsonItem.getJSONObject("snippet"); 
          title = jsonsnippet.getString("title"); 
          time = jsonsnippet.getString("publishedAt"); 
          JSONObject jsonThum = jsonsnippet.getJSONObject("thumbnails"); 
          JSONObject jsondefault = jsonThum.getJSONObject("default"); 
          urlHinh = jsondefault.getString("url"); 
          JSONObject jsonResource = jsonsnippet.getJSONObject("resourceId"); 
          idVideo = jsonResource.getString("videoId"); 

          Video video = new Video(); 
          video.setTime(time); 
          video.setTitle(title); 
          video.setUrlID(idVideo); 
          arrVideo.add(video); 

          URL url = new URL(urlHinh); 
          HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); 
          InputStream inputStream = httpURLConnection.getInputStream(); 
          Bitmap bm = BitmapFactory.decodeStream(inputStream); 
          arrHinh.add(bm); 

         } 
        } 
       } catch (JSONException | MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 

      super.onPostExecute(aVoid); 
      lstVideo.setAdapter(new YoutubeAdapter(MainActivity.this, arrVideo, arrHinh)); 
     } 
    } 


    public String getJsonFromUrl() { 
     URL url; 
     try { 
      url = new URL("https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=" + playlistId + "&key=" + API_KEY); 
      URLConnection urlConnection = url.openConnection(); 
      InputStream inputStream = urlConnection.getInputStream(); 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8); 
      StringBuilder builder = new StringBuilder(); 
      String line = ""; 
      while (line = bufferedReader.readLine()!== null) 
      { 
       builder.append(line + "\n"); 
      } 
      inputStream.close(); 
      return builder.toString(); 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

И это ошибка в закладке Сообщения:

Error:(100, 54) error: illegal start of expression

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Я не знаете, почему я не могу отладить это приложение.

+3

Какая линия является линией 100? Эта часть, которую вы нам дали, имеет всего 97 строк. Если строка 100 равна 'while (line = bufferedReader.readLine()! == null)', то вы просто ошиблись в проверке неравенства ('! =', А не '! ==') – childofsoong

ответ

0

Вы указали дополнительно = знак в строке 77. измените его. Замени это. Теперь ваш код будет

public class MainActivity extends AppCompatActivity { 
    ListView lstVideo; 
    ArrayList<Bitmap> arrHinh= new ArrayList<Bitmap>(); 
    ArrayList<Video> arrVideo=new ArrayList<Video>(); 
    String playlistId="LL-5bWlJvcvfR..........."; 
    final String API_KEY="AIza............"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lstVideo=(ListView)findViewById(R.id.lstVideo); 
     new ParseYoutube().execute(); 
    } 
    private class ParseYoutube extends AsyncTask<Void, Void, Void> { 
     String time, urlHinh, title, idVideo; 

     @Override 
     protected Void doInBackground(Void... params) { 
      if (getJsonFromUrl() != null) { 
       try { 
        JSONObject jsonObbject = new JSONObject(getJsonFromUrl()); 
        JSONArray jsonItems = jsonObbject.getJSONArray("items"); 
        if (jsonItems.length() > 0) { 
         for (int i = 0; i < jsonItems.length(); i++) { 
          JSONObject jsonItem = jsonItems.getJSONObject(i); 
          JSONObject jsonsnippet = jsonItem.getJSONObject("snippet"); 
          title = jsonsnippet.getString("title"); 
          time = jsonsnippet.getString("publishedAt"); 
          JSONObject jsonThum = jsonsnippet.getJSONObject("thumbnails"); 
          JSONObject jsondefault = jsonThum.getJSONObject("default"); 
          urlHinh = jsondefault.getString("url"); 
          JSONObject jsonResource = jsonsnippet.getJSONObject("resourceId"); 
          idVideo = jsonResource.getString("videoId"); 

          Video video = new Video(); 
          video.setTime(time); 
          video.setTitle(title); 
          video.setUrlID(idVideo); 
          arrVideo.add(video); 

          URL url = new URL(urlHinh); 
          HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); 
          InputStream inputStream = httpURLConnection.getInputStream(); 
          Bitmap bm = BitmapFactory.decodeStream(inputStream); 
          arrHinh.add(bm); 

         } 
        } 
       } catch (JSONException | MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 

      super.onPostExecute(aVoid); 
      lstVideo.setAdapter(new YoutubeAdapter(MainActivity.this, arrVideo, arrHinh)); 
     } 
    } 


    public String getJsonFromUrl() { 
     URL url; 
     try { 
      url = new URL("https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=" + playlistId + "&key=" + API_KEY); 
      URLConnection urlConnection = url.openConnection(); 
      InputStream inputStream = urlConnection.getInputStream(); 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8); 
      StringBuilder builder = new StringBuilder(); 
      String line = ""; 
      while (line = bufferedReader.readLine()!= null) // while (line = bufferedReader.readLine()!== null) you need to remove extra = sign 
      { 
       builder.append(line + "\n"); 
      } 
      inputStream.close(); 
      return builder.toString(); 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Согласен с childofsoong.

0

Замените while петлю в getJsonFromUrl() по -

while ((line = bufferedReader.readLine()) != null) 
       { 
        builder.append(line + "\n"); 
       } 
Смежные вопросы