بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

Crash برنامه ساده دریافت اطلاعات از host

مدیریت گفتگو
moin 11 سال پیش
آخرین تغییر: 11 سال پیش

 package ans.nima;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;


public class Basic1Activity extends Activity {

// public String result;
//public int code;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final EditText edt = (EditText) findViewById(R.id.edt);
final TextView txt = (TextView) findViewById(R.id.txt);

//As client connect to a webpage

new Thread(new Runnable()
{

@Override
public void run() {
// TODO Auto-generated method stub
try {
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost("http://192.168.1.3/new-hospital/android/sel.php");

HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();

InputStream stream = response.getEntity().getContent();
String result = inputStreamToString(stream);
Log.i("LOG", "Code " + code);
Log.i("LOG", "result= " + result);
txt.setText("" + code);
edt.setText("" + code);

}
catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}).start();

}


private String inputStreamToString(InputStream inputStream)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
try
{
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
return "";

}
}

نظرات

moin 11 سال پیش
وقتی textview اضافه می کنم crash می کنه اگر textview رو بردارم مشکلی نداره
محمد آقا 11 سال پیش
خط کدی که مقدار textView رو عوض میکنه داخل Thread بزار.
moin 11 سال پیش
محمد آقا اینطوری که شما عرض کردین اصلا مقداری چاپ نمیکنه
moin 11 سال پیش
بدون ترد کار میکنه اما من با ترد میخوام اجرا کنم ، چیزی که من دستگیرم شد ، میگه بجز ترد اصلی mainthread ترد دیگه نمیتونه textview رو مقداردهی کنه
کاشی زاده 11 سال پیش
تغییر در رابط کاربری در تردی به غیر از ترد مین باعث کرش برنامه میشه ، از هندلر برای اعمال تغییر در بخش های UI استفاده کنید .

پاسخ‌ها 1

moin 11 سال پیش

 06-30 12:48:17.833: I/LOG(823): Code 200
06-30 12:48:17.833: I/LOG(823): result= <!doctype html><html><head><meta charset="utf-8"><!-- TemplateBeginEditable name="doctitle" --><title>صفحه ی اصلی</title><div align="right"><script language="javascript">function day(){var m= new Date();var day=m.getDay();if(day=='0')return "یکشنبه";else if(day=='1')return "دوشنبه";else if(day=='2')return " سه شنبه" ;else if(day=='3')return "چهارشنبه" ;else if(day=='4')return "پنجشنبه" ;else if(day=='5')return "جمعه";else if(day=='6') return "شنبه";}var m= new Date();document.write("امروز"+day()+" ");</script><form name="show_time_1297111207"><input style="text-align:center;font-size:13px;font-family:arial;width:50px;background-color:transparent;border:0px;" name="show_time_1297111207"><script language="JavaScript">function show_time_1297111207(){d=new Date();H=d.getHours();H=(H<10)?"0"+H:H;i=d.getMinutes();i=(i<10)?"0"+i:i;s=d.getSeconds();s=(s<10)?"0"+s:s;document.show_time_1297111207.show_time_1297111207.value=H+":"+i+":"+s;setTimeout("show_time_1297111207()",1000)};show_time_1297111207();</script></form></div><script type="text/javascript" src="slideshow/js/jquery.js"></script><script type="text/javascript" src="slideshow/js/coin-slider.min.js"></script><link rel="stylesheet" type="text/css" href="slideshow/css/slider-style.css"><div align="center"></div><style type="text/css"><!--body { font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif; background-color: #CCC49F; margin: 0; padding: 0; color: #000;}ul, ol, dl { padding: 0; margin: 0;}h1, h2, h3, h4, h5, h6, p { alignment-adjust:central; margin-top: 0; padding-right: 15px; padding-left: 15px; }a img { border: none;}a:link { color: #42413C; text-decoration: underline;}a:visited { color: #6E6C64; text-decoration: underline;}a:hover, a:active, a:focus { text-decoration: none;}.container { width: 960px; background-color: #FFFFFF; margin: 0 auto;}header { background-color: #ADB96E;}.sidebar1 { float: right; width: 180px; background-color: #EADCAE; padding-bottom: 10px;}.content { padding: 10px 0; width: 600px; float: left;}aside { float: right; width: 180px; background-color: #EADCAE; padding: 10px 0;}.content ul, .content ol { padding: 0 15px 15px 40px; }ul.nav { list-style: none; border-top: 1px solid #666; margin-bottom: 15px; }ul.nav li { border-bottom: 1px solid #666;}ul.nav a, ul.nav a:visited { padding: 5px 5px 5px 15px; display: block; width: 160px; text-decoration: none; background-color: #C6D580;}ul.nav a:hover, ul.nav a:active, ul.nav a:focus { background-color: #ADB96E; color: #FFF;}/* ~~ The footer ~~ */footer { padding: 10px 0; background-color: #CCC49F; position: relative; clear: both; }.fltrt { float: right; margin-left: 8px;}.fltlft { float: left; margin-right: 8px;}.clearfloat { clear:both; height:0; font-size: 1px; line-height: 0px;}header, section, footer, aside, article, figure { display: block;}--></style></head><body dir="rtl" ><div class="container"> <header><img src="Images/imamali.jpg"></header> <div class="sidebar1" align="right"> <ul class="nav"> <li><a href="patient/generalinformation.pdf">خدمات ارائه شده بیمارستان</a></li> <li><a href="agenda.php">اعلانات بیمارستان</a></li> <li><a href="patient/doctors.php">پذیرش</a></li> <li><a href="search.php">جستجوی پزشکان</a></li> <li><a href="patient.php">قسمت ویژه بیماران</a></li> <li><a href="doctors.php">قسمت ویژه پزشکان</a></li> <li><a href="admin.php">مدیریت سایت </a></li> <li><a href="gpursuit.php">پیگیری نوبت ها</a></li> <li><a href="poll.php">نظرسنجی بهترین پزشکان</a></li> <li><a href="#">درباره ی ما</a></li> <li><a href="#">دریافت نسخه اندرویدی سایت</a></li> </ul> <!-- end .sidebar1 --></div> <article class="content"> <h1 align="center">به بیمارستان امام علی (ع)خوش آمدید</h1> <section> <h3 dir> <div id="slider"> <img alt=""
06-30 12:48:17.833: W/dalvikvm(823): threadid=7: thread exiting with uncaught exception (group=0x4001d800)
06-30 12:48:17.853: E/AndroidRuntime(823): FATAL EXCEPTION: Thread-8
06-30 12:48:17.853: E/AndroidRuntime(823): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.ViewRoot.checkThread(ViewRoot.java:2802)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.ViewRoot.requestLayout(ViewRoot.java:594)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.View.requestLayout(View.java:8125)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.View.requestLayout(View.java:8125)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.View.requestLayout(View.java:8125)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.View.requestLayout(View.java:8125)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.view.View.requestLayout(View.java:8125)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.widget.TextView.checkForRelayout(TextView.java:5378)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.widget.TextView.setText(TextView.java:2688)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.widget.TextView.setText(TextView.java:2556)
06-30 12:48:17.853: E/AndroidRuntime(823): at android.widget.TextView.setText(TextView.java:2531)
06-30 12:48:17.853: E/AndroidRuntime(823): at ans.nima.Basic1Activity$1.run(Basic1Activity.java:54)
06-30 12:48:17.853: E/AndroidRuntime(823): at java.lang.Thread.run(Thread.java:1096)

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .