آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

moin  11 سال پیش  11 سال پیش
0 0

 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 "";

}
}

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

 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)


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