0

I'm just learning by trying create simple app in android studio (JAVA) :) I create code working on emulator(oreo). After build apk and instal it on phone (Nokia 8.1) it doesnt work. No errors while testing on emulator :/

Here is my code:

package com.stobolewski.jsonsavetest;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private List<String> menuOptions;
    private List<String> dataList;
    private String jasonDataFile= "";
    private TextView txtShowJSON;
    private Button btnDoAction;
    private Button btnClear;
    private Button btnLoad;

    private RequestQueue myJSONRequest;
    private String url = "http://brave-art.pl/news/data.jason";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtShowJSON = (TextView) findViewById(R.id.txtShowJSON);
        menuOptions = new ArrayList();
        btnDoAction = (Button) findViewById(R.id.btnAction);
        btnClear = (Button) findViewById(R.id.btnClear);
        btnLoad = (Button) findViewById(R.id.btnLoad);
        myJSONRequest  = Volley.newRequestQueue(this);

        //jasonParse("menu");
        jasonParse();

        btnClear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                txtShowJSON.setText("Clear text view...");
            }
        });

        btnLoad.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                try {
                    String message;
                    FileInputStream fis = null;
                    fis = openFileInput("data.json");
                    InputStreamReader isr = new InputStreamReader(fis);
                    BufferedReader bufferedReader = new BufferedReader(isr);
                    StringBuffer stringBuffer = new StringBuffer();
                    while ((message = bufferedReader.readLine()) != null) {
                        stringBuffer.append(message + "\n");
                        txtShowJSON.setText("");
                        txtShowJSON.setText(stringBuffer.toString());
                        txtShowJSON.setVisibility(View.VISIBLE);
                    }
                }
                catch (Exception e){
                    e.printStackTrace();
                }



            }
        });

        btnDoAction.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String data = "";
                Log.i("INFO", "WE ARE HERE....");
                for(int i=0; i<menuOptions.size(); i++){
                    data += menuOptions.get(i) + "\n";
                }

                try {
                    Log.i("INFO", "WE ARE IN TRY ...");
                    //FileOutputStream output = new FileOutputStream("data.json", false);
                    FileOutputStream output = null;
                    output = openFileOutput("data.json", MODE_PRIVATE);

                    byte[] array = data.getBytes();
                    Log.i("INFO", "LOAD TO BYTE ARRAY...");
                    // Writes byte to the file
                    output.write(array);
                    Log.i("INFO:", "Data saved ...");
                    output.flush();
                    output.close();
                }

                catch(IOException e) {
                    e.getStackTrace();
                }

                txtShowJSON.setText(data);
                Log.i("INFO", data);

            }
        });

    }

public void jasonParse(){

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            String jasonArray = response.toString();
                                menuOptions.add(jasonArray);

                            String message;
                            FileInputStream fis = openFileInput("data.jason");
                            InputStreamReader isr = new InputStreamReader(fis);
                            BufferedReader bufferedReader = new BufferedReader(isr);
                            StringBuffer stringBuffer = new StringBuffer();
                            while ((message=bufferedReader.readLine())!=null){
                                stringBuffer.append(message + "\n");
                                txtShowJSON.setText(stringBuffer.toString());
                                txtShowJSON.setVisibility(View.VISIBLE);
                            }

                            Log.i("VALUE1", "my Value: ");
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error)
            {
                error.printStackTrace();
            }
        });

        myJSONRequest.add(request);
    }

    public void jasonParse(String tableName){

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            JSONArray jasonArray = response.getJSONArray(tableName);
                            //String jasonArray = response.toString();
                            for(int i = 0; i <jasonArray.length(); i++){
                                JSONObject jsonVersion = jasonArray.getJSONObject(i);
                                String menu_version = jsonVersion.getString("menu_version");
                                menuOptions.add(menu_version);

                            }
                            String message;
                            FileInputStream fis = openFileInput("data.jason");
                            InputStreamReader isr = new InputStreamReader(fis);
                            BufferedReader bufferedReader = new BufferedReader(isr);
                            StringBuffer stringBuffer = new StringBuffer();
                            while ((message=bufferedReader.readLine())!=null){
                                stringBuffer.append(message + "\n");
                                txtShowJSON.setText(stringBuffer.toString());
                                txtShowJSON.setVisibility(View.VISIBLE);
                            }

                            Log.i("VALUE1", "my Value: ");
                        } catch (JSONException | FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        myJSONRequest.add(request);
    }

}

This is only way I can use "data from internet" my website hosting dowsnt allow to connect to database from "outside" - only local wordpress connection is allowed. Want to create simple app reading data "restaurant menu" from json file and show it in list view, etc.

Gwynbleid
  • 29
  • 1
  • 1
  • 6
  • I found the solution: ... [enter link description here](https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted) – Gwynbleid Sep 24 '21 at 20:27

0 Answers0