کلیدستان

نسخه‌ی کامل: مشکل در ارتباط با url و وارد کردن خروجی در textedit
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان

من کد های این برنامه رو دارم:
https://play.google.com/store/apps/detai...oder&hl=en

و این هم کلاس دیکدش هست :
کد پی‌اچ‌پی:
​public class Codec {
    public 
String decode(String paramString)

            
throws Exception {
        
JSONObject localJSONObject;

        try {
            
localJSONObject = new JSONObject(new BufferedReader(new InputStreamReader(new DefaultHttpClient().execute(new HttpGet("md5.php?q=" paramString)).getEntity().getContent())).readLine());
            if (
localJSONObject.getString("md5").equals("")) {
                throw new 
Exception();
            }
        } catch (
Exception localException) {
            throw new 
Exception("Can't decode given md5");
        }
        
String str localJSONObject.getString("word");
        return 
str;
    }


activitymain :
کد پی‌اچ‌پی:
@Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
    }


    public 
boolean isNetworkAvailable() {
        
ConnectivityManager cm = (ConnectivityManager)
                
getSystemService(Context.CONNECTIVITY_SERVICE);
        
NetworkInfo networkInfo cm.getActiveNetworkInfo();
        if (
networkInfo != null && networkInfo.isConnected()) {
            return 
true;
        }
        return 
false;
    }



    public 
void decode(View view) {
        final 
EditText etWord = (EditText)findViewById(R.id.editText);
        final 
EditText etMd5 = (EditText)findViewById(R.id.editText2);

        if(!
isNetworkAvailable()) {
            
etWord.setText("Network unavailable");
            return;
        }

        final 
ProgressDialog pd ProgressDialog.show(view.getContext(),"Waiting for Server""It should take a few seconds");

        
Thread th = new Thread() {


            @
Override
            
public void run() {
                try {
                    
Codec cd = new Codec();
                    
String md5 etMd5.getText().toString();
                    try {
                        final 
String word cd.decode(md5);
                        
runOnUiThread(new Runnable() {
                            public 
void run() {
                                
etWord.setText(word);
                                
pd.dismiss();
                            }
                        });
                    } catch (final 
Exception e) {
                        
runOnUiThread(new Runnable() {
                            public 
void run() {
                                
etWord.setText(e.getMessage());
                                
pd.dismiss();
                            }
                        });
                    }
                } catch(
Exception e) {
                    
runOnUiThread(new Runnable() {
                        public 
void run() {
                            
pd.dismiss();
                        }
                    });
                }
            }
        };
        
th.start();
    }

میخوام بدونم طرز کار این برنامه چجوری هستش ؟ فقط میدونم که از یک آدرس برای خروجی استفاده میشه :
کد پی‌اچ‌پی:
url.com/md5.php?q
(یکم فیلترش کردم api طرف لو نره)

من هرکاری کردم چیزی در رابطه با دو دکمه اون ندیدم که چجوری و کجا تعریف شده و هرکاری کردم نتونستم خروجی رو در textedit اول ببینم.

در واقع میخوام با این api ، زمانی که یوزر روی دکمه کلیک کرد استرینگ رو به ادرس بفرسته و خروجی رو در textedit به نمایش بگذاره...اما من سعی کردم این برنامه رو اجرا کنم و ازش خروجی بگیرم...
اما چیزی در رابطه با باتن ها ندیدم تعریف شده باشه.
ممنون میشم راهنمایی کنید که چجوری میشه این کار رو با یک دکمه انجام داد و در edittext نمایشش داد.



 
توضیح کلی از کارکرد برنامه و کدها نیز میتونه کمکم کنه ،
در رابطه با باتن ها فقط مشکل هست که کارکرد کدهای جاوا رو سخت میکنه
کسی بتونه توضیح کوچکی از کارکرد برنامه ارایه بده ممنون میشم