نمایش نتایج 1 تا 19 از 19

نام تاپیک: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

  1. #1

    خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام دوستان خواهش میکنم یکی بگه من چطور باید آدرس سایت رو لوکال رو به برنامه بدم تا بتونم توی اندروید از سایتم داده بگیرم
    من از wamp server php json استفاده کردم خطایی ندارم اما ادرس رو هرچی میدم برنامه force close میشه
    خواهش میکنم یکی نجاتم بده
    ممنون
    راستی من از آموزش این لینک استفاده کردم
    http://www.codeproject.com/Articles/...ur-WAMP-server
    اما نميدونم چه مجوزی دیگر ای باید به برنامه بدم و یا چه تنظیماتی انجام بدم ..:'(
    هر ip میدم نمیشه
    آخرین ویرایش به وسیله asemaneiran : یک شنبه 23 خرداد 1395 در 08:15 صبح

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    شما اگر از Emulator استفاده میکنید خب مسلمه آی پی 127.0.0.1 به خود دستگاه اندرویدی Emulator ارجاع میده.
    در صورتی که Wamp روی سیستم شما در حال اجراست و به عنوان یک دستگاه در شبکه محلی است.

    دسترسی به اینترنت فکر میکنم برای این مورد کافی باشه.
    پست دوم این لینک رو http://stackoverflow.com/questions/8...mysql-database بخونید.


    ---------------------
    ضمنا موضوع تاپیک با قوانین انجمن سازگار نیست. "خواهش میکنم ..." . بهتره بنویسید مثلا: "ارتباط اندروید از طریق شبیه ساز با دیتابیس در کامپیوتر"
    آخرین ویرایش به وسیله vahid-p : یک شنبه 23 خرداد 1395 در 09:05 صبح

  3. #3

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام ممنون که جواب میدید خوبه لااقل شما هستید خدا خیرتون بده
    من لیکن رو دیدم لوکال هاست جای ip گذاشتم اما بازم نشد..

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    نقل قول نوشته شده توسط asemaneiran مشاهده تاپیک
    سلام ممنون که جواب میدید خوبه لااقل شما هستید خدا خیرتون بده
    من لیکن رو دیدم لوکال هاست جای ip گذاشتم اما بازم نشد..
    شما اون مطلب رو نخوندید که!
    خیلی واضح نوشته:
    If you're running this within the emulator localhost:3306 won't work. Replace that with the IP address of the machine running MySQL. So for example if your local dev machine (running MySQL) uses IP 192.168.0.10, change that to 192.168.0.10:3306
    که توضیح دادم که سیستم (ویندوز یا لینوکس و...) شما برای Emulator دستگاه اندرویدی لوکال نیست که بخواید با آی پی 127.0.0.1 دسترسی داشته باشید (توجه کنید عبارت localhost هم معادل همین 127.0.0.1 هست و تفاوتی نداره)

    مثلا الان من به اینترنت مودم وای فای متصلم و آی پی در شبکه محلی که معمولا به فرم 192.168xxxxxx است، برای من: 192.168.1.105 شما میتونید چنین آی پی رو در برنامتون وارد کنید و دستگاه اندرویدی به سیستم شما از طریق شبکه محلی متصل میشه نه لوکال هاست. البته ممکنه دسترسی به پورت 3306 که برای دیتابیس mysql هست مسدود باشه (از طریق firewall) که تو اینترنت سرچ بزنید چطور دسترسی به این پورت رو از طریق فایروال آزاد بذارید.

    تو عکس زیر میتونی نحوه پیدا کردن آی پی در شبکه محلی رو ببینی:

  5. #5

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    خود شبیه ساز از شبکه برای ارتباط استفاده می کنه واسه همین 127.0.0.1 به یه جای دیگه برمیگرده به جای لوکال هاست. باید بنویسید : 10.0.2.2
    اگه برات سواله که چرا این IP لینک زیر رو ببین:
    http://stackoverflow.com/questions/9...using-computer

  6. #6

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام
    سپاس از لطفتون
    من ipconfig توی cmd زدم و ip v4 رو توی برنامه و مرورگر زدم اما سایت لوکال بالا نیامد. ...
    این پورت رو هم آزاد کردم باز نشد...
    بهرحال ممنون

  7. #7

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    من با آموزش این آدرس
    http://serverfault.com/questions/260...ough-port-3306
    پورت رو باز کردم
    اما نشد

  8. #8
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    اگر براتون امکان داره سورس کد برنامه + دیتابیس نمونه رو قرار بدید تا چک کنیم شاید مشکل از چیز دیگه ای باشه

  9. #9

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    کدهای با کدهای سایت codeproject مو نمیزنه چندبار چک کردم مشکل ip هست شما راه دیگر ای به نظرتون نمیرسه؟؟؟
    چون با نوشتن local host , سایت رو لوکال اجرا میشه اما با ای پی دیگر غیر 127 و لوکال هاست اجرا نميشه
    آخرین ویرایش به وسیله asemaneiran : سه شنبه 25 خرداد 1395 در 18:44 عصر

  10. #10

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    اموزشی از سایت کلیدستان پیدا کردم
    این کل اون کدهایی هست که طبق اموزششون نوشتم اما جواب نمیده و برنامه force close می شه
    روی هاست رایگان هم امتحان کردم باز برنامه در اجرا بسته شد
    میشه لطف کنید کدها رو ببینید
    public class MainActivity extends ListActivity {

    private ProgressDialog pd;
    JSONParser jparser=new JSONParser();
    ArrayList<HashMap<String, String>> p;
    JSONArray s=null;

    private final String url="http://localhost/test/test.php?name=hamid&city=tehran";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    p=new ArrayList<HashMap<String, String>>();
    new news().execute();

    }

    class news extends AsyncTask<String, String, String>
    {
    @Override
    protected void onPreExecute() {
    super.onPreExecute();
    pd=new ProgressDialog(MainActivity.this);
    pd.setMessage("Login");
    pd.show();



    }

    @Override
    protected String doInBackground(String... args) {

    List<NameValuePair> parms=new ArrayList<>();
    JSONObject json=jparser.makeHttpRequest(url, "GET", parms);


    try {

    int t=json.getInt("t");
    if(t==1)
    {
    s=json.getJSONArray("news");
    for(int i=0;i<s.length();i++)
    {
    JSONObject c=s.getJSONObject(i);
    String title=c.getString("title");
    String detailes=c.getString("detailes");
    String date=c.getString("date");
    String time=c.getString("time");

    String author=c.getString("author");

    HashMap<String, String> map=new HashMap<String, String>();
    map.put(title, "title");
    map.put(detailes, "detailes");
    map.put(date, "date");
    map.put(time, "time");

    map.put(author, "author");

    p.add(map);





    }

    }else
    {
    Toast.makeText(MainActivity.this, "not Found data", Toast.LENGTH_SHORT).show();

    }

    } catch (JSONException e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    return null;

    }

    @Override
    protected void onPostExecute(String s) {
    super.onPostExecute(s);
    pd.cancel();
    runOnUiThread( new Runnable() {
    @Override
    public void run() {
    ListAdapter adapter=new SimpleAdapter(MainActivity.this,p,R.layout.list_it em,
    new String[]{"title","detailes","date","time","author"},
    new int[]{R.id.textViewtitle,R.id.textViewdetailes,R.id.tex tViewdate,R.id.textViewime,R.id.textViewauthor});
    setListAdapter(adapter);

    }
    });



    }
    }
    -----------------------------------------------------------
    فایل php
    <?php
    if(isset($_GET['name']) && isset($_GET['city'])){
    $name = $_GET['name'];
    $name = htmlspecialchars($name);
    $name = strip_tags($name);

    $city = $_GET['city'];
    $city = htmlspecialchars($city);
    $city = strip_tags($city);

    echo "name : ".$name." --- city : ".$city."";
    }
    ?>

  11. #11

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    بابا کسی نیست جواب بده
    لااقل یه نمونه کوچیک بزاره
    لطفا

  12. #12
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    ip ها درسته. هم ip که دوستمون گفتن 10.0.2.2 و هم اون ip که گفتم چطور بدست میارید رو هر دو تست کردم و به راحتی جواب گرفتم.
    برای اینکه مطمئن بشید ip ها درسته و مشکل از برنامتون هست، کافیه از طریق Emulator و از طریق منو Browser رو باز کنید و این ip ها رو وارد کنید، و ببینید جواب میگیرید.
    وقتی مطمئن شدید ip درسته و وب سرور درست کار میکنه، پس میمونه برنامه ای که مینویسید که مرتبط با برنامه نویسی اندروید هست


  13. #13

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام
    ممنون از جوابتون
    من تو مرورگر با ip 127.0.0.1 وlocalhost جواب گرفتم
    توی cm هم ipconfig زدم وipv4 رو بهم داد اما توی مرورگر جواب نداد و سایت بالا نیامد. اون پورت 3306 رو چک کردم توی کنترل پنل بهش دسترسی نداشتم انگار ؟ نميدونم چرا و چطور؟
    چشم با این 10.0.0.2 هم چک میکنم
    ممنونم

  14. #14

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    توی شبیه ساز آندروید با ip ی که شما گفتید اجرا شد اما با 127 و لوکال هاست نه
    توی مرورگر فقط با 127 و لوکال هاست جواب میدهد و بس
    حالا مشکل از کجاست به نظرتون ممنون میشم نجاتم بدید. .
    دیوانم کرده

  15. #15

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام
    توی logcat برای کدهای کلیدستان این خطا میاد
    E/Buffer Error(1747): Error converting result java.lang.NullPointerException
    E/Buffer Error(1802): Error converting result java.lang.NullPointerException
    و برای کدهای سایت codeproject این خطا ها
    E/Buffer Error(1862): Error converting resultjava.lang.NullPointerException
    E/json parser(1862): Error parsing dataorg.json.JSONException: End of input at character 0 of
    E/AndroidRuntime(1862): FATAL EXCEPTION: AsyncTask #1
    E/AndroidRuntime(1862): java.lang.RuntimeException: An error occured while executing doInBackground()
    E/AndroidRuntime(1862): at android.os.AsyncTask$3.done(AsyncTask.java:278)
    E/AndroidRuntime(1862): at java.util.concurrent.FutureTask$Sync.innerSetExcep tion(FutureTask.java:273)
    E/AndroidRuntime(1862): at java.util.concurrent.FutureTask.setException(Futur eTask.java:124)
    E/AndroidRuntime(1862): at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:307)
    E/AndroidRuntime(1862): at java.util.concurrent.FutureTask.run(FutureTask.jav a:137)
    E/AndroidRuntime(1862): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTas k.java:208)
    E/AndroidRuntime(1862): at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1076)
    E/AndroidRuntime(1862): at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:569)
    E/AndroidRuntime(1862): at java.lang.Thread.run(Thread.java:856)
    E/AndroidRuntime(1862): Caused by: java.lang.NullPointerException
    E/AndroidRuntime(1862): at com.example.senddata.MainActivity$news.doInBackgro und(MainActivity.java:66)
    E/AndroidRuntime(1862): at com.example.senddata.MainActivity$news.doInBackgro und(MainActivity.java:1)
    E/AndroidRuntime(1862): at android.os.AsyncTask$2.call(AsyncTask.java:264)
    E/AndroidRuntime(1862): at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:305)
    E/AndroidRuntime(1862): ... 5 more
    E/WindowManager(1862): Activity com.example.senddata.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$Decor View@a06998b0 that was originally added here
    E/WindowManager(1862): android.view.WindowLeaked: Activity com.example.senddata.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$Decor View@a06998b0 that was originally added here
    E/WindowManager(1862): at android.view.ViewRootImpl.<init>(ViewRootImpl.java :344)
    E/WindowManager(1862): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:267)
    E/WindowManager(1862): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:215)
    E/WindowManager(1862): at android.view.WindowManagerImpl$CompatModeWrapper.a ddView(WindowManagerImpl.java:140)
    E/WindowManager(1862): at android.view.Window$LocalWindowManager.addView(Win dow.java:537)
    E/WindowManager(1862): at android.app.Dialog.show(Dialog.java:278)
    E/WindowManager(1862): at com.example.senddata.MainActivity$news.onPreExecut e(MainActivity.java:51)
    E/WindowManager(1862): at android.os.AsyncTask.executeOnExecutor(AsyncTask.j ava:561)
    E/WindowManager(1862): at android.os.AsyncTask.execute(AsyncTask.java:511)
    E/WindowManager(1862): at com.example.senddata.MainActivity.onCreate(MainAct ivity.java:40)
    E/WindowManager(1862): at android.app.Activity.performCreate(Activity.java:4 465)
    E/WindowManager(1862): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1049)
    E/WindowManager(1862): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1920)
    E/WindowManager(1862): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1981)
    E/WindowManager(1862): at android.app.ActivityThread.access$600(ActivityThre ad.java:123)
    E/WindowManager(1862): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1147)
    E/WindowManager(1862): at android.os.Handler.dispatchMessage(Handler.java:99 )
    E/WindowManager(1862): at android.os.Looper.loop(Looper.java:137)
    E/WindowManager(1862): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
    E/WindowManager(1862): at java.lang.reflect.Method.invokeNative(Native Method)
    E/WindowManager(1862): at java.lang.reflect.Method.invoke(Method.java:511)
    E/WindowManager(1862): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
    E/WindowManager(1862): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
    E/WindowManager(1862): at dalvik.system.NativeStart.main(Native Method)
    E/Buffer Error(1914): Error converting resultjava.lang.NullPointerException
    E/json parser(1914): Error parsing dataorg.json.JSONException: End of input at character 0 of
    E/AndroidRuntime(1914): FATAL EXCEPTION: AsyncTask #1
    E/AndroidRuntime(1914): java.lang.RuntimeException: An error occured while executing doInBackground()
    E/AndroidRuntime(1914): at android.os.AsyncTask$3.done(AsyncTask.java:278)
    E/AndroidRuntime(1914): at java.util.concurrent.FutureTask$Sync.innerSetExcep tion(FutureTask.java:273)
    E/AndroidRuntime(1914): at java.util.concurrent.FutureTask.setException(Futur eTask.java:124)
    E/AndroidRuntime(1914): at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:307)
    E/AndroidRuntime(1914): at java.util.concurrent.FutureTask.run(FutureTask.jav a:137)
    E/AndroidRuntime(1914): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTas k.java:208)
    E/AndroidRuntime(1914): at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1076)
    E/AndroidRuntime(1914): at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:569)
    E/AndroidRuntime(1914): at java.lang.Thread.run(Thread.java:856)
    E/AndroidRuntime(1914): Caused by: java.lang.NullPointerException
    E/AndroidRuntime(1914): at com.example.senddata.MainActivity$news.doInBackgro und(MainActivity.java:69)
    E/AndroidRuntime(1914): at com.example.senddata.MainActivity$news.doInBackgro und(MainActivity.java:1)
    E/AndroidRuntime(1914): at android.os.AsyncTask$2.call(AsyncTask.java:264)
    E/AndroidRuntime(1914): at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:305)
    E/AndroidRuntime(1914): ... 5 more
    E/WindowManager(1914): Activity com.example.senddata.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$Decor View@a069a648 that was originally added here
    E/WindowManager(1914): android.view.WindowLeaked: Activity com.example.senddata.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$Decor View@a069a648 that was originally added here
    E/WindowManager(1914): at android.view.ViewRootImpl.<init>(ViewRootImpl.java :344)
    E/WindowManager(1914): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:267)
    E/WindowManager(1914): at android.view.WindowManagerImpl.addView(WindowManag erImpl.java:215)
    E/WindowManager(1914): at android.view.WindowManagerImpl$CompatModeWrapper.a ddView(WindowManagerImpl.java:140)
    E/WindowManager(1914): at android.view.Window$LocalWindowManager.addView(Win dow.java:537)
    E/WindowManager(1914): at android.app.Dialog.show(Dialog.java:278)
    E/WindowManager(1914): at com.example.senddata.MainActivity$news.onPreExecut e(MainActivity.java:54)
    E/WindowManager(1914): at android.os.AsyncTask.executeOnExecutor(AsyncTask.j ava:561)
    E/WindowManager(1914): at android.os.AsyncTask.execute(AsyncTask.java:511)
    E/WindowManager(1914): at com.example.senddata.MainActivity.onCreate(MainAct ivity.java:43)
    E/WindowManager(1914): at android.app.Activity.performCreate(Activity.java:4 465)
    E/WindowManager(1914): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1049)
    E/WindowManager(1914): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1920)
    E/WindowManager(1914): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1981)
    E/WindowManager(1914): at android.app.ActivityThread.access$600(ActivityThre ad.java:123)
    E/WindowManager(1914): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1147)
    E/WindowManager(1914): at android.os.Handler.dispatchMessage(Handler.java:99 )
    E/WindowManager(1914): at android.os.Looper.loop(Looper.java:137)
    E/WindowManager(1914): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
    E/WindowManager(1914): at java.lang.reflect.Method.invokeNative(Native Method)
    E/WindowManager(1914): at java.lang.reflect.Method.invoke(Method.java:511)
    E/WindowManager(1914): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
    E/WindowManager(1914): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
    E/WindowManager(1914): at dalvik.system.NativeStart.main(Native Method)



  16. #16
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    توی مرورگر فقط با 127 و لوکال هاست جواب میدهد و بس
    توی مرورگر منظورتون چیه؟ مرورگر اندروید (Emulator) یا مرورگر دسکتاپ؟ خب مسلمه مرورگر دسکتاپ که داخل شبیه ساز نیست و مستقیما روی لوکال داره اجرا میشه و localhost و 127.0.0.1 درسته و الان بحث ما مرورگر دسکتاپتون نیست داریم در مورد Emulator صحبت می کنیم.
    ولی در مرورگر اندروید (یعنی Browser در Emulator) آی پی های 10.0.2.2 و آی پی شبکه محلی که مثل 192.168xxxxxx است جواب میده (که دلیلش رو باید در شبکه کامپیوتری بخونید)

    پورت 3306 رو بیخیال بشید. من فکر کردم شما میخواید به دیتابیس MySql متصل بشید که رو پورت 3306 است. اما شما ورودیتون رو از یه فایل php میگیرید (از طریق http) که روی پورت 80 است. پورت پیشفرض برای http هم 80 پس نیازی نیست پورت رو وارد کنید مثل همون مثالی که زدم (اگر نشد، پورت رو هم وارد کنید)

    سعی میکنم یه برنامه ساده بنویسم که عملکردش رو ببینید. هر چند طبق این مثال میبینید آی پی درسته و برنامتون مشکل داره.

    ضمنا ردیف کردن خطاها وقتی خطا واضح نیست، نمیتونه کمکی به ما بکنه تا بتونیم راهنمایی کنیم. مثلا
    E/Buffer Error(1747): Error converting result java.lang.NullPointerException
    که باید برنامش رو داشته باشیم تا بتونیم تشخیص بدیم مشکل از چیه.

    خواستید برنامتون رو (zip شده کل پروژه نه فقط کد یک کلاس) رو بذارید تا debug بشه (شما یه سری کد اینجا گذاشتید، بدون layout و... که باید کلی وقت صرف کنیم پروژه رو درست کنیم تا بشه اجراش کرد!!!)

  17. #17
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    اینم یه مثال:
    به AndroidManifest.xml دسترسی رو به اینترنت اضافه کن: (اگر برای اندروید 6 میخواید باید در run-time دسترسی رو هم چک کنی)
    <uses-permission android:name="android.permission.INTERNET"/>


    کد layout رو بذار:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/urlBox"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="42dp"
    android:enabled="true"
    android:hint="Enter Address"
    android:layout_toLeftOf="@+id/button"
    android:layout_toStartOf="@+id/button" />

    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Submit"
    android:id="@+id/button"
    android:layout_alignBottom="@+id/urlBox"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Content"
    android:id="@+id/resultBox"
    android:layout_below="@+id/button"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/button"
    android:layout_alignEnd="@+id/button" />

    </RelativeLayout>


    و کد جاوای متناظر با این layout:

    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.Scanner;


    public class MainActivity extends Activity {
    private Button submit;
    private EditText urlBox;
    private TextView resultBox;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    submit=(Button) findViewById(R.id.button);
    urlBox=(EditText) findViewById(R.id.urlBox);
    resultBox=(TextView) findViewById(R.id.resultBox);
    submit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    new Browser().execute(urlBox.getText().toString());
    Toast.makeText(getApplicationContext(),"Fetching from "+urlBox.getText().toString(),Toast.LENGTH_SHO RT);
    }
    });
    }

    class Browser extends AsyncTask<String, Void,String>{

    @Override
    protected String doInBackground(String... strings) {
    if(strings==null || strings.length<1){
    return "";
    }
    HttpURLConnection connection = null;
    StringBuilder stringBuilder=new StringBuilder("");
    try {
    URL url=new URL(strings[0]);
    connection = (HttpURLConnection) url.openConnection();
    connection.connect();
    //Response
    if(connection.getResponseCode()==HttpURLConnection .HTTP_OK){
    Scanner cin=new Scanner(connection.getInputStream());
    while (cin.hasNextLine()){
    stringBuilder.append(cin.nextLine());
    }
    }
    } catch (MalformedURLException e) {
    Toast.makeText(getApplicationContext(),"Address is not valid ",Toast.LENGTH_LONG);
    } catch (IOException e) {
    Toast.makeText(getApplicationContext(),"Error in Connection ",Toast.LENGTH_LONG);
    } finally {
    if(connection!=null){
    connection.disconnect();
    }
    return stringBuilder.toString();
    }
    }

    @Override
    protected void onPostExecute(String s) {
    resultBox.setText(s);
    }
    }
    }


    و خروجی:

  18. #18

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    سلام
    ممنونم از لطفتون
    بفرمایید
    پروژه تست2 خطای ارور کانکشن میده و پروژه تست3 برنامه بسته میشه
    اولی طبق سایت stackoverflow و دومی طبق اموزش codeproject هست
    ممنون میشم ببینیدشون و راهنمایی کنید مشکل کجاست

    prg.rarprg.rarprg.rar

  19. #19
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: خواهش میکنم یکی کمک کنه (ارتباط با لوکال هاست)

    هر چند بازم پروژه رو ناقص فرستادید، ولی برنامه اولت در Thread اصلی connection برقرار کردید که این کار اشتباهه و باید از AsyncTask (یا روشی مثل Message Passing) استفاده کنید. چون connection یک عمل زمان بره و thread اصلی میخواد UI رو آپدیت کنه و شما نباید اون رو با عملیات زمان بر اشغال کنید.

    برنامه دومت رو چک نکردم.
    شما اول یک Connection ساده رو انجام بدید، بعد پارامتر ارسال کنید و فایل Json هندل کنید.

    مثالی که براتون نوشتم دقیقا این کار رو میکنه با همون فایل php که در پست 10 گذاشتید. این رو برای خودتون اجرا کنید، بعد سعی کنید همون رو اگر میخواید با کتابخونه org.apache.http بنویسید و هر وقت جواب گرفتید اونوقت اون رو گسترش بدید (اضافه کردن Json و...)

    به نظرم سوال این تاپیک "ارتباط با لوکال هاست از طریق Emulator" پاسخ داده شده (به همراه کد در پست 17 این تاپیک) و ادامه این تاپیک خارج از بحث بوده و مباحث جزئی مرتبط با اندروید است که در جای خود باید فراگرفته شود.

تاپیک های مشابه

  1. سوال: خواهش میکنم یکی کمکم کنه در مورد gps
    نوشته شده توسط mahan206 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: پنج شنبه 08 مرداد 1394, 14:56 عصر
  2. پاسخ: 10
    آخرین پست: دوشنبه 21 مرداد 1392, 10:36 صبح
  3. پاسخ: 0
    آخرین پست: یک شنبه 29 بهمن 1391, 13:17 عصر
  4. پاسخ: 14
    آخرین پست: سه شنبه 12 دی 1391, 00:22 صبح
  5. گزارش از چند جدول با کریستال ریپورت در vb.net (یکی کمک کنه)
    نوشته شده توسط arms در بخش ابزارهای گزارش سازی
    پاسخ: 3
    آخرین پست: جمعه 17 تیر 1390, 12:57 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •