2017-04-15 14 views
0

私はレガシーのAndroid Javaアプリケーションを持っています。 Per Facebook's instructions、私は次のコードを追加した先のジェネリックActivityている:しかし、私の場合、私は私がネイティブバンドルを反応させて、私のAndroidデバイスのキャッシュにそれを置いたので、私はそれを改正しているダウンロードした画像を読み込むために反応するネイティブのアンドロイドを有効にします

mReactRootView = new ReactRootView(this); 
    mReactInstanceManager = ReactInstanceManager.builder() 
      .setApplication(getApplication()) 
      .setBundleAssetName("index.android.bundle") 
      .setJSMainModuleName("index.android") 
      .addPackage(new MainReactPackage()) 
      .setUseDeveloperSupport(BuildConfig.DEBUG) 
      .setInitialLifecycleState(LifecycleState.RESUMED) 
      .build(); 
    mReactRootView.startReactApplication(mReactInstanceManager, "HelloWorld", null); 
    setContentView(mReactRootView); 

をダウンロードしています次の呼び出しを追加することにより例は:

.setJSBundleFile(mReactNativeLocalFile.getAbsolutePath())

これが成功した私のダウンロードバンドル、画像負荷のしかしどれをロードするために私を可能にしました。このように、のような画像を読み込むコンポーネント:

<Image source={require('./img/background.jpg')} style={styles.backgroundImage} />

は、実際の画像をレンダリングしないでください。

すべての画像が正常に抽出され、自分のバンドルに隣接するassetsという名前のフォルダに配置されていることを確認しました。このように、私のフォルダ構造は次のようになります。

したがって
com.myapp/cache/templates/MyApp/ 
    index.android.bundle 
    assets/ 
    img/ 
     background.jpg 

、それが可能な場合もダウンロードされている画像を参照するには、Androidのファイルシステムにローカルにダウンロードされているネイティブのテンプレートバンドルを反応させるために誰も私を伝えることができますローカルにアンドロイドファイルシステムに?

答えて

0

Based on this changeは、正しい答えは次のようになりますあなたのローカルディスク上のフォルダ構造です:

com.myapp/cache/templates/MyApp/ 
    index.android.bundle 
    drawable-mdpi/ 
    img_background.jpg 
関連する問題