Soru & Cevap

Android PHP MySql Listview Sorunu ...

22.01.2016 - 10:24

Arkadaslar merhaba android mysql bağlantısında iki adet classım var welcome.java ve about.java... welcome.java dan çektiğim verileri about.java class ımda textviewe yazdırabiliyorum fakat amacım bu verileri listviewde göstermek.. about java clasımda bu verileri listview şeklinde göstermeyi nasıl yapabilirim yardımcı olursanız cok sevinirim..

 

Welcome.java

package com.example.phonebook;

import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Welcome extends Activity {
    private ProgressDialog pDialog;
    int flag=0;
    JSONParser jsonParser = new JSONParser();
    private static String url = "http://10.0.2.2/rdias/about.php";
    private static final String veri1 = "veri1";
    private static final String veri2 = "veri2";
    private static final String veri3 = "veri3";
    private static final String TAG_SUCCESS="success";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectDiskReads().detectDiskWrites().detectNetwork()
        .penaltyLog().build());
        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome);
        
    }
    public void action(View v)
    {
        if(v.getId()==R.id.w_bt1)
            new loginAccess().execute();
        else
            Toast.makeText(this, "deneme", Toast.LENGTH_LONG).show();
    }


class loginAccess extends AsyncTask<String, String, String> {

    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(Welcome.this);
        pDialog.setMessage("Wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();
    }
    @Override
    protected String doInBackground(String... arg0) {
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair(" "," "));
        JSONObject json = jsonParser.makeHttpRequest(url,"POST", params);
        Log.d("Create Response", json.toString());
        
        try {
            int success = json.getInt(TAG_SUCCESS);
            if (success == 1)
             {
              flag=0;    
              String vr1=json.getString(veri1);
              String vr2=json.getString(veri2);
              String vr3=json.getString(veri3);
              Intent i = new Intent(getApplicationContext(),About.class);
              i.putExtra("veri1", vr1);
              i.putExtra("veri2", vr2);
              i.putExtra("veri3", vr3);
              startActivity(i);
             }
             else
             {
                flag=1;
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }
    protected void onPostExecute(String file_url) {
        pDialog.dismiss();
        if(flag==1)
            Toast.makeText(Welcome.this,"veri bulunamadı", Toast.LENGTH_LONG).show();
        
    }
    
  }
    
}

 

 

About.java

package com.example.phonebook;

 
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class About extends ListActivity {
    TextView tv;
    TextView tv1;
    TextView tv2;
 
    public void onCreate(Bundle ins)
    {
        super.onCreate(ins);
        setContentView(R.layout.about);
        tv=(TextView)findViewById(R.id.a_tv);
        tv1=(TextView)findViewById(R.id.textView1);
        tv2=(TextView)findViewById(R.id.textView2);
         Intent i=getIntent();
        String vr1=i.getStringExtra("veri1");
        String vr2=i.getStringExtra("veri2");
        String vr3=i.getStringExtra("veri3")

         System.out.println(vr1);
         System.out.println(vr2);
          System.out.println(vr3);

       
 
        tv.setText(vr1);
        tv1.setText(vr2);
        tv2.setText(vr3);
    }

}

 

 

15 Görüntülenme

2 Cevap

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

picture-7661-1418285218.jpg
zafermuhammed93
23.01.2016 - 02:15

şöyle yapabilirsin öncelikle bi item class'ı oluştur oluşturmasanda olur ama düzenli olur ve cok fazla item oldunda uraşmazsın.Kendi yaptklarımdan örnek veriyorum.

public  class ItemData {
 
 
    private String title;
    private String titleSayi;
    private String titleKutuNo;
    private String isAdmin;
    private String titlePDF;

    public ItemData(String title,String titleSayi,String titleKutuNo, String titlePDF){
         this.titleSayi=titleSayi;
        this.titleKutuNo=titleKutuNo;
        this.title = title;
        this.titlePDF=titlePDF;
    }

    public String getTitlePDF() {
        return titlePDF;
    }

    public void setTitlePDF(String titlePDF) {
        this.titlePDF = titlePDF;
    }

    public String getIsAdmin() {
        return isAdmin;
    }

    public void setIsAdmin(String isAdmin) {
        this.isAdmin = isAdmin;
    }

    public String getTitleKutuNo() {
        return titleKutuNo;
    }

    public void setTitleKutuNo(String titleKutuNo) {
        this.titleKutuNo = titleKutuNo;
    }

    public String getTitleSayi() {
        return titleSayi;
    }

    public void setTitleSayi(String titleSayi) {
        this.titleSayi = titleSayi;
    }


    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    // getters & setters
}

bunu yaptıkdan sonra welcome class ında async şöyle tanımla.

 

class LoadAllProducts extends AsyncTask<ArrayList<ItemData>, Void, ArrayList<ItemData>> {

       
        @Override
        protected void onPreExecute() {
            super.onPreExecute();

          /*  pDialog = new ProgressDialog(getActivity());
            pDialog.setMessage("Loading products. Please wait...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();*/
            showIndeterminateProgressDialog(true);
            itemsData.clear();


        }

       
        protected ArrayList<ItemData> doInBackground(ArrayList<ItemData>... args) {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            // getting JSON string from URL
            JSONObject json = jsonParser.makeHttpRequest(AppConfig.url_all_products, "GET", params);

            // Check your log cat for JSON reponse
            Log.d("All Products: ", json.toString());

            try {
                // Checking for SUCCESS TAG
                int success = json.getInt(AppConfig.TAG_SUCCESS);

                if (success == 1) {
                    products = json.getJSONArray(AppConfig.TAG_PRODUCTS);
                    for (int i = 0; i < products.length(); i++) {
                        c = products.getJSONObject(i);

                        String id = c.getString(AppConfig.TAG_PID);
                        String name = c.getString(AppConfig.TAG_NAME);

                        //  savePreferences(id, name);

                        itemsData.add(new ItemData(name, id,"",""));
                    }
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return itemsData;
        }

      
        protected void onPostExecute(final ArrayList<ItemData> itemsData) {
            // dismiss the dialog after getting all products
            //   pDialog.dismiss();

           /* recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
            mAdapter = new MyAdapter(itemsData,0,getActivity());
            // updating listview
            recyclerView.setAdapter(mAdapter);
// refresh complete
            materialRefreshLayout.finishRefresh();

// load more refresh complete
            materialRefreshLayout.finishRefreshLoadMore();
            loadingDialog.dismiss();*/ //bunlar benm yaptığım uygulamamdan sen yapıcağn burada

Intent i=new Intent(this,Abaut.class);
i.putExtra("item",itemsData);
startActivity(i);


        }


    }

sonra abaout.class ında da  listview için bir adapter oluştur adapter de string değilde ItemData olabilir şimdi tam çıkartmadm.Denersin artık.

private ArrayAdapter<String> adapter;
private ArrayList<ItemData> arrayList;

sonrası listview e veriyi basma tabi bundle veriyi al önce

list = (ListView) findViewById(R.id.listView);
    arrayList = new ArrayList<ItemData>();
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, arrayList);

   
    list.setAdapter(adapter);

durum bu kardeşim.Böyle çalışacağını düşünmekteym.Çalışmazsa bende merak ettim nasıl yapılacağını bana at ben kurcalarım:) kolay gele

Burak
23.01.2016 - 05:49
cok tesekkür ederim kardeş deneyecem olmazsa sana msj atarım tekrar tesekkürler
picture-64357-1469476477.jpg
bestekarx
22.01.2016 - 08:34

merhaba ,

incelemeni isterim  : http://www.androidhive.info/2014/07/android-custom-listview-with-image-and-text-using-volley/