【问题标题】:I used third party library for slider image, but for offline mode images are displayed in image sliderview我将第三方库用于滑块图像,但对于离线模式,图像显示在图像滑块视图中
【发布时间】:2016-04-29 06:53:55
【问题描述】:

我使用第三方库来滑动图像,但对于离线存储,我使用了发送到 SQLite 的 SQLite 整个 JSON 数据。如果当互联网不可用时,sqlite 只有图像 url,那时图像无法在 imageslider 中显示,但所有图像显示在 imageslider 中。我不知道只有 url 在 SQLite 中如何在 imagesliderview 中显示。

我不想在android中离线模式时显示。

我用这个库编译'com.daimajia.androidanimations:library:1.0.3@aar'

这是滑块图像的离线模式代码:

private void BannerImageOffline() {

    String BannerImages = db.getNumbers(Constants.BannerImages);


    Log.d(TAG, BannerImages.toString());
    if (BannerImages != null) {
        try {
            JSONObject bannerimages=new JSONObject(BannerImages);
            //   int status=jsonObject.optInt("status");

            String status = bannerimages.optString("status");
            if (status.equalsIgnoreCase("200")) {//check the status 200 or not
                try {
                    bannerpath = bannerimages.getString("bannerPath");
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                JSONArray jsonArray = null;
                try {
                    JSONObject response = bannerimages.getJSONObject("response");
                    jsonArray = response.getJSONArray(DATA);


                    if (jsonArray.length() > 0) {
                        // looping through json and adding to movies list
                        for (int i = 0; i < jsonArray.length(); i++) {

                            try {
                                JSONObject alertObj = jsonArray.getJSONObject(i);


                                String images = bannerpath + alertObj.getString("banner_name");
                                HashMap<String, String> map = new HashMap<String, String>();
                                map.put(FLAG, images);
                                for (String name : map.keySet()) {
                                    // TextSliderView textSliderView = new TextSliderView(MainActivity.this);
                                    DefaultSliderView textSliderView = new DefaultSliderView(getActivity());
                                    // initialize a SliderLayout
                                    textSliderView
                                            // .description(name)
                                            .image(map.get(name))
                                            .setScaleType(BaseSliderView.ScaleType.Fit)
                                            .setOnSliderClickListener(Home_Page.this);

                                    //add your extra information
                                    textSliderView.bundle(new Bundle());
                                    textSliderView.getBundle()
                                            .putString("extra", name);

                                    mDemoSlider.addSlider(textSliderView);
                                }

                            } catch (JSONException e) {
                                Log.e(TAG, "JSON Parsing error: " + e.getMessage());
                            }
                        }


                        // adapter.notifyDataSetChanged();
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                }

                // stopping swipe refresh
                // swipeRefreshLayout.setRefreshing(false);
                hidepDialog();
            } // condtion check the status 200
            else // this is if status falied in runtime
            {
                Toast.makeText(getActivity(), "Status Failed in Banner Page check ur network connection", Toast.LENGTH_LONG).show();

            }
                }

        catch (JSONException e) {
        e.printStackTrace();
    }

                    // If  condtion end of the project

                }

}

任何人解决这个问题很高兴感谢。

【问题讨论】:

  • 那么..你找到解决方案了吗?
  • 不,我没有找到,但图像滑块中仍然显示离线模式图像,我认为第三方有这样的缓存

标签: android android-layout android-fragments android-studio android-imageview


【解决方案1】:

如果我理解正确,您想显示所有图像(如果已连接),并且...如果未连接,则仅显示不只是 url 的图像,对吗?

在我看来,最好的方法是在 SQL 端处理它。

例如:

getResults (boolean isConnected) {
        String query = "SELECT * FROM tableName";
        if (!connected)
            query += " WHERE someOtherFieldThanUrl IS NOT NULL";
//query the request
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2013-01-25
    • 2016-09-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多