sh.mahdavi
چهارشنبه 26 آبان 1395, 19:48 عصر
سلام و خسته نیاشید
من با اندروید استدیو آخرین ورژنش و sdk ورژن 24.3.4 یه برنامه موبایل نوشتم برای یکی از شهر ها. سرعت برنامه داخل شهر خودم(شیراز) بسیار عالی است، با وای فای و با اینترنت H+ ایرانسل و همراه اول تست کردم. خیلی خوب و سریع بالا میاد.
برای برقراری ارتباط با سرور از دستور زیر استفاده میکنم و برای دریافت اطلاعات از php فریم ویورک codingnighter استفاده میکنم و نمونه دستوراتمو زیر آوردم:
سرعت برنامه در شهر گناوه به گفته خود صاحب برنامه بسیار پایینه و میگه دیر برنامه بالا میاد.
بنظر شما مشکل از کجاست؟(نوع برنامه نویسی اندروید؟ سرعت اینترنت؟نوع هاستی که اطلاعات داخلش هست؟)
کد برای ارسال درخواست به سرور:
public class get_advs extends AsyncTask {
@Override
protected Object doInBackground(Object... arg0) {
// TODO Auto-generated method stub
try{
String data= URLEncoder.encode("offset","utf8")+URLEncoder.encode("","utf8");
URL link=new URL(MainActivity.url+"get_advs");
URLConnection connect=link.openConnection();
//send data
connect.setDoOutput(true);
OutputStreamWriter wr=new OutputStreamWriter(connect.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader reader=new BufferedReader(new InputStreamReader(connect.getInputStream()));
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!= null){
sb.append(line);
}
res=sb.toString();
if (res.length() > 0) {
res = res.substring(1, res.length());
}
}catch(Exception e){
res=e.toString();
}
return "";
}
@Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
id = new ArrayList<String>();
image_address= new ArrayList<String>();
job_id_slide= new ArrayList<String>();
try {
JSONArray ja = new JSONArray(res);
for (int i = 0; i < ja.length(); i++) {
JSONObject ID = ja.getJSONObject(i);
JSONObject PIC = ja.getJSONObject(i);
JSONObject JOB_ID = ja.getJSONObject(i);
id.add(ID.getString("id"));
job_id_slide.add(JOB_ID.getString("job_id"));
image_address.add(PIC.getString("image_address"));
str_id11 = id.toArray(new String[id.size()]);
arr_job_id_slid = job_id_slide.toArray(new String[job_id_slide.size()]);
str_image_addresst=image_address.toArray(new String[image_address.size()]);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int num_length = str_id11.length;
if (num_length>1){
init();
new notification_message().execute();
}
}
}
نمونه کد php دریافت اطلاعات از دیتا بیس و ارسال به اپ:
if($request == 'get_advs2'){
$data= $this->base_model->get_data('khedri_advertisements','*',array('div'=>'bottom'));
echo json_encode($data);
}
من با اندروید استدیو آخرین ورژنش و sdk ورژن 24.3.4 یه برنامه موبایل نوشتم برای یکی از شهر ها. سرعت برنامه داخل شهر خودم(شیراز) بسیار عالی است، با وای فای و با اینترنت H+ ایرانسل و همراه اول تست کردم. خیلی خوب و سریع بالا میاد.
برای برقراری ارتباط با سرور از دستور زیر استفاده میکنم و برای دریافت اطلاعات از php فریم ویورک codingnighter استفاده میکنم و نمونه دستوراتمو زیر آوردم:
سرعت برنامه در شهر گناوه به گفته خود صاحب برنامه بسیار پایینه و میگه دیر برنامه بالا میاد.
بنظر شما مشکل از کجاست؟(نوع برنامه نویسی اندروید؟ سرعت اینترنت؟نوع هاستی که اطلاعات داخلش هست؟)
کد برای ارسال درخواست به سرور:
public class get_advs extends AsyncTask {
@Override
protected Object doInBackground(Object... arg0) {
// TODO Auto-generated method stub
try{
String data= URLEncoder.encode("offset","utf8")+URLEncoder.encode("","utf8");
URL link=new URL(MainActivity.url+"get_advs");
URLConnection connect=link.openConnection();
//send data
connect.setDoOutput(true);
OutputStreamWriter wr=new OutputStreamWriter(connect.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader reader=new BufferedReader(new InputStreamReader(connect.getInputStream()));
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!= null){
sb.append(line);
}
res=sb.toString();
if (res.length() > 0) {
res = res.substring(1, res.length());
}
}catch(Exception e){
res=e.toString();
}
return "";
}
@Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
id = new ArrayList<String>();
image_address= new ArrayList<String>();
job_id_slide= new ArrayList<String>();
try {
JSONArray ja = new JSONArray(res);
for (int i = 0; i < ja.length(); i++) {
JSONObject ID = ja.getJSONObject(i);
JSONObject PIC = ja.getJSONObject(i);
JSONObject JOB_ID = ja.getJSONObject(i);
id.add(ID.getString("id"));
job_id_slide.add(JOB_ID.getString("job_id"));
image_address.add(PIC.getString("image_address"));
str_id11 = id.toArray(new String[id.size()]);
arr_job_id_slid = job_id_slide.toArray(new String[job_id_slide.size()]);
str_image_addresst=image_address.toArray(new String[image_address.size()]);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int num_length = str_id11.length;
if (num_length>1){
init();
new notification_message().execute();
}
}
}
نمونه کد php دریافت اطلاعات از دیتا بیس و ارسال به اپ:
if($request == 'get_advs2'){
$data= $this->base_model->get_data('khedri_advertisements','*',array('div'=>'bottom'));
echo json_encode($data);
}