مشکلات سرعت برنامه من در بخش آنلاین
سلام به استاد عزیز
از اونجایی که هیچی مثل صداقت نیست و بنده هم همونجوری که استاد میدونن از اولین اعضای این سایت بودم و حتما از اینکه میدونن من حرفم از روی صداقته و همیشه هم عرض کردم که همه اعضا و از جمله خود بنده به ایشون مدیون هستیم مطمعنا این انتقاد رو واقعا با دید انتقاد از من قبول خواهند کرد و منتظر پاسخ ایشون خواهم بود . قصد داشتم به صورت ایمیل خصوصی به ایشون پیام بدهم ولی به نظرم ما uncocoder ها یک خونواده هستیم و همون بهتر که مسایل یک خونواده بین خودشون با صداقت حل بشه .. امیدوارم هرکسی هم نظری داره با ادب و احترام بگه ..
استاد من بخش آنلاین رو همه رو با دقت دیدم و برنامه ای کامل بر اساس اطلاعاتی که شما توی ویدیو ها داشتید آنلاین و در ارتباط با سرور نوشتم که یکسری متن ساده و توضیحاتشو بدون عکس حتی از سرور میخونه و به کاربر توی گوشی نشون میده اما متاسفانه این برنامه زمانی که بر روی سرور واقعی میره به خوبی کار نمیکنه و کنده و بعد از مدتی هنگ میکنه .. من در ادامه با تحقیقاتی که کردم دیدم که این برنامه به متدی یا کلاسی یا تکتیکی به اسم async task نیاز داره و اومدم با استفاده ازاون حتی برنامه رو درست کردم ولی باز هم برنامه کند هستش
۱- من برنامه ای نوشتم بر اساس اطلاعاتی که شما بهم دادید اگر این برنامه ها فقط قراره روی لوکال هاست درست کار کنه و بعدها آدم بفهمه که به داستانها و کلاسها و تکنیکهای دیگه ای هم نیاز داره پس چرا در اون سر فصل کفته نشد ؟؟ آیا نباید این بخش رو واقعا روی یک سرور واقعی تست میکردید ؟
۲- من دیدکاهی که الان پیدا کردم کمی منفی شده در مورد آموزشها نمیتونم دروغ بکم شاید هم واقعا از علم کم بنده باشه که الان دارم این حرفا رو میزنم ولی دوست دارم حسمو بگم ببینم واقعا شاید هم ایراد از منه ! راسش من با اومدن سایت uncomaster خیلی دوست دارم عضو این سایت بشم ولی نمیتونم این واقعیتو پنهان کنم که الان ازون بخش آنلاین که راضی نبودم باعث شده دو دل بشم ..
مرصی
نیاز به آیتم دیگه ای نداره، مشکل صرفا میتونه از پیاده سازی شما باشه.
async task رپری برای تردها هستش و صرفا استفاده از اونا رو راحت تر میکنه
AsyncTask is designed to be a helper class around Thread and Handler and does not constitute a generic threading framework. AsyncTasks should ideally be used for short operations (a few seconds at the most.) If you need to keep threads running for long periods of time, it is highly recommended you use the various APIs provided by the java.util.concurrent package such as Executor, ThreadPoolExecutor and FutureTask.
پس کار با ترد یا async task تو خروجی تفاوتی نداره.
پست قبلی شما رو هم دیدم. راهنمایی در مورد رفع ایراد ساختاری یه پروژه تو انجمن ممکن نیست. قفط میشه یه سری حدس و گمان رو اعلام کرد.
<?php
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}
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();
}else if ($action=="readdesc"){
readdesc();
}
function connectToDatabase(){
$connection=mysqli_connect("localhost", "root", "", "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 readdesc(){
$connection = connectToDatabase();
$id = $_REQUEST['id'];
$output = array();
$record = array();
$result = mysqli_query($connection, "SELECT * FROM news WHERE news_id=$id");
while($row = mysqli_fetch_array($result)) {
$record['news_id'] = $row['news_id'];
$record['news_desc'] = $row['news_desc'];
$output[] = $record;
}
echo json_encode($output);
mysqli_close($connection);
}
function read($select){
$connection = connectToDatabase();
// $part = $_REQUEST['part'];
// $start = $part * 10;
$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 ORDER BY news_id DESC");
else
$result = mysqli_query($connection, "SELECT * FROM news WHERE page_number=$select ORDER BY news_id DESC");
// $result = mysqli_query($connection, "SELECT * FROM news WHERE page_number=$select ORDER BY news_id DESC LIMIT $start,10");
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);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .