کلیدستان

نسخه‌ی کامل: کار نکردن برنامه فلش پلیر
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من چند وقته پیش یک برنامه فلش پلیر دانلود کردم ولی اجرا نمی شد یکسری تغیرات دادم و یک کتابخانه android-support-v7-appcompat بهش اضافه کردم ولی متافانه بازم اجرا نشد(یعنی اجرا میشه برنامه ولی یک پیغام ظاهر میشه تو وب ویو)دلیلش رو نمیدونم
از دوستان خواهش میکنم هر کس وقت داره دانلود کنه فایل رو و ببینه مشکلش چیه 

[attachment=774]

خودم حس میکنم که API برنامه با API  اس دی کا که نصب کردم همخانی نداره و چندتا روش که بلد بودم رو انجام دادم و API برنامه رو پایین اوردم ولی بازم کار نکرد
 نفر از دوستان دانلود کردن سورس برنامه را ولی متاسفانه پاسخی ارائه نکردن
این کد اصلی برنامه ام هست

کد پی‌اچ‌پی:
package com.ahmad.apple;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;

public class 
MainActivity extends ActionBarActivity {
    
    
    private 
WebView wv;

    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
wv=(WebViewfindViewById(R.id.webView1);
        
wv = (WebView)findViewById(R.id.webView1);
        
wv.getSettings().setJavaScriptEnabled(true);
                
wv.getSettings().setAllowFileAccess(true);
     
        if (!
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            
System.exit(4);
        } else {
            
wv.loadUrl("file://" Environment.getExternalStorageDirectory().getAbsolutePath() + "/swf2.html");
        }
        
    }

    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


اینم کد main_activity

کد پی‌اچ‌پی:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
xmlns:tools="http://schemas.android.com/tools"
    
android:layout_width="match_parent"
    
android:layout_height="match_parent"
    
android:paddingBottom="@dimen/activity_vertical_margin"
    
android:paddingLeft="@dimen/activity_horizontal_margin"
    
android:paddingRight="@dimen/activity_horizontal_margin"
    
android:paddingTop="@dimen/activity_vertical_margin"
    
tools:context="com.ahmad.apple.MainActivity" >

    <
WebView
        android
:id="@+id/webView1"
        
android:layout_width="match_parent"
        
android:layout_height="match_parent"
        
android:layout_alignParentLeft="true"
        
android:layout_alignParentTop="true" />

</
RelativeLayout

همچنان منتظرم دوستان پاسخی ارائه بدن

این تصویری که تو sdk نمایش داده میشه

 
سلام.
این طور که از عکس مشخصه، خود کدها مشکلی نداره که با خطای جدی روبرو شویم و تنها فایل html را برای نمایش در WebView پیدا نکرده است. بنابراین در کدها به بخش مربوط به تعریف آدرس فایل html مراجعه کرده و آن را بررسی کنید.


 
درسته برنامه مشکلی نداره
اخه کد های html  هم چندبار بررسی کردم مشکلی نداره
از این جا کد ها رو گرفتم
لینک
فقط اندازه نمایش رو تغییر دادم
این کد منه

کد پی‌اچ‌پی:
<html>
  <
head>
    <
meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
  </
head>
  <
body>
    <
object width="215" height="140">
      <
param name="movie" value="choudanse7us.swf">
        <
embed src="file:///mnt/sdcard/choudanse7us.swf"
               
width="215" height="140">
        </
embed>
    </
object>
  </
body>
</
html
 
دوست عزیز مطمئن شید که داخل آدرس

کد پی‌اچ‌پی:
Storage/sdcard/swf2.html 

فایلی با نام swf2.html وجود دارد؟ به احتمال خیلی زیاد یا وجود ندارد یا نام فایل اشتباه نوشته شده و یکی نیست.
سلام
این ادرست را میشه بگید چطوری میشه پیدا کنم بعد ببینم که ایا اون فایل توش هست یا نه؟
دوست عزیز شما باید خودتون این فایل رو توی اون آدرس ،قبلش گذاشته باشید...بعدش همون طور که ادرس بالا نشون میده .برید داخل کارت حافظه بعد دنبال همچین فایلی که از قبل گذاشته اید برید..
سلام
اها بله منظورتون رو فهمیدم
بله اون فایل هست داخل حافظه برنامه
ولی نمی دونم چرا میگید که اون فایل باید داخلش باشه یعنی منظورم اینه که باید این فایل رو پیدا کرد swf.html

سلام.
شما فایلتون در پوشه assets قرار دارد. پس آدرس را اشتباه نوشته اید. برای چگونگی آدرس دهی برای یک فایل موجود در پوشه assets ، مثالی در کلید زیر وجود دارد :

کلید شماره 2633

همون طور که آدمین گفت شما فایل رو داخل فولدر برنامه تون گذاشتید..بعد در داخل دستوارتتون آدرس حافظه خارجی گوشی رو دادید تا بره اون فایل پیدا کنه...
خب عملا ارور میده چون داخل اون آدرسی که توی برنامه نوشتید فایلی نیست
بله درسته
من اومدم این کار را انجام دادم و برنامه خطایی نگرفت
ادرست فایل رو به این تغییر دادم
کد پی‌اچ‌پی:
wv.loadUrl("file:///android_asset/swf.html"); 
بعد اومد تو فایل html هم این ادرست رو دادم و کدها اینجوری شد
کد پی‌اچ‌پی:
<embed src=file:///android_asset/choudanse7us.swf" 
ولی متاسفانه بازم نشد

 
در فایل html ، دیگر آدرس دهی نسبی است و ربطی به پوشه بندی برنامه اندروید نخواهد داشت.
پس آدرس به صورت زیر نوشته می شود (آدرس نسبی فایل ها) :

کد پی‌اچ‌پی:
<embed src="choudanse7us.swf" 

خیلی ممنون از پاسختون
این عمل رو انجام دادم اون نوشته ها رفت فقط یه صفحه سفید رنگ نشون میده همش
مثل زیر:
[attachment=785]
من فکر میکنم از این دستور شرطی هستش که اینجوری میشه نظر شما چیه؟
کد پی‌اچ‌پی:
        if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            
System.exit(4);
        } else {
            
wv.loadUrl("file:///android_asset/swf.html");
        } 
ممنون میشم راهنماییم کنید