Soru & Cevap

Android hpppost ile get işleminde null dönüyor !!

15.03.2015 - 05:19

Merhaba Arkadaşlar,

Android te proje üstüne çalışıyorum aslında bitirme projem öğrenci bilgi sistemine bağlanıp authentication i sağladım daha sonra okulun api adresinden gerekli bilgileri çekecem ancak post işlemnini başarsamda get işlemini başaramıyorum sürekli json objesinde null dönüyor bişey eklenmiyor kodlarımla açıklamya çalışıyım

 

Bu benim ana kodum:

[code]

public class MainActivity extends Activity {
    Button getirbtn;
    String url = "http://okulno:password@ogrenci.izmir.edu.tr/api/ogrenciders";
    String veri_string;
    ProgressDialog  pDialog;
    private ArrayAdapter<String> adapter;
    ListView mylist;
    TextView mytext;
    PostClass post = new PostClass();
    public ArrayList<String> arraystr=new ArrayList<String>();
    private static final String TAG_SUCCESS = "success";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mytext=(TextView)findViewById(R.id.tv_bilgi);
        getirbtn=(Button)findViewById(R.id.button1);
        mylist=(ListView)findViewById(R.id.listView1);
//        adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arraystr);
        getirbtn.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                
                
                new Post().execute();
                
            }
        });
        
       
    }
    
    class Post extends AsyncTask<Void, Void, Void>{
        JSONObject veri_json;
        JSONArray array,array2;
        
protected void  onPreExecute() {
            
            pDialog=new ProgressDialog(MainActivity.this);
            pDialog.setMessage("Yükleniyor");
            pDialog.setIndeterminate(true);
            pDialog.setCancelable(true);// ProgressDialog u iptal edilemez hale getirdik.
            pDialog.show();
        };

        @Override
        protected Void doInBackground(Void... unused) {
            List<NameValuePair> params=new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("login","okulno"));
            params.add(new BasicNameValuePair("password", "password"));
            params.add(new BasicNameValuePair("Accept","application/json"));
            params.add(new BasicNameValuePair("Content-type","x-www-form-urlencoded; charset=UTF-8"));

            
            veri_string=post.httpPost(url, "GET", params, 2000);
            try {
                veri_json=new JSONObject(veri_string);
                array=veri_json.getJSONArray("success");
                 
                
                
                
                
            } catch (Exception e) {
                e.printStackTrace();
            }
            Log.d("HTTP POST CEVAP",""+veri_string);
            
            
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
        
            
            
            pDialog.dismiss();
            Toast.makeText(getApplicationContext(), veri_string, Toast.LENGTH_LONG).show();
//            try {
//                JSONObject data=veri_json.getJSONObject("data");
//                
//                JSONObject data2=data.getJSONObject("userInfo");
//                mytext.setText(veri_json.getString("data"));
//                
//            
//                }
//                
//                
//             catch (JSONException e) {
//                // TODO Auto-generated catch block
//                e.printStackTrace();
//            }
//            
        }
        

[/code]

 

Buda post get classım

[code]

public  String httpPost(String url, String method,List<NameValuePair> params,int time) {
         
        //url: post yapılacak adres
        //method: post mu get mi
        //params:post edilecek veriler değişkenler
        //time: sunucudan cevap gelmezse kaç sn sonra uygulama donmadan postun iptal edileceği
        try {
            
            if (method == "POST") {
                
                HttpParams httpParameters = new BasicHttpParams();
                int timeout1 = time;
                int timeout2 = time;
                HttpConnectionParams.setConnectionTimeout(httpParameters, timeout1);
                HttpConnectionParams.setSoTimeout(httpParameters, timeout2);
                DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
                HttpPost httpPost = new HttpPost(url); 
               
                httpPost.setEntity(new UrlEncodedFormEntity(params,"UTF-8"));
                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();
                veri =  httpEntity.getContent();
 
            } else if (method == "GET") {
                
                DefaultHttpClient httpClient = new DefaultHttpClient();
                String paramString = URLEncodedUtils.format(params, HTTP.UTF_8);
                url += "?" + paramString;
                HttpGet httpGet = new HttpGet(url);
                HttpResponse httpResponse = httpClient.execute(httpGet);
                HttpEntity httpEntity = httpResponse.getEntity();
                veri =  httpEntity.getContent();            
            }
 
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    veri, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            veri.close();
            veri_string = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Hata " + e.toString());
                 }
       
        return veri_string; // Aldığımız cevabın string halini geri dönüyoruz
 
    }

}

[/code]

Aldığım Hata

 

 

5 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-7541-1521024507.jpg
burhanaras
16.03.2015 - 11:08

dostum serverdan null dönmüş. client tarafında yapabileceğin birşey yok.

SopaUI ile web servise bağlanıp test et derim. Yine null dönüyorsa, senin yapabileceğin birşey yok, web serviste bir sorun vardır.

Mert Kimyonşen
17.03.2015 - 09:29
Belki de web servise bağlantılarında yanlışlık yapıyorumdur yani demek istediğim kodlarımda