편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2019.09.19

    안드로이드 스튜디오에서는 이상없는데 실제 폰으로 하면 다운이됩니다. 도와주세요.


    여기에서 에러가 나는것 같은데요. 도와주세요.

     E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
    

    이런 에러도 뜹니다.

    Tab1Fragments.java

    
    public class Tab1Fragment extends Fragment {
    
        private static String GOOGLE_YOUTUBE_API_KEY = "----------------------"; //
        private static String CHANNEL_ID="UCyn-----------------"; 
        private static String CHANNLE_GET_URL = "https://www.googleapis.com/youtube/v3/search?part=snippet&order=date&channelId=" + CHANNEL_ID + "&maxResults=20&key=" + GOOGLE_YOUTUBE_API_KEY + "";
    
    
        private RecyclerView mList_videos = null;
        private VideoPostAdapter adapter = null;
        private ArrayList<YoutubeDataModel> mListData = new ArrayList<>();
    
        public Tab1Fragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this
            View view = inflater.inflate(R.layout.fragment_tab1, container, false);
            mList_videos=(RecyclerView) view.findViewById(R.id.mList_videos);
            initList(mListData);
            new RequstYoutubeAPI().execute();
            return view;
        }
    
        private void initList(ArrayList<YoutubeDataModel> mListData) {
            mList_videos.setLayoutManager(new LinearLayoutManager(getActivity()));
            adapter = new VideoPostAdapter(getActivity(), mListData);
    
            mList_videos.setAdapter(adapter);
        }
    
        //creat an AsyncTask to get all tha data form youtube
    
        private class RequstYoutubeAPI extends AsyncTask<Void, String, String>{
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
            }
    
            @Override
            protected String doInBackground(Void... params) {
                HttpClient httpClient = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(CHANNLE_GET_URL);
                Log.e("URL", CHANNLE_GET_URL);
                try {
                    HttpResponse response = httpClient.execute(httpGet);
                    HttpEntity httpEntity = response.getEntity();
                    String json = EntityUtils.toString(httpEntity);
                    return json;
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
                return null;
            }
    
            @Override
            protected void onPostExecute(String response) {
                super.onPostExecute(response);
                if (response != null) {
                    try {
                        JSONObject jsonObject = new JSONObject(response);
                        Log.e("response", jsonObject.toString());
                        mListData = parseVideoListFromResponse(jsonObject);
                        initList(mListData);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        private ArrayList<YoutubeDataModel> parseVideoListFromResponse(JSONObject jsonObject) {
            ArrayList<YoutubeDataModel> mList = new ArrayList<>();
    
            if (jsonObject.has("items")) {
                try {
                    JSONArray jsonArray = jsonObject.getJSONArray("items");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject json = jsonArray.getJSONObject(i);
                        if (json.has("id")) {
                            JSONObject jsonID = json.getJSONObject("id");
                            if (jsonID.has("kind")) {
                                if (jsonID.getString("kind").equals("youtube#video")) {
                                    //get the data from snippet
                                    YoutubeDataModel youtubeObject = new YoutubeDataModel();
                                    JSONObject jsonSnippet = json.getJSONObject("snippet");
                                    String title = jsonSnippet.getString("title");
                                    String description = jsonSnippet.getString("description");
                                    String publishedAt = jsonSnippet.getString("publishedAt");
                                    String thumbnail = jsonSnippet.getJSONObject("thumbnails").getJSONObject("high").getString("url");
    
                                    youtubeObject.setTitle(title);
                                    youtubeObject.setDescription(description);
                                    youtubeObject.setPublishedAt(publishedAt);
                                    youtubeObject.setThumbnail(thumbnail);
                                   // youtubeObject.setVideo_id(video_id);
                                    mList.add(youtubeObject);
                                }
                            }
                        }
    
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            return  mList;
    
        }
    }
    
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.09.19

    안드로이드 스튜디오에서는 이상없는데 실제 폰으로 하면 다운이됩니다. ㅠㅠ 도와주세요.


    여기에서 에러가 나는것 같은데요... 도와주세요.ㅠㅠ E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY) 이런 에러도 뜹니다 ㅠㅠ

    Tab1Fragments.java

    public class Tab1Fragment extends Fragment {

    private static String GOOGLE_YOUTUBE_API_KEY = "----------------------"; //
    private static String CHANNEL_ID="UCyn-----------------"; 
    private static String CHANNLE_GET_URL = "https://www.googleapis.com/youtube/v3/search?part=snippet&order=date&channelId=" + CHANNEL_ID + "&maxResults=20&key=" + GOOGLE_YOUTUBE_API_KEY + "";
    
    
    private RecyclerView mList_videos = null;
    private VideoPostAdapter adapter = null;
    private ArrayList<YoutubeDataModel> mListData = new ArrayList<>();
    
    public Tab1Fragment() {
        // Required empty public constructor
    }
    
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this
        View view = inflater.inflate(R.layout.fragment_tab1, container, false);
        mList_videos=(RecyclerView) view.findViewById(R.id.mList_videos);
        initList(mListData);
        new RequstYoutubeAPI().execute();
        return view;
    }
    
    private void initList(ArrayList<YoutubeDataModel> mListData) {
        mList_videos.setLayoutManager(new LinearLayoutManager(getActivity()));
        adapter = new VideoPostAdapter(getActivity(), mListData);
    
        mList_videos.setAdapter(adapter);
    }
    
    //creat an AsyncTask to get all tha data form youtube
    
    private class RequstYoutubeAPI extends AsyncTask<Void, String, String>{
    
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
    
        @Override
        protected String doInBackground(Void... params) {
            HttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(CHANNLE_GET_URL);
            Log.e("URL", CHANNLE_GET_URL);
            try {
                HttpResponse response = httpClient.execute(httpGet);
                HttpEntity httpEntity = response.getEntity();
                String json = EntityUtils.toString(httpEntity);
                return json;
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return null;
        }
    
        @Override
        protected void onPostExecute(String response) {
            super.onPostExecute(response);
            if (response != null) {
                try {
                    JSONObject jsonObject = new JSONObject(response);
                    Log.e("response", jsonObject.toString());
                    mListData = parseVideoListFromResponse(jsonObject);
                    initList(mListData);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    private ArrayList<YoutubeDataModel> parseVideoListFromResponse(JSONObject jsonObject) {
        ArrayList<YoutubeDataModel> mList = new ArrayList<>();
    
        if (jsonObject.has("items")) {
            try {
                JSONArray jsonArray = jsonObject.getJSONArray("items");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject json = jsonArray.getJSONObject(i);
                    if (json.has("id")) {
                        JSONObject jsonID = json.getJSONObject("id");
                        if (jsonID.has("kind")) {
                            if (jsonID.getString("kind").equals("youtube#video")) {
                                //get the data from snippet
                                YoutubeDataModel youtubeObject = new YoutubeDataModel();
                                JSONObject jsonSnippet = json.getJSONObject("snippet");
                                String title = jsonSnippet.getString("title");
                                String description = jsonSnippet.getString("description");
                                String publishedAt = jsonSnippet.getString("publishedAt");
                                String thumbnail = jsonSnippet.getJSONObject("thumbnails").getJSONObject("high").getString("url");
    
                                youtubeObject.setTitle(title);
                                youtubeObject.setDescription(description);
                                youtubeObject.setPublishedAt(publishedAt);
                                youtubeObject.setThumbnail(thumbnail);
                               // youtubeObject.setVideo_id(video_id);
                                mList.add(youtubeObject);
                            }
                        }
                    }
    
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return  mList;
    
    }
    }