Мне нужно использовать изображение в веб-просмотре, чтобы увеличить его - PullRequest
0 голосов
/ 09 сентября 2011

Мне удалось установить apicture в sdcard эмулятора для имитации работы изображения в веб-просмотре, но я не знаю, как установить его в окончательном пакете apk.

Изображение называется map.png и задается как в drawable, так и в assets, но я безуспешно пытался загрузить его в ... loadUrl (...)

Это мой код, я бы хотел, чтобы кто-нибудь мне помог.

public class Map extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        WebView myWebView = (WebView) findViewById(R.id.webMap);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.getSettings().setBuiltInZoomControls(true);
        myWebView.setWebViewClient(new WebViewClient());
        myWebView.loadUrl("file://mnt/sdcard/map.png");

Это новый отредактированный код, который работает в эмуляторе из актива, куда я должен поместить ваш новый код, чтобы все работало из пакета.

myWebView.setWebViewClient(new WebViewClient());
        myWebView.loadUrl("file:///android_asset/map.png");
        setContentView(myWebView);

Пожалуйста, используйте мое имя файла с изображением, иначе я его не пойму.

1 Ответ

1 голос
/ 10 сентября 2011

Снова. Я ...

У меня есть простой способ для этого ... просто поместите ваши файлы в каталог Assets и во время выполнения скопируйте эти файлы во внутреннее хранилище или внешнее хранилище (sdcard).

нравится,

    try {
     // Open your local file as the input stream
     InputStream myInput = myContext.getAssets().open("image.png");

     // Path to the just created empty file
   String outFileName = "/data/data/<Package Name>/files/newImage.png";

     OutputStream myOutput = new FileOutputStream(outFileName);

     // transfer bytes from the inputfile to the outputfile
       byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer)) > 0) 
              {
    myOutput.write(buffer, 0, length);
    }

    // Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();

    }
             catch (Exception e) 
             {

    Log.e("error", e.toString());

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...