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

سرور مناسب برای برنامه اندروید

h_uk2009  11 سال پیش  11 سال پیش
+5 0

سلام بر بروبجس عزیز .. بنده برنامه ای نوشتم که با لوکال هاست به خوبی کار میکنه! برنامه هم چیز خیلی عحیب و غریبی نیست و مثل تقریبا پروژه نت استاد با قابلیت ساخت فیوریت و یک مشت اطلاعات متنی رو خوندن و نوشتن روی سرور هم که مشخصاتشو در زیر مینویسم میزارم خوبه ولی یکم که کار میکنی کم کم انگار هنگ میکنه و حتی پنجره این برنامه باید بسته شود ! میاید که گزینه صبر کردن یا بستن رو میده .. ولی هنگ کامل نمیکنه فقط انکار ارسال و دریافت اطلاعاتش خیلی انرژی میگیره حالا یا به خاطر کد نویسی منه ! ؟ یا به احتمال 90 درصد به خاطر سروره جون من برنامم رو طبق اصول استاد نوشتم ... لطفا کسانی که تحربه دارند کمک کنند و کلا بگن اصلا برنامه های تحت وب با کاربر بالا متوسط یا کم جه سروری و هاستی به قول بجا کفتنی نیاز داره ... ممنون میشم استاد عزیز uncocoder هم در این پست مارو یاری کنند .. لازم به ذکره که من برای هربار لود که برنامه میخواد از سرور بخونه دیگه پروکرس بار نذاشتم که مثلا تا لود شد پروگرس رو ببره .. آیا این نیازه ؟ چون استاد هم نذاشت توی آموزشهاش ! آدم باخودش میکه وقتی استاد نمیذاره حتما واسه چهار تا تکست نیازی نیست ولی به نظر من برنامم موقعی هنگ میکنه که هی درخواست میفرستم و همون تابع read رو صدا میزنم توی برنامم اولاش خوبه ولی کم کم میره تو فضای گیر کردن یعنی اکه کسی یکم تند تند روی تب ها بزنه احتمال هنگ شدن میچسبه به سقف !

مشخصات هاست و سپس کد پی اچ پی رو هم میزارم درود بر شما عزیزان :

Bandwidth:      2000 Megabytes
Disk Space:     100 Megabytes

Virtual Domains:        1
Subdomains:     unlimited

POP Email Accounts:     5
Email Forwarders:       unlimited
Email Autoresponders:   unlimited
Email Mailing Lists:    unlimited


FTP accounts:   3
Anonymous FTP:  OFF
FTP Server:     ftp.appbazan.ir
Login:  appbazan
Password:       edbh15Ikx

IP:     158.58.185.137
Use 158.58.185.137/~appbazan to access it until the domain resolves.

You must use these dns servers for your domain. They can be changed through your domain registrar.

NS1:    ns1.toranjit.ir
NS1 IP: 158.58.185.137
NS2:    ns2.toranjit.ir
NS2 IP: 158.58.185.137

MySQL Databases:        5
Domain Pointers:        5
SSH Access:     OFF
Secure Socket Layer:    OFF
CGI:    OFF
PHP:    ON
DNS control:    ON

 <?php
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}

if ($action=="favfunc"){
setfav();
}
if ($action=="read0"){
read(0);
}
else if ($action=="read1"){
read(1);
}
else if ($action=="read2"){
read(2);
}else if ($action=="read3"){
read(3);
}else if ($action=="read4"){
read(4);
}else if ($action=="read5"){
read(5);
}else if ($action=="read6"){
read(6);
}else if ($action=="read7"){
read(7);
}else if ($action=="read8"){
read(8);
}else if ($action=="read9"){
read(9);
}

else if ($action=="insert"){
insert();
} else if ($action=="update"){
update();
} else if ($action=="remove"){
remove();
}

/**
*
*/
function connectToDatabase(){
$connection=mysqli_connect("localhost", "appbazan_admin", "hoseinmirian", "appbazan_hidoctor");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysql_query("SET NAMES 'utf8'");
mysqli_set_charset($connection, 'utf8' );

return $connection;
}

/**
*
*/
function setfav()
{
$connection = connectToDatabase();

$user_id = $_REQUEST['user_id'];
mysqli_query($connection, "UPDATE news SET news.is_fav=0");
mysqli_query($connection, "UPDATE news,user SET news.is_fav=1 WHERE user.news_id=news.news_id AND user_id='$user_id'");
mysqli_close($connection);

}
function read($select){
$connection = connectToDatabase();

$user_id = $_REQUEST['user_id'];
mysqli_query($connection, "UPDATE news SET news.is_fav=0");
mysqli_query($connection, "UPDATE news,user SET news.is_fav=1 WHERE user.news_id=news.news_id AND user_id='$user_id'");

$output = array();
$record = array();
if($select==0)
$result = mysqli_query($connection, "SELECT * FROM news ");
else
$result = mysqli_query($connection, "SELECT * FROM news WHERE page_number=$select");



while($row = mysqli_fetch_array($result)) {
$record['news_id'] = $row['news_id'];
$record['news_title'] = $row['news_title'];
$record['news_desc'] = $row['news_desc'];
$record['page_number'] = $row['page_number'];
$record['is_fav'] = $row['is_fav'];

$output[] = $record;


}




echo json_encode($output);
mysqli_close($connection);
}

