我使用第三方库作为滑块图像,但对于离线模式图像显示在图像sliderview

时间:2016-04-29 06:53:56

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

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

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

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

这是sliderimages的离线模式代码:

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

                }

}

任何人都可以解决这个问题。很高兴欣赏。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想要显示所有连接的图像和...如果没有连接,只有那些不仅仅是网址的图像?

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

例如:

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