我使用第三方库来滑动图像,但是对于离线存储,我使用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
}
}
任何人都可以解决这个问题。很高兴欣赏。
答案 0 :(得分:0)
如果我理解正确,你想要显示所有连接的图像和...如果没有连接,只有那些不仅仅是网址的图像?
在我看来,最好的方法是在SQL端处理它。
例如:
getResults (boolean isConnected) {
String query = "SELECT * FROM tableName";
if (!connected)
query += " WHERE someOtherFieldThanUrl IS NOT NULL";
//query the request
}