بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
json
با سلام و احترام من برنامه جیسون رو می خواستم اجرا کنم جواب نگرفتم و در حقیقت می خوام دیتا بیس 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;
}
}
0
0
and1.php روی مرورگر به شما خروجی میده ؟ ایپی لوکال شما اخرش 4 هست ؟ مطمئن هستید امولاتور رو از لیست دیوایس ها انتخاب کردید که لاگ به شما نمایش داده بشه ؟ (9 سال پیش)
+1
0
برای اتصال به اینترنت و خواندن اطلاعات در اندروید 2.1 به بعد باید از ترد جداگانه ای استفاده کنید . مطالعه آموزش ماژول وب سرویس برای شما مفید خواهد بود . (9 سال پیش)
0
0
فایل رو اجرا کردم بازم جواب نداد (9 سال پیش)
0
0
فایل رو اجرا کردم بازم جواب نداد (9 سال پیش)
0
0
دوست گرامی ، من کد های php شما در همینجا رو مرتب کردم ، شما در تولید JSON خطا دارید ، دقیقا این مشکل به خاطر عدم مطالعه دقیق آموزش هاست . (9 سال پیش)
0
0
JSON شما شامل کد های زائد است ، دستور print_r($array) را حذف کنید . (9 سال پیش)
0
0
با تشکر . مشکل حل شد .ممنون (9 سال پیش)
0
0
دو بار json را در خروجی اورده اید با دو دستور echo json_encode($array);
print_r($array);
یکی را حذف کنید (9 سال پیش)
+1
0
ممنون .مشکل حل شد (9 سال پیش)
برای این سوال 7 پاسخ وجود دارد.
پاسخ به سوال
reza
9 سال پیش
0
0
سلام. ممنون . بله روی مرورگر بهم جواب می ده . بله آی پی لوکال من 192.168.1.4 بود اون موقع . بله امولاتور رو از قسمت avd mannager انتخاب کردم و start رو زدم یه بار هم run as anrroid رو زدم اما متاسفانه خروجی ندارم !!!
پاسخ به سوال
reza
9 سال پیش
0
0
می خواستم ببینم امکانش هست بصورت team viewer برنامه مو چک کنید .ممنون میشم
پاسخ به سوال
reza
9 سال پیش
0
0
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 ، اگر داخل برنامه شما هم واقعا اینطور هست تغییر بدین ، حالا خطاها رو برطرف کنم برنامه رو چک میکنم (9 سال پیش)
بعد اینکه تابع inputstreamToString که نوشتین چرا دستوری داخلش نیست حالا نمیدونم واقعا ننوشتین یا در اینجا نیاوردین ، به هر حال من برنامه شما رو تست کردم و خرو جی گرفتم فایل php شما مشکلی نداره به شرط اینکه در موقغ ذخیره کردن با فرمت ANSI ذخیره کرده باشین نه نوع UTF-8 ، من کد درست رو در پاسخ برای شما قرار میدم من با این کد تونستم جیسونی که در فایل php نوشتیم رو در logcat خودم ببینم (9 سال پیش)
پاسخ به سوال
hossein_hr10
9 سال پیش
0
0
اول اینکه 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;
}
}
پاسخ به سوال
reza
9 سال پیش
0
0
مطالعه این لینک برای درک بهتر خطایابی برای شما مفید خواهد بود (9 سال پیش)
دوست گرامی ، شما هنوز اطلاعی دقیقی از مشکل پروژه ندارید . هنوز نحوه خطایابی پروژه را به خوبی درک نکرده اید و Log که قرار داده اید ارتباطی با خطای سورس و یا لاجیک ندارد ، بهتر است اول ویدئو را مطالعه کنید تا فرق خطا و verbose را متوجه شوید بعد برید به سراغ اینکه آیا مشکل شما از سورس کدهاست یا از شبیه ساز !!! (9 سال پیش)
خب من اگه اطلاع داشتم که مزاحم شما نمی شدم که !!!!
شما که تفاوتشو می دونید بفرمایید چکار کنم ! من فک می کنم مشکلم از شبیه ساز هست چون کد خودم و کد فیلم و کد ارسالی شما رو استفاده کردم اما جواب نگرفتم ! خب اما مشکل چیه !!! شما که اجرا کردید و جواب گرفتید یه پک کنید کد منو فک می کنم الان جواب گرفته بودم تا الان یک ماه بشینم چت کنم !!!!!
(9 سال پیش)
شما وقتی اطلاع ندارید باید ویدئو ها و توضیحاتی بنده و یا دیگر دوستان براتون قرار میدیم را مطالعه کنید، مشکل شما از عدم مطالعه دقیق آموزشهاست ، در بالاتر یکی از مشکلات شما رو من پیدا کردم که هیچ ارتباطی با سورس کلاینت ندارد و دقیقا مشکل به سرور ساید بر میگردد . چرا تا به این لحظه کسی متوجه این خطا نبود ؟ به خاطر این که شما تاپیکتون کثیف بود و کد هاتون رو به صورت مرتب شده نمایش نداده بودید . (9 سال پیش)
پاسخ به سوال
reza
9 سال پیش
0
0
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.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .


