عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 55
موضوعها: 26
تاریخ عضویت: دى ۱۳۹۳
اعتبار:
8
سپاس ها 8
سپاس شده 52 بار در 27 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۳/۲۹, ۰۷:۰۴ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۰, ۰۳:۴۸ ق.ظ توسط admin.)
سلام.خسته نباشید.
من یک وب ویو دارم و کدهاشو توی یه رشته string ذخیره کردم و با استفاده از
کد پیاچپی: wb.loadData(Stringname, "text/html" ,null);
کد هارو نمایش میدم.
ولی مشکل اینجاست که کلمات فارسی رو نمایش نمیده و بجاش یه حروف ناشناسی نمایش داده میشه.
خواهشا اگه راه حلی دارید بگید.ممنون
گفتند که تک سوارمان در راه است از اول صبح چشممان بر راه است از یازدهم دوازده قرن گذشت تا ساعت تو چقدر دیگر راه است؟ اللهم عجل لولیک الفرج ...
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۳/۳۰, ۰۳:۵۱ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۰, ۰۳:۵۵ ق.ظ توسط admin.)
سلام.
WebView برای نمایش صفحات وب که بر پایه HTML هستند به کار می رود، بنابراین باید کد مورد نظرتان را در کد قالب استاندارد برای HTML نوشته و نوع کدینک کاراکترها را هم برابر UTF-8 قرار بدهید. کد HTML استاندارد صفحه می تواند به صورت زیر باشد :
کد پیاچپی: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head>
<body> </body> </html>
شما کد یا متن مورد نظرتان را باید بین دو تگ body (زوج تگ body) بنویسید.
3 تا رشته (String) تعریف کنید. اولی شامل کد زیر :
کد پیاچپی: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head>
<body>
دومی شامل همان کد یا متن مورد نظرتان (که می تواند متغیر باشد) و سومی شامل کد زیر خواهد بود :
بنابراین قبل از نمایش در WebView ، سه رشته (String) را به هم الحاق کرده و بعد رشته حاصل را در WebView بارگذاری می کنید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 55
موضوعها: 26
تاریخ عضویت: دى ۱۳۹۳
اعتبار:
8
سپاس ها 8
سپاس شده 52 بار در 27 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۳/۳۰, ۰۹:۵۰ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۰, ۰۶:۰۱ ب.ظ توسط admin.)
سلام ممنون از راهنماییتون.ولی بازم مشکل حل نشد.ببینید تمام کد هایی که من نوشتم:
کد پیاچپی: final WebView web = (WebView)findViewById(R.id.webView1); web.setWebViewClient(new WebViewClient()); web.getSettings().setLoadWithOverviewMode(true); web.getSettings().setUseWideViewPort(true); web.getSettings().setBuiltInZoomControls(true); web.getSettings().setDefaultTextEncodingName(code_l); web.getSettings().setDefaultFontSize(50); final String c1 = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><title>Untitled Document</title></head><body>"; final String c2 = "</body></html>";
et = (EditText)findViewById(R.id.editText1);
String editText_input = et.getText().toString(); String all = c1 + editText_input + c2; web.loadData(all , "text/html", null);
با این حال باز هم متن فارسی به صورت زیر نمایش داده میشه:
گفتند که تک سوارمان در راه است از اول صبح چشممان بر راه است از یازدهم دوازده قرن گذشت تا ساعت تو چقدر دیگر راه است؟ اللهم عجل لولیک الفرج ...
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۳/۳۰, ۰۶:۰۲ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۰, ۰۶:۰۳ ب.ظ توسط admin.)
خط زیر از کدها را حذف کنید :
کد پیاچپی: web.getSettings().setDefaultTextEncodingName(code_l);
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 15
موضوعها: 3
تاریخ عضویت: خرداد ۱۳۹۴
اعتبار:
2
سپاس ها 0
سپاس شده 18 بار در 8 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۳/۳۱, ۰۳:۳۹ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۱, ۰۶:۱۳ ب.ظ توسط admin.)
سلام دوست عزیز اگه میخوای یه کتاب بنویسی و میخوای کلماتی که توش مینویسی فارسی نمایش بدن میتونی این کد رو توی جاوا بنویسی
کد پیاچپی: book = (ViewGroup) findViewById(R.id.book);
//testTextView(); testWebView(); }
private void testWebView() { String content = readContent("content/session2.html"); final WebView webView = new WebView(this); book.addView(webView); webView.loadDataWithBaseURL("file:///android_asset/", content, "text/html", "UTF-8", ""); }
private void testTextView() { String content = readContent("content/session2.html"); final TextView textView = new TextView(this); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView.setGravity(Gravity.RIGHT); textView.setLinksClickable(true); textView.setText(Html.fromHtml(content)); book.addView(textView); }
private String readContent(String contentUrl) { InputStream inputStream = null; try { inputStream = getResources().getAssets().open(contentUrl); String sample = streamToString(inputStream); return sample; } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
return null;
}
private String streamToString(InputStream inputStream) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuffer = new StringBuilder();
String line = null; try { while ((line = bufferedReader.readLine()) != null) { stringBuffer.append((line + "\n")); } } catch (IOException e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return stringBuffer.toString();
البته مسیر Html من در پوشه ی asset توی فولدر asset پوشه ای به نام content هستش
کد پیاچپی: "file:///android_asset/", content, "text/html"
و در قسمت پایین اسم اون جایی که میخوام متنو بنویسم session2 هستش ادامشو برات تو پیام بعدی مینویسم
کد پیاچپی: String content = readContent("content/session2.html");
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 15
موضوعها: 3
تاریخ عضویت: خرداد ۱۳۹۴
اعتبار:
2
سپاس ها 0
سپاس شده 18 بار در 8 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۳/۳۱, ۰۳:۴۶ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۳/۳۱, ۰۶:۱۴ ب.ظ توسط admin.)
خوب در ادامه کارمون با جاوا تموم شد حلا باید فایل main رو باز کنی و توش این کدا رو بزاری
کد پیاچپی: <LinearLayout android:id="@+id/book" android:layout_width="match_parent" android:layout_height="wrap_content" >
</LinearLayout>
خوب کارت تموم شد برو سراغ اون Html که ساختی که من داخل فولدر asset ساختمش وارد اون شو و این تنظیماتی که بهت میدم توش بنویس تا کارت راه بیوفته و بتونی توش فارسی بنویسی
کد پیاچپی: <html> <head> <meta charset="UTF-8"> <style> @font-face{ font-family: 'yekan'; src: url('font/test.svg') format('svg'); }
* { text-align: justify; color: #fff; /*font-family: yekan;*/ }
html, body { font-size: 12px; background-color: #000; }
.ltr { direction: ltr; }
.rtl { direction: rtl; }
.wideLine { line-height: 2.0em; }
h2 { color: #f80; }
</style> </head>
تموم شد .موفق باشی
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 55
موضوعها: 26
تاریخ عضویت: دى ۱۳۹۳
اعتبار:
8
سپاس ها 8
سپاس شده 52 بار در 27 ارسال
حالت من: هیچ کدام
سلام.ممنون از راهنمایی هاتون.آقا ادمین بنده هم کدی که گفتید حذف کنم رو برای نمایش کلمات فارسی نوشته بودم که مقدار متغیر برابر utf-8 بود که با حذف کردنش بازم درست نشد ...
آقا امیر حسین از راهنمایی شما هم ممنونم ولی من میخوام کدهایی که تو متغیر ذخیره شده رو نشون بدم و از روی فایل نمیخوام ...
گفتند که تک سوارمان در راه است از اول صبح چشممان بر راه است از یازدهم دوازده قرن گذشت تا ساعت تو چقدر دیگر راه است؟ اللهم عجل لولیک الفرج ...
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
(۱۳۹۴/۰۴/۰۵, ۰۷:۵۷ ب.ظ)'hassan8971' نوشته: سلام.ممنون از راهنمایی هاتون.آقا ادمین بنده هم کدی که گفتید حذف کنم رو برای نمایش کلمات فارسی نوشته بودم که مقدار متغیر برابر utf-8 بود که با حذف کردنش بازم درست نشد ...
سلام.
متن را چگونه ذخیره کرده اید ؟
همچنین کد متناظر با آن (نحوه ذخیره شدن) و کد فراخوانی (نحوه فراخوانی و قرار دادن در String) را ذکر کنید.
در ضمن، بد نیست یک بار متن را در TextView تست کنید. اگر در TextView هم مشکل داشته باشد، یعنی مشکل اصلی از نحوه ذخیره سازی متن است (موقع ذخیره شدن، کاراکترها تغییر می کنند).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 55
موضوعها: 26
تاریخ عضویت: دى ۱۳۹۳
اعتبار:
8
سپاس ها 8
سپاس شده 52 بار در 27 ارسال
حالت من: هیچ کدام
سلام.بازم ممنون از راهنمایی هاتون.
مشکلم حل شد
گفتند که تک سوارمان در راه است از اول صبح چشممان بر راه است از یازدهم دوازده قرن گذشت تا ساعت تو چقدر دیگر راه است؟ اللهم عجل لولیک الفرج ...
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2
موضوعها: 0
تاریخ عضویت: مهر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 2 بار در 1 ارسال
حالت من: هیچ کدام
۱۳۹۴/۰۷/۲۲, ۰۵:۱۳ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۷/۲۳, ۰۹:۱۳ ق.ظ توسط admin.)
با سلام
بنده اماتور و مبتدی هستم خواهشا به صورت حرفه ای جواب ندید. من تمامی مشکلات ایجاد برنامه به شیوه ای که از سرورهای انلاین که به زبان php نوشته شده اند رو برطرف کرده ام و برنامه نصب و اجرا می شود محتویات در textview کاملا فارسی نمایش داده می شود اما در قسمت webview دقیقا این مشکل رو دارم که از راهنمایی های شما هم استفاده کردم اما مشکلم حل نشد
کد مربوط به تگ phpرودر صفحه inde.php وارد کردم..
در سمت کدهای جاوا این کد رو دارم
کد پیاچپی: webview.setBackgroundColor(Color.parseColor("#ffffff")); webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setDefaultTextEncodingName("UTF-8"); String mimeType = "text/html"; String encoding = "utf-8"; String htmlText = mdesc;
String text = "<html><head>" + "<style type=\"text/css\">body{color: #000000;}" + "</style></head>" + "<body>" + htmlText + "</body></html>";
webview.loadData(text, mimeType, encoding);
من اون کد مورد نظر شما رو حذف کردم اما نتیجه ای نداد
کد پیاچپی: webview.getSettings().setDefaultTextEncodingName("UTF-8");
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۴/۰۷/۲۳, ۰۹:۱۵ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۴/۰۷/۲۳, ۰۹:۲۰ ق.ظ توسط admin.)
(۱۳۹۴/۰۷/۲۲, ۰۵:۱۳ ب.ظ)'reza5791' نوشته: با سلام
بنده اماتور و مبتدی هستم خواهشا به صورت حرفه ای جواب ندید. من تمامی مشکلات ایجاد برنامه به شیوه ای که از سرورهای انلاین که به زبان php نوشته شده اند رو برطرف کرده ام و برنامه نصب و اجرا می شود محتویات در textview کاملا فارسی نمایش داده می شود اما در قسمت webview دقیقا این مشکل رو دارم که از راهنمایی های شما هم استفاده کردم اما مشکلم حل نشد
کد مربوط به تگ phpرودر صفحه inde.php وارد کردم..
در سمت کدهای جاوا این کد رو دارم
کد پیاچپی: webview.setBackgroundColor(Color.parseColor("#ffffff")); webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setDefaultTextEncodingName("UTF-8"); String mimeType = "text/html"; String encoding = "utf-8"; String htmlText = mdesc;
String text = "<html><head>" + "<style type=\"text/css\">body{color: #000000;}" + "</style></head>" + "<body>" + htmlText + "</body></html>";
webview.loadData(text, mimeType, encoding);
من اون کد مورد نظر شما رو حذف کردم اما نتیجه ای نداد
کد پیاچپی: webview.getSettings().setDefaultTextEncodingName("UTF-8");
سلام.
شما چارچوب استاندارد HTML را به کار نبرده اید (تنها تگ های html و head و body ذکر شده است).
چارچوب استاندارد HTML :
کد پیاچپی: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head>
<body> </body> </html>
که بخش مهم آن برای نمایش کلمات فارسی، خط زیر می باشد (البته دیدم utf-8 را برای WebView ذکر کرده اید، ولی آن را در چارچوب HTML نیز به صورت زیر درج کنید) :
کد پیاچپی: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
------------------------------
در مواردی که کلمات فارسی به درستی در TextView نمایش داده می شوند، مشکل در کدنویسی کد HTML و نمایش در WebView است و خود متن مشکلی ندارد.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
عدم نمایش کلمات فارسی در webview (در برنامه نویسی اندروید)
ارسالها: 2
موضوعها: 0
تاریخ عضویت: مهر ۱۳۹۴
اعتبار:
0
سپاس ها 0
سپاس شده 2 بار در 1 ارسال
حالت من: هیچ کدام
با سپاس از توجه شما.. من نکاتی رو که گفتید رو اجرا کرده ام .. مباحث این پرسش رو هم بارها خوندم ولی باز نتیجه ای نداد
این کد صفحه index.php سرور ساید من که بدین شکل می باشد
کد پیاچپی: <?php $filename = 'includes/db_connection.php'; if(!file_exists($filename)){ header("location:installation/index.php"); exit; } include('includes/db_connection.php'); include('common.php'); include('messages/messages.php'); mysql_query("SET NAMES 'utf8'"); $admin_sql = "select * from tbl_general"; $admin_mysql = mysql_query($admin_sql); $admin_row = mysql_fetch_array($admin_mysql); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- <!DOCTYPE html> --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- start: Meta <meta charset="utf-8"> --> <title><?php if($admin_row['project_title']!=""){echo $admin_row['project_title'];}else{ echo "App Project";}?></title> <!-- end: Meta --> <!-- start: Mobile Specific --> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- end: Mobile Specific --> <!-- start: CSS --> <link id="bootstrap-style" href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/bootstrap-responsive.min.css" rel="stylesheet"> <link id="base-style" href="css/style.css" rel="stylesheet"> <link id="base-style-responsive" href="css/style-responsive.css" rel="stylesheet"> <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&subset=latin,cyrillic-ext,latin-ext' rel='stylesheet' type='text/css'> <!-- end: CSS -->
<!-- The HTML5 shim, for IE6-8 support of HTML5 elements --> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <link id="ie-style" href="css/ie.css" rel="stylesheet"> <![endif]--> <!--[if IE 9]> <link id="ie9style" href="css/ie9.css" rel="stylesheet"> <![endif]--> <!-- start: Favicon --> <link rel="shortcut icon" href="img/favicon.ico"> <!-- end: Favicon --> <style type="text/css"> body { background: url(img/bg-login.jpg) !important; } </style> </head>
<body> <div class="container-fluid-full"> <div class="row-fluid"> <div class="row-fluid"> <div class="login-box"> <h2>Login</h2> <p style="color:#990000; font-size:14px;" align="center"> <?php if(isset($_SESSION['msg'])){ echo $admin_lang[$_SESSION['msg']] ; unset($_SESSION['msg']); }?> </p> <form class="form-horizontal" action="login_db.php" method="post"> <fieldset> <div class="input-prepend" title="Username"> <span class="add-on"><i class="halflings-icon user"></i></span> <input class="input-large span10" name="username" id="username" type="text" placeholder="type username"/> </div> <div class="clearfix"></div> <div class="input-prepend" title="Password"> <span class="add-on"><i class="halflings-icon lock"></i></span> <input class="input-large span10" name="password" id="password" type="password" placeholder="type password"/> </div> <div class="button-login"> <button type="submit" class="btn btn-primary">Login</button> </div> <div class="clearfix"></div> </form> </div> <!--/span--> </div> <!--/row-->
</div><!--/.fluid-container--> </div><!--/fluid-row--> <!-- start: JavaScript-->
<script src="js/jquery-1.9.1.min.js"></script> <script src="js/jquery-migrate-1.0.0.min.js"></script> <script src="js/jquery-ui-1.10.0.custom.min.js"></script> <script src="js/jquery.ui.touch-punch.js"></script> <script src="js/modernizr.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/jquery.cookie.js"></script> <script src='js/fullcalendar.min.js'></script> <script src='js/jquery.dataTables.min.js'></script>
<script src="js/excanvas.js"></script> <script src="js/jquery.flot.js"></script> <script src="js/jquery.flot.pie.js"></script> <script src="js/jquery.flot.stack.js"></script> <script src="js/jquery.flot.resize.min.js"></script> <script src="js/jquery.chosen.min.js"></script> <script src="js/jquery.uniform.min.js"></script> <script src="js/jquery.cleditor.min.js"></script> <script src="js/jquery.noty.js"></script> <script src="js/jquery.elfinder.min.js"></script> <script src="js/jquery.raty.min.js"></script> <script src="js/jquery.iphone.toggle.js"></script> <script src="js/jquery.uploadify-3.1.min.js"></script> <script src="js/jquery.gritter.min.js"></script> <script src="js/jquery.imagesloaded.js"></script> <script src="js/jquery.masonry.min.js"></script> <script src="js/jquery.knob.modified.js"></script> <script src="js/jquery.sparkline.min.js"></script> <script src="js/counter.js"></script> <script src="js/retina.js"></script>
<script src="js/custom.js"></script> <!-- end: JavaScript--> </body> </html>
در کدهای بالا بنا به دانش اندک بنذه تمامی چهارچوب ها رو رعایت کرده ام
اما این هم کد صفحه نمایش ایتم ها با وب ویو و تکست ویو جاوا در پروژه اندروید می باشد
کد پیاچپی: package com.apps.bastakmusic;
import java.util.ArrayList; import java.util.List;
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
import android.app.Dialog; import android.app.ProgressDialog; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.AsyncTask; import android.os.Bundle; import android.provider.Settings.Secure; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.webkit.WebView; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener; import android.widget.TextView; import android.widget.Toast;
import com.example.imageloader.ImageLoader; import com.example.item.ItemRelated; import com.example.item.Item_MovieList; import com.example.util.AlertDialogManager; import com.example.util.Constant; import com.example.util.JsonUtils; import com.example.util.SessionManager;
public class MovieDetailsActivity extends ActionBarActivity{
Toolbar toolbar; TextView txt_mname,txt_mdate,txt_mcast,txt_mview; WebView webmdetail; ImageView img_moview; int position; String Id,mid,mcid,mgid,mtitle,mcast,mimg,mdesc,mdate,mview,mrate; AlertDialogManager alert = new AlertDialogManager(); public ImageLoader imageLoader; List<Item_MovieList> arrayOfHome; Item_MovieList objAllBean; List<ItemRelated> arrayofRelated; ItemRelated objChildBean; LinearLayout linear,linearContent; ProgressBar pbar; String rate_msg;
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // StartAppAd.init(this, getString(R.string.startapp_dev_id), getString(R.string.startapp_app_id,false)); setContentView(R.layout.moviedetail_activity); toolbar = (android.support.v7.widget.Toolbar) this.findViewById(R.id.toolbar); //toolbar.setTitle(Constant.CATEGORY_NAMEE); this.setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); imageLoader=new ImageLoader(MovieDetailsActivity.this);
// StartAppAd.showSlider(this);
Constant.DEVICE_ID=Secure.getString(MovieDetailsActivity.this.getContentResolver(), Secure.ANDROID_ID); //Log.e("Device Id", Constant.DEVICE_ID);
txt_mname=(TextView)findViewById(R.id.txt_mname); txt_mdate=(TextView)findViewById(R.id.txt_mdate); txt_mcast=(TextView)findViewById(R.id.txt_mcast); txt_mview=(TextView)findViewById(R.id.txt_mview); img_moview=(ImageView)findViewById(R.id.img_mvoiew); webmdetail=(WebView)findViewById(R.id.webView1); linear=(LinearLayout)findViewById(R.id.content); linearContent=(LinearLayout)findViewById(R.id.rel_c_content);
arrayOfHome=new ArrayList<Item_MovieList>(); arrayofRelated=new ArrayList<ItemRelated>();
if (JsonUtils.isNetworkAvailable(MovieDetailsActivity.this)) { new MyTask().execute(Constant.SINGLEMOVIE_URL+Constant.CATEGORYLIST_IDD); } else { showToast(getString(R.string.conn_msg3)); alert.showAlertDialog(MovieDetailsActivity.this, getString(R.string.conn_msg4), getString(R.string.conn_msg2), false); }
if (JsonUtils.isNetworkAvailable(MovieDetailsActivity.this)) { new MyTaskView().execute(Constant.VIEWCOUNT_URL+Constant.DEVICE_ID+"&movie_id="+Constant.CATEGORYLIST_IDD); //Log.e("rate", ""+Constant.RATING_URL+Constant.DEVICE_ID+"&movie_id="+Constant.CATEGORYLIST_IDD); } else { showToast("پیوند به اینترنت یافت نشد"); alert.showAlertDialog(MovieDetailsActivity.this, "خطای پیوند به اینترنت", "اینترنت خود را وصل کنید", false); }
}
private class MyTask extends AsyncTask<String, Void, String> {
ProgressDialog pDialog;
@Override protected void onPreExecute() { super.onPreExecute();
pDialog = new ProgressDialog(MovieDetailsActivity.this); pDialog.setMessage("در حال بارگذاری..."); pDialog.setCancelable(false); pDialog.show(); }
@Override protected String doInBackground(String... params) { return JsonUtils.getJSONString(params[0]); }
@Override protected void onPostExecute(String result) { super.onPostExecute(result);
if (null != pDialog && pDialog.isShowing()) { pDialog.dismiss(); }
if (null == result || result.length() == 0) { showToast("خطای اتصال به سرور"); alert.showAlertDialog(MovieDetailsActivity.this, "اتصال به سرور شکست خورد", "سرور برنامه یا اینترنت ضعیف باعث این خطا می باشد", false);
} else {
try { JSONObject mainJson = new JSONObject(result); JSONArray jsonArray = mainJson.getJSONArray(Constant.CATEGORY_ARRAY_NAME); JSONObject objJson = null; for (int i = 0; i < jsonArray.length(); i++) { objJson = jsonArray.getJSONObject(i);
Item_MovieList objItem = new Item_MovieList();
objItem.setCLID(objJson.getString(Constant.CATEGORYLIST_ID)); objItem.setCLCID(objJson.getString(Constant.CATEGORYLIST_CID)); objItem.setCLGID(objJson.getString(Constant.CATEGORYLIST_GID)); objItem.setCLTITLE(objJson.getString(Constant.CATEGORYLIST_TITLE)); objItem.setCLMCAST(objJson.getString(Constant.CATEGORYLIST_MCAST)); objItem.setCLMIMG(objJson.getString(Constant.CATEGORYLIST_MIMG)); objItem.setCLMDESC(objJson.getString(Constant.CATEGORYLIST_MDESC)); objItem.setCLMDATE(objJson.getString(Constant.CATEGORYLIST_MDATE)); objItem.setCLMVIEW(objJson.getString(Constant.CATEGORYLIST_MVIEW)); objItem.setCLMRATE(objJson.getString(Constant.CATEGORYLIST_MRATE));
arrayOfHome.add(objItem);
JSONArray jsonArraychild = objJson.getJSONArray(Constant.RELATED_ITEM_ARRAY_NAME); if(jsonArraychild.length()==0) {
} else { for(int j=0 ;j< jsonArraychild.length();j++) { JSONObject objChild = jsonArraychild.getJSONObject(j); ItemRelated item=new ItemRelated(); item.setRelatedId(objChild.getString(Constant.RELATED_ITEM_MID)); item.setRelatedTitle(objChild.getString(Constant.RELATED_ITEM_MNAME)); item.setRelatedImage(objChild.getString(Constant.RELATED_ITEM_MTHUMB)); arrayofRelated.add(item); } }
}
} catch (JSONException e) { e.printStackTrace(); }
setAdapterToListview(); }
} }
public void setAdapterToListview() {
objAllBean=arrayOfHome.get(0); mid=objAllBean.getCLID(); mcid=objAllBean.getCLCID(); mgid=objAllBean.getCLGID(); mtitle=objAllBean.getCLTITLE(); mcast=objAllBean.getCLMCAST(); mimg=objAllBean.getCLMIMG(); mdesc=objAllBean.getCLMDESC(); mdate=objAllBean.getCLMDATE(); mview=objAllBean.getCLMVIEW(); mrate=objAllBean.getCLMRATE();
txt_mname.setText(mtitle); txt_mdate.setText(mdate); txt_mcast.setText(mcast); txt_mview.setText(mview);
imageLoader.DisplayImage(Constant.SERVER_IMAGE_UPFOLDER_THUMB+mimg,img_moview);
webmdetail.setBackgroundColor(Color.parseColor("#ffffff")); webmdetail.getSettings().setBuiltInZoomControls(true); webmdetail.getSettings().setJavaScriptEnabled(true); webmdetail.getSettings().setDefaultTextEncodingName("UTF-8"); String mimeType = "text/html"; String encoding = "utf-8"; String htmlText = mdesc;
String text = "<html><head>" + "<style type=\"text/css\">body{color: #000000;}" + "</style></head>" + "<body>" + htmlText + "</body></html>";
webmdetail.loadData(text, mimeType, encoding);
if(arrayofRelated.size()==0) { linearContent.removeAllViews(); TextView txt=new TextView(MovieDetailsActivity.this); txt.setText("موزیک مشابه یافت نشد"); txt.setTextColor(getResources().getColor(R.color.black)); txt.setTextSize(16f); linearContent.addView(txt); } else { RelatedContent(); }
} public void RelatedContent() { linearContent.removeAllViews(); int i=0; do { if(i>=arrayofRelated.size()) { return; }
View view = getLayoutInflater().inflate(R.layout.related_content, null); final ImageView imageView = (ImageView)view.findViewById(R.id.img_rela); final TextView txt_relmname=(TextView)view.findViewById(R.id.text_relmname); imageView.setId(i);
linearContent.addView(view); objChildBean=arrayofRelated.get(i); imageLoader.DisplayImage(Constant.SERVER_IMAGE_THUMB+objChildBean.getRelatedImage().toString(), imageView); txt_relmname.setText(objChildBean.getRelatedTitle().toString());
imageView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { // TODO Auto-generated method stub objChildBean=arrayofRelated.get(imageView.getId()); Intent intdetials=new Intent(MovieDetailsActivity.this,MovieDetailsActivity.class); intdetials.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); Constant.CATEGORYLIST_IDD=objChildBean.getRelatedId(); //Constant.SINGLE_CHANNEL=objChildBean.getRelatedTitle(); startActivity(intdetials); finish(); } }); i++; }while(true); }
public void showToast(String msg) { Toast.makeText(MovieDetailsActivity.this, msg, Toast.LENGTH_LONG).show();
} @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.detail_menu, menu);
return super.onCreateOptionsMenu(menu); }
@Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { case android.R.id.home: onBackPressed(); return true;
case R.id.rating:
final Dialog dialog = new Dialog(MovieDetailsActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.ratedialog); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
final TextView txtrate=(TextView)dialog.findViewById(R.id.textView1); Button btnrate=(Button)dialog.findViewById(R.id.button1); RatingBar rating=(RatingBar)dialog.findViewById(R.id.ratingBar1);
rating.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
@Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { // TODO Auto-generated method stub txtrate.setText(String.valueOf(rating)); } });
btnrate.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { // TODO Auto-generated method stub
if(txtrate.getText().toString().equalsIgnoreCase("")) { showToast("حداقل یک ستاره انتخاب کنید"); } else { dialog.dismiss();
if (JsonUtils.isNetworkAvailable(MovieDetailsActivity.this)) { new MyTaskRating().execute(Constant.RATING_URL+Constant.DEVICE_ID+"&rate="+txtrate.getText().toString()+"&movie_id="+mid); //Log.e("rate", ""+Constant.RATING_URL+Constant.DEVICE_ID+"&rate="+txtrate.getText().toString()+"&movie_id="+mid); } else { showToast("No Network Connection!!!"); alert.showAlertDialog(MovieDetailsActivity.this, "Internet Connection Error", "Please connect to working Internet connection", false); } }
} }); dialog.show();
return true;
case R.id.coment: if(isLogin()) { objAllBean=arrayOfHome.get(position); Constant.CATEGORYLIST_IDD=objAllBean.getCLID(); Constant.ACTORLIST_TITLEE=objAllBean.getCLTITLE(); Log.e("vid", ""+Constant.CATEGORYLIST_IDD); Intent intentupload=new Intent(getApplicationContext(),CommentActivity.class); intentupload.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intentupload); } else { //Toast.makeText(MovieDetailsActivity.this, "If you want add comment then you need to Login First.", Toast.LENGTH_SHORT).show(); Intent up_auth=new Intent(getApplicationContext(),AuthonticationActivity.class); up_auth.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(up_auth); Constant.LOGIN_FORM="Upload"; }
return true;
default: return super.onOptionsItemSelected(menuItem); } } public boolean isLogin() {
SessionManager sessionManager=new SessionManager(getApplicationContext()); return sessionManager.isLoggedIn(); }
private class MyTaskRating extends AsyncTask<String, Void, String> {
ProgressDialog pDialog;
@Override protected void onPreExecute() { super.onPreExecute();
pDialog = new ProgressDialog(MovieDetailsActivity.this); pDialog.setMessage("در حال بارگذاری..."); pDialog.setCancelable(false); pDialog.show(); }
@Override protected String doInBackground(String... params) { return JsonUtils.getJSONString(params[0]); }
@Override protected void onPostExecute(String result) { super.onPostExecute(result);
if (null != pDialog && pDialog.isShowing()) { pDialog.dismiss(); }
if (null == result || result.length() == 0) { showToast("محتوایی یافت نشد");
} else {
try { JSONObject mainJson = new JSONObject(result); JSONArray jsonArray = mainJson.getJSONArray(Constant.CATEGORY_ARRAY_NAME); JSONObject objJson = null; for (int i = 0; i < jsonArray.length(); i++) { objJson = jsonArray.getJSONObject(i); rate_msg=objJson.getString(Constant.RATE_MSG); }
} catch (JSONException e) { e.printStackTrace(); } setAdapterToListviewRate(); }
}
public void setAdapterToListviewRate() {
showToast(rate_msg);
if(rate_msg.equals("شما قبلا امتیاز داده اید")) {
} else {
}
} }
private class MyTaskView extends AsyncTask<String, Void, String> {
ProgressDialog pDialog;
@Override protected void onPreExecute() { super.onPreExecute();
pDialog = new ProgressDialog(MovieDetailsActivity.this); pDialog.setMessage("Loading..."); pDialog.setCancelable(false); pDialog.show(); }
@Override protected String doInBackground(String... params) { return JsonUtils.getJSONString(params[0]); }
@Override protected void onPostExecute(String result) { super.onPostExecute(result);
if (null != pDialog && pDialog.isShowing()) { pDialog.dismiss(); }
if (null == result || result.length() == 0) { showToast("No data found from web!!!");
} else {
try { JSONObject mainJson = new JSONObject(result); JSONArray jsonArray = mainJson.getJSONArray(Constant.CATEGORY_ARRAY_NAME); JSONObject objJson = null; for (int i = 0; i < jsonArray.length(); i++) { objJson = jsonArray.getJSONObject(i); rate_msg=objJson.getString(Constant.RATE_MSG); }
} catch (JSONException e) { e.printStackTrace(); } setAdapterToListviewRate(); }
}
public void setAdapterToListviewRate() {
//showToast(rate_msg);
if(rate_msg.equals("You Have Already Views")) {
} else {
}
} } }
ممنون میشم خودتون بازبینی کنید ببینید کجای کار ایراد داره و مطمئنم یک مشکل جزئی بیش نیست که من رو دو یه هفته است سردر گم کرده است
|