简体   繁体   中英

Show content of online server file on android app

I am currently making an app where the user can access study material from a list view of different subjects.

In my database table where the subject names are fetched from also has a column which has a file path to a folder on my online server. Each subject has an individual folder on the server.

How would I go about adding to my code so that when a user clicks on a subject on the list, the content of their specific folder displays on a new activity?

here is my code at the moment of a simple list view:

 public class FindMaterialActivity extends Activity {

private ListView list;
private ArrayList<String> subjects;
private JSONArray result;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_find_material2);

    list = (ListView) findViewById(R.id.list);

    subjects = new ArrayList<String>();

    getData();

}

private void getData() {
    //Creating a string request
    StringRequest stringRequest = new StringRequest(SubConfig.DATA_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    JSONObject j = null;
                    try {
                        //Parsing the fetched Json String to JSON Object
                        j = new JSONObject(response);

                        //Storing the Array of JSON String to our JSON Array
                        result = j.getJSONArray(SubConfig.JSON_ARRAY);

                        //Calling method getStudents to get the students from the JSON Array
                        getSubjects(result);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            });

    //Creating a request queue
    RequestQueue requestQueue = Volley.newRequestQueue(this);

    //Adding request to the queue
    requestQueue.add(stringRequest);
}

private void getSubjects(JSONArray j) {
    //Traversing through all the items in the json array
    for (int i = 0; i < j.length(); i++) {
        try {
            //Getting json object
            JSONObject json = j.getJSONObject(i);

            //Adding the name of the student to array list
            subjects.add(json.getString(SubConfig.TAG_SUBJECTS));
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    //Setting adapter to show the items in the spinner
    list.setAdapter(new ArrayAdapter<String>(FindMaterialActivity.this, android.R.layout.simple_list_item_1, subjects));
}
}

and subject config.java

  public class SubConfig {

    //JSON URL
    public static final String DATA_URL = "http://opuna.co.uk/subject_api/FetchSub.php";

    //Tags used in the JSON String
    public static final String TAG_SUBJECTS = "Subject_Name";
    public static final String TAG_SUB_ID = "Sub_id";


    //JSON array name
    public static final String JSON_ARRAY = "result";
}

像处理主题一样,将有关子文件夹的元数据存储在数据库中,并像处理主题一样在应用程序中使用JSON获取元数据,并以自己的自定义布局显示它们。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM