بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
json
مدیریت گفتگو
آخرین تغییر: 10 سال پیش
با سلام و احترام من برنامه جیسون رو می خواستم اجرا کنم جواب نگرفتم و در حقیقت می خوام دیتا بیس php رو به اندروید وصل کنم که دیدم باید از جیسون استفاده کنم اولا اگه یه راه ایمن تر و بهتری هست بفرمایید و الا من با این برنامه جیسون جواب نگرفتم لطف کنید برنامه مو ببینید . ممنون . از برنامه خود آقای آقاجانی هم استفاده کردم اونم جواب نداد !!!!این برنامه سمت سرورم :
<?php
$array=array();
$array[]=2;
$array[]=3;
$array[]=4;
$array[6]=2;
$array["hello"]=2;
$array["hello2"]="some string";
$anotherArray=array();
for($i=0;$i<10;$i++){
$anotherArray[]=$i;
}
$array["Another Array"]=array(
"Test1"=>2,
"Test2"=>"HEllo",
3=>"my string",
4=>array(
"a"=>"abcd",
"b"=>2,
),
"ForLoop"=>$anotherArray,
);
echo json_encode($array);
print_r($array);
?>
package ir.smartcod.and;
import ir.smartcod.and.R.string;
import java.io.InputStream;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class AndActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet("http://192.168.1.4/it/business%20_center/android/and1.php");
try {
HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();
Log.i("LOG", "code" + code);
InputStream stream = response.getEntity().getContent();
string result = inputstreamToString(stream);
Log.i("LOG", "result" + result);
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
private string inputstreamToString(InputStream stream) {
// TODO Auto-generated method stub
return null;
}
}
پاسخها 7
سلام. ممنون . بله روی مرورگر بهم جواب می ده . بله آی پی لوکال من 192.168.1.4 بود اون موقع . بله امولاتور رو از قسمت avd mannager انتخاب کردم و start رو زدم یه بار هم run as anrroid رو زدم اما متاسفانه خروجی ندارم !!!
نظرات
احتمالا امولاتور شما دسترسی به اینترنت رو نداره ! حداقل code : 200 رو باید توی لاگ نمایش بده ، توی مرورگر امولاتور چند لینک رو تست کنید
می خواستم ببینم امکانش هست بصورت team viewer برنامه مو چک کنید .ممنون میشم
نظرات
داداش لازم نیست برای هر چیزی که می نویبسی پاسخ درج کنی نظر بزار کد ها را در پاسخ ها بزار
فایل php فقط جیسون میده مطمئن هستی که کاراکتر دیگه ای باهاش نمیاد
سلام .اره مطمئنم
سلام .اره مطمئنم
ممنون . اخه من بلد نیستم ایجا چطورییه دقیقا . می تونید کدمو چک کنید لطفا؟!
print_r($array); نباید باشه جیسون را به هم میریزه اگه کامنت نباشه
برش داشتم اما بازم جواب نمی ده اینم عکس از صفحه ام
میشه با team viewer چک کرد؟!کسی هست لطفا؟
دوست عزیز نیازی به تیم ویور نیست. شما پروژه رو توی یک فایل زیپ بذار آپلودش کن بذار اینجا هرکی تونست دانلود میکنه بررسی میکنه. ایشالا حل میشه مشکلت.
باشه ممنون اما فایل زیپو کجا باید بذارم تو گزینه ها نیست !!! فقط آپلود عکسه
دوست خوبم موقعی که می خوای کدهاتو بزاری توی سایت روی گزین source code کلیک کنید بعد کدهاتونو داخلش قرار بدین تا هم خواناتر بشه وهم این که قوانین سایت رو رعایت کرده باشین
ممنون .قرار دادم
package ir.smartcod.and;
import ir.smartcod.and.R.string;
import java.io.InputStream;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class AndActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet("http://192.168.1.4/it/business%20_center/android/and1.php");
try {
HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();
Log.i("LOG", "code" + code);
InputStream stream = response.getEntity().getContent();
string result = inputstreamToString(stream);
Log.i("LOG", "result" + result);
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
private string inputstreamToString(InputStream stream) {
// TODO Auto-generated method stub
return null;
}
}
<?php
$array=array();
$array[]=2;
$array[]=3;
$array[]=4;
$array[6]=2;
$array["hello"]=2;
$array["hello2"]="some string";
$anotherArray=array();
for($i=0;$i<10;$i++){
$anotherArray[]=$i;
}
$array["Another Array"]=array(
"Test1"=>2,
"Test2"=>"HEllo",
3=>"my string",
4=>array(
"a"=>"abcd",
"b"=>2,
),
"ForLoop"=>$anotherArray,
);
echo json_encode($array);
?>
نظرات
سلام دوست عزیز ، این کد هایی که الان تو این قسمت قرار دادین داخل ایکلیپس از شما ایراد نمیگیره ؟ چون من کپی کردم که تستش کنم چند جاش اشکال syntax داشت ، در این تابع inputstreamToString که تعریف کردین خروجی رو گذاشتین string حرف s باید با حروف بزرگ باشه String ، در این جا هم همینطور که این متغیر رو تعریف کردین string result حرف s باید با حروف بزرگ باشه String ، اگر داخل برنامه شما هم واقعا اینطور هست تغییر بدین ، حالا خطاها رو برطرف کنم برنامه رو چک میکنم
بعد اینکه تابع inputstreamToString که نوشتین چرا دستوری داخلش نیست حالا نمیدونم واقعا ننوشتین یا در اینجا نیاوردین ، به هر حال من برنامه شما رو تست کردم و خرو جی گرفتم فایل php شما مشکلی نداره به شرط اینکه در موقغ ذخیره کردن با فرمت ANSI ذخیره کرده باشین نه نوع UTF-8 ، من کد درست رو در پاسخ برای شما قرار میدم من با این کد تونستم جیسونی که در فایل php نوشتیم رو در logcat خودم ببینم
ممنون. من بازم مشکل دارم میشه لطف کنید فایل zip اشو برام بفرستید ببینم مشکلم از کجاست .ممنون
reza_johari633@yahoo.com
من یه همچین error ای دارم و تو قسمت avd mannager وقتی GPU emulation رو فعال می کنم دیگه اصلا برنامه ام اجرا نمی شه اما وقتی برش می دارم این خطا رو می ده !! خلاصه الان یک یه چند مدته گیرش افتادم اگه یه نفر لطف کنه با تیم ویور چک کنه ممنون میشم چون ظاهرا همه چی درسته اما اجرا نمی شه
اول اینکه permission اینترنت رو در AndroidManifest چک کنین که یادتون نرفته باشه
public class TestForSiteActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet("http://192.168.42.212/site-test1/test.php");
try {
HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();
Log.i("LOG", "code" + code);
InputStream stream = response.getEntity().getContent();
String result = convertInputStreamToString(stream);
Log.i("LOG", "result" + result);
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
private static String convertInputStreamToString(InputStream inputStream) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
return builder.toString();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
نظرات
نظرات
ارورهایی که در لاگ شما نمایش داده میشود ناقص میباشد و چیزی اصلا مشخص نیست از ترد هم در اتصال به سرور استفاده نمایید
سلام . من دقیقا کد ایشون hossein_hr10 که بدون ترد بود رو استفاده کردم خودش بدون ترد جواب گرفتن اما من نه !!!! و این که استفاده از ترد رو تو جاوا بلد نیستم !. بازم ممنون از جوابتون
نظرات
مطالعه این لینک برای درک بهتر خطایابی برای شما مفید خواهد بود
جناب کاشی زاده چرا هی منو پاس می دید ! شما که ماشالله واردی و استاد و من ارور رو برای شما فرستادم ! و این پروژه ای هست که خود شما زحمت کشیدید برای من ارسال کردید !!! من دنبال حل مشکلم هستم شما که خودتون استاد هستید من ارورمو برای شما ارسال کردم خیلی مشخص !!!
دوست گرامی ، شما هنوز اطلاعی دقیقی از مشکل پروژه ندارید . هنوز نحوه خطایابی پروژه را به خوبی درک نکرده اید و Log که قرار داده اید ارتباطی با خطای سورس و یا لاجیک ندارد ، بهتر است اول ویدئو را مطالعه کنید تا فرق خطا و verbose را متوجه شوید بعد برید به سراغ اینکه آیا مشکل شما از سورس کدهاست یا از شبیه ساز !!!
خب من اگه اطلاع داشتم که مزاحم شما نمی شدم که !!!!
شما که تفاوتشو می دونید بفرمایید چکار کنم ! من فک می کنم مشکلم از شبیه ساز هست چون کد خودم و کد فیلم و کد ارسالی شما رو استفاده کردم اما جواب نگرفتم ! خب اما مشکل چیه !!! شما که اجرا کردید و جواب گرفتید یه پک کنید کد منو فک می کنم الان جواب گرفته بودم تا الان یک ماه بشینم چت کنم !!!!!
شما وقتی اطلاع ندارید باید ویدئو ها و توضیحاتی بنده و یا دیگر دوستان براتون قرار میدیم را مطالعه کنید، مشکل شما از عدم مطالعه دقیق آموزشهاست ، در بالاتر یکی از مشکلات شما رو من پیدا کردم که هیچ ارتباطی با سورس کلاینت ندارد و دقیقا مشکل به سرور ساید بر میگردد . چرا تا به این لحظه کسی متوجه این خطا نبود ؟ به خاطر این که شما تاپیکتون کثیف بود و کد هاتون رو به صورت مرتب شده نمایش نداده بودید .
جناب کاشی زاده ....من کد شما که زحمت کشیدید فرستادید رو اجرا کردم !!و این که در قسمت اضافه کردن نظر هیچ جایی نیست که من فایل یا عکس بفرستم بجز در قسمت درج پاسخ سایت !!! که این مشکل من نیست مشکل سایت شماست !
نیازی به انجام کار عجیب و یا امکانات عجیبی نیست ، خطاهاتون رو به صورت متنی و نه تصویری داخل تگ سورس مثل کد های برنامه نویسی که دوستان قرار دادند ، میتونید ارسال کنید . الان هم کامنت های جدیدی که در سوال اول قرار دادم را مطالعه کنید .
09-09 05:00:44.286: W/System.err(656): java.io.FileNotFoundException: /mnt/sdcard/testWebserviceModule/cache/90E8EEF113AF575AAAD9796CBEC8E5E4FD61F4AA.dat: open failed: ENOENT (No such file or directory) 09-09 05:00:44.376: W/System.err(656): at libcore.io.IoBridge.open(IoBridge.java:406) 09-09 05:00:44.426: W/System.err(656): at java.io.FileInputStream.<init>(FileInputStream.java:78) 09-09 05:00:44.426: W/System.err(656): at java.io.FileInputStream.<init>(FileInputStream.java:105) 09-09 05:00:44.426: W/System.err(656): at com.uncocoder.course.app.webservice_module.ModuleWebservice.readFromCache(ModuleWebservice.java:280) 09-09 05:00:44.426: W/System.err(656): at com.uncocoder.course.app.webservice_module.ModuleWebservice.read(ModuleWebservice.java:113) 09-09 05:00:44.426: W/System.err(656): at com.uncocoder.course.app.webservice_module.TestModuleWebservice.test1(TestModuleWebservice.java:51) 09-09 05:00:44.436: W/System.err(656): at com.uncocoder.course.app.webservice_module.G.onCreate(G.java:25) 09-09 05:00:44.436: W/System.err(656): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969) 09-09 05:00:44.436: W/System.err(656): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3954) 09-09 05:00:44.436: W/System.err(656): at android.app.ActivityThread.access$1300(ActivityThread.java:123) 09-09 05:00:44.436: W/System.err(656): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185) 09-09 05:00:44.436: W/System.err(656): at android.os.Handler.dispatchMessage(Handler.java:99) 09-09 05:00:44.466: I/dalvikvm(656): threadid=3: reacting to signal 3 09-09 05:00:44.586: W/System.err(656): at android.os.Looper.loop(Looper.java:137) 09-09 05:00:44.586: W/System.err(656): at android.app.ActivityThread.main(ActivityThread.java:4424) 09-09 05:00:44.586: W/System.err(656): at java.lang.reflect.Method.invokeNative(Native Method) 09-09 05:00:44.586: W/System.err(656): at java.lang.reflect.Method.invoke(Method.java:511) 09-09 05:00:44.586: W/System.err(656): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-09 05:00:44.586: W/System.err(656): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-09 05:00:44.586: W/System.err(656): at dalvik.system.NativeStart.main(Native Method) 09-09 05:00:44.586: W/System.err(656): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) 09-09 05:00:44.586: W/System.err(656): at libcore.io.Posix.open(Native Method) 09-09 05:00:44.586: W/System.err(656): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 09-09 05:00:44.586: W/System.err(656): at libcore.io.IoBridge.open(IoBridge.java:390) 09-09 05:00:44.586: W/System.err(656): ... 18 more 09-09 05:00:44.607: I/dalvikvm(656): Wrote stack traces to '/data/anr/traces.txt' 09-09 05:00:44.806: I/LOG(656): Webservice Data: 09-09 05:00:44.836: D/gralloc_goldfish(656): Emulator without GPU emulation detected.
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام



نظرات