2014-12-04 5 views
3

Я хочу сделать приложение с чем-то вроде новостей в facebook, это будет текст с изображением под ним, который откроет новую страницу, но я на самом деле не знаю, как это называется, поэтому я не могу искать в Интернете то, что я не знаю, это имя, поэтому, если кто-то может сказать мне, что он называется, или как сделать новостной канал, например, facebook или учебник для этой идеи.Как сделать ленту новостей как facebook для Android?

ответ

9

Это в основном ListView и ListAdapter.

Необходимо изменить шаблон ListView по умолчанию в соответствии с вашими потребностями.

В соответствии с вашим требованием, чтобы достичь Facebook макета, вы можете по этой ссылке ресурс для помощи

http://www.androidhive.info/2014/06/android-facebook-like-custom-listview-feed-using-volley/

+0

Большое спасибо :) –

3

Вы должны прочитать о a ListView и ListAdapter. Основа вашего решения на них.

0

Я дам вам возможность, и первый шаг. Вы можете использовать запросы через JSON для поиска текстов и изображений, хранящихся на веб-сервере.

// DownloadJSON AsyncTask 
    private class DownloadJSON extends AsyncTask<Void, Void, Void> { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      // Create a progressdialog 
      mProgressDialog = new ProgressDialog(MainActivity.this); 
      // Set progressdialog title 
      mProgressDialog.setTitle("Your app"); 
      // Set progressdialog message 
      mProgressDialog.setMessage("Loading..."); 
      mProgressDialog.setIndeterminate(false); 
      // Show progressdialog 
      mProgressDialog.show(); 

     } 

     @Override 
     protected Void doInBackground(Void... params) { 


      // Create an array 
      arraylist = new ArrayList<HashMap<String, String>>(); 
      // Retrieve JSON Objects from the given URL address 
      jsonobject = JSONfunctions 
        .getJSONfromURL("YOUR_PATH_URL_CONECT.PHP"); 

      try { 



       // Locate the array name in JSON 
       jsonarray = jsonobject.getJSONArray("value"); 


       for (int i = 0; i < jsonarray.length(); i++) { 
        HashMap<String, String> map = new HashMap<String, String>(); 
        jsonobject = jsonarray.getJSONObject(i); 
        // Retrive JSON Objects 
        map.put("thumbImage", jsonobject.getString("thumbImage")); 
        map.put("title", jsonobject.getString("title")); 


        // Set the JSON Objects into the array 
        arraylist.add(map); 
       } 
      } catch (JSONException e) { 
       Log.e("Error", e.getMessage()); 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void args) { 
      // Locate the listview in listview_main.xml 
      listview = (ListView) findViewById(R.id.listview); 
      // Pass the results into ListViewAdapter.java 
      adapter = new ListViewAdapter(MainActivity.this, arraylist); 
      // Set the adapter to the ListView 
      listview.setAdapter(adapter); 
      // Close the progressdialog 
      mProgressDialog.dismiss(); 


       return; 

     } 
    } 

YOUR_PATH_URL_CONECT.PHP

echo '{"value":'.json_encode($yourArrayJsonObject).'}'; 

Теперь сделайте остальную часть создания адаптеров.

Смежные вопросы