/**
*
*/
function insert(){
$connection = connectToDatabase();

$user_id = $_REQUEST['user_id'];
$id = $_REQUEST['id'];
$is_fav = $_REQUEST['is_fav'];
mysqli_query($connection, "INSERT INTO user VALUES (0,'$user_id', $is_fav, $id ) ");
mysqli_query($connection, "UPDATE news,user SET news.is_fav=1 WHERE user.news_id=news.news_id AND user_id='$user_id'");

mysqli_close($connection);
}

/**
*
*/
function update(){
$connection = connectToDatabase();

$user_id = $_REQUEST['user_id'];
$id = $_REQUEST['id'];
//mysqli_query($connection, "UPDATE task SET task_done=$done, task_title='$title', task_desc='$desc' WHERE task_id=$id");
// همیشه استرینک ها رو داخل تک کتیشن بزار
mysqli_query($connection, "UPDATE news,user SET news.is_fav=0 WHERE user.news_id=news.news_id AND user_id='$user_id'");
mysqli_query($connection, "DELETE FROM user WHERE news_id=$id AND user_id='$user_id'");


mysqli_close($connection);
}

/**
*
*/
function remove(){
$connection = connectToDatabase();

$id = $_REQUEST['id'];
mysqli_query($connection, "DELETE FROM task WHERE task_id=$id");

mysqli_close($connection);
}

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
h_uk2009  11 سال پیش
0 0

سلام بچه ها استاد عزیز لطفا کمکو برسونین ن نی نن ن ن

در ضمن برنامه رو تست کردم یک ایراد دیگه داره اونم اینه که کم کم کلا خود برنامه کند میشه و اصلا هنگ میکنه و داغونننن اعصابمون رو به هم ریخته .. .کاری کرده که دیگه آنلاین ننویسم ! ... به نظرم میرسه شاید باید برای فراخونی از وب هر دستور read رو توی یک thread بزارم نظرتون جیه ؟؟؟؟؟؟؟؟؟؟؟ هرجی به ذهنتون میخوره لطفابکینننننننن

بعدم حتی اومدم توی ترد انداختم تیکه کد اندرویدمو ! ولی بازم جواب نمیده و قاط میزنه بدین صورت

    Thread timer = new Thread(new Runnable() {

@Override
public void run() {
try
{
Commands.read(params);
G.adapter.notifyDataSetChanged();

}
catch (Exception e) {
return;
}

}
});

timer.start();

یگی تو رو خدا کمک ! کنه تجربیاتتونو بهمون بکین .. اصلا سوال من اینه :

آیا ربطی به سرور و قدرتش داره ؟ چرا برنامه روی لوکال هاست خودمون مثل هلو کار میکنه پس برنامه ظاهرا ایرادی نداره مسله آیا سروره ؟! من که خودم یک همچین حسی دارم ولی از طرفیم برنامه زمانی که یکم باش کار میکنیم کند میشه و حس میکنم درخواست و اینامو باید بندازم توی ترد ولی بازم نتیجه نداد .. لطفا راهنمایی کنین

پاسخ به سوال 
مجتبی یگانه  11 سال پیش
+1 0

سلام

وقتی ارتباط با سرورت رو خوب مدیریت  نکنی اینجوری میشه ! ، تو باید جوری کد بزنی که تو بد ترین شرایط جواب بده !

مثلا حالت خوب یک وبسرویس میشه این

  1. با دیزاین پترن بیلدر یک درخواست رو به سرور بفرستی (چون تمیز تر هست)
  2. برای گرفتن نتیجه لیسنر داشته باشی و لیسنر رویداد هایی مثل onfailed , onsuccess , onTimeOut, onSocketTimeOut داشته باشه 
  3. با لودینگ ها به کاربر بفهمونی کاری داره انجام میشه و باید صبر کنه و ممکنه نسبت به سرعت اینترنت اش این زمان متغییر باشه
  4. همه ی این کار ها روی Main Thread انجام نشه ! 

پس جدا از اینکه سرورت چه قدرتی داره ، باید برنامه درخواست ها رو خوب مدیریت کنه که شما این کار رو نکردید ! ، استاد  buider و interface ها رو آموزش دادند.

0 0
اوکی دست درست پسر ...اما یک نکته دیگه که فک کنم نگفقتی و البته شاید در آخر به کارم بیاد همون lazy load هم هست که باید در نظر بگیرم ؟ ولی الا الظاهر ! فک کنم باید همون مدیریت خوبی داشته باشم که نداشتم ! (11 سال پیش)
0 0
من فیلمای دانلود لیستنر ها رو دیدم و قبلا هم ازش به خوبی استفاده کردم .. ولی اینجا مسله اینه که اطلاعاتی که میخونیم فایل نیستش بلکه یک مشت داده متنی جی سان شدست این رو باید چحوری اطلاعات حجمشو اینا رو بگیرم ؟ (11 سال پیش)

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