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

ارتباط با فایل json درون asset (حل شده)

sun.of.god.7  10 سال پیش  10 سال پیش
0 0

سلام من برای پروژم نیاز دارم که با فایل php لوکال ارتباط جیسون برقرار کنم یعنی بدون وصل شدن به اینترنت این فایل php داخل خود پروژه باشه من فایل php رو داخل asset ساختم و کد جیسون هم نوشتم اما نتونستم ارتباط بر قرار کنم اگه کسی میتونه کمک کنه لطفا زودتر جوابم رو بده

 

 به این روش به asset وصل شدم 
HttpPost post = new HttpPost("file:///android_asset/json.php");
تو این خط کرش میکنه

HttpResponse response = client.execute(post);

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
احمد اسدی  10 سال پیش
+1 0

یه فایل با پسوند json (زیاد مهم نیست) درست کن و محتویات همین کدها جی سون رو بریز داخلش

حالا همین محتویات از طریق زیر میخونیم و میریزم توی متغییری بنام myJson:

  StringBuilder buf=new StringBuilder();
    InputStream json=getAssets().open("contents.json");
    BufferedReader in=
        new BufferedReader(new InputStreamReader(json, "UTF-8"));
    String myJson; //کل اطلاعات در همین متغیر ذخیره میشه

    while ((str=in.readLine()) != null) {
      buf.append(myJson);
} in.close();

الان جی سون رو داری و میتونی ازش استفاده کنی

پاسخ به سوال 
sun.of.god.7  10 سال پیش
0 0

دمت گرم داداش تو stackoverflow جوابشو پیدا کردم

 

با این تابع به فایل جیسونت متصل میشی

   public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("file.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
}
catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}

// حالا به روش قدیمی خودمون باهاش ارتباط برقرار میکنیم

G.object = new JSONObject(loadJSONFromAsset());
JSONArray all = G.object.getJSONArray("all");
for (int i = 0; i < all.length(); i++) این هم برای گرفتن اطلاعات و ریختن تو لیست ویو
{
newStruct s = new newStruct();
s.mt = all.getString(i);
mylist.add(s);//

}

// اینم محتوای فایل جیسون به عنوان مثال

{

"all":[
"item1"
,
"item2"
,
"itme..."


]

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