Android Open Source - Multi-Mania-app News Item Loader From Project Back to project page Multi-Mania-app .
License The source code is released under:
MIT License
If you think the Android project Multi-Mania-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package be.ana.nmct.multimania.data;
/ / f r o m w w w . j a v a 2 s . c o m
import android.content.AsyncTaskLoader;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* Created by Astrid on 28/10/2014.
*/
public class NewsItemLoader extends AsyncTaskLoader<Cursor> {
private Cursor mData;
public NewsItemLoader(Context context){
super (context);
}
/**
* Loads the newsitems in a background thread
*/
@Override
public Cursor loadInBackground() {
DbHelper helper = DbHelper.getInstance(getContext());
SQLiteDatabase database = helper.getReadableDatabase();
Cursor cursor = database.query(
MultimaniaContract.NewsItemEntry.TABLE_NAME,
new String[]{MultimaniaContract.NewsItemEntry._ID,
MultimaniaContract.NewsItemEntry.TITLE,
MultimaniaContract.NewsItemEntry.IMAGE,
MultimaniaContract.NewsItemEntry.SHORT_DESCRIPTION,
MultimaniaContract.NewsItemEntry.LONG_DESCRIPTION,
MultimaniaContract.NewsItemEntry.IMPORTANCE,
MultimaniaContract.NewsItemEntry.ORDER},
null,
null,
null,
null,
MultimaniaContract.NewsItemEntry.TITLE + " ASC" );
cursor.getCount();
return cursor;
}
@Override
public void deliverResult(Cursor data) {
if (isReset()){
if (data!=null){
data.close();
}
return ;
}
Cursor oldData = mData;
mData = data;
if (isStarted()){
super.deliverResult(data);
}
if (oldData != null && oldData != data && !oldData.isClosed()){
oldData.close();
}
}
/**
* Starts loading the newsitems
*/
@Override
protected void onStartLoading() {
if (mData != null){
deliverResult(mData);
}
if (takeContentChanged() || mData == null){
forceLoad();
}
}
/**
* Stop loading
*/
@Override
protected void onStopLoading() {
cancelLoad();
}
@Override
public void onCanceled(Cursor data) {
if (data != null && !data.isClosed()){
data.close();
}
}
/**
* Reset loading off the newsitems
*/
@Override
protected void onReset() {
super.onReset();
onStopLoading();
if (mData != null && !mData.isClosed()){
mData.close();
}
mData = null;
}
}
Java Source Code List be.ana.nmct.multimania.ApiTest.java be.ana.nmct.multimania.ApplicationTest.java be.ana.nmct.multimania.CalendarTest.java be.ana.nmct.multimania.DbTest.java be.ana.nmct.multimania.Import.java be.ana.nmct.multimania.NotificationImport.java be.ana.nmct.multimania.ProviderTest.java be.ana.nmct.multimania.SyncTest.java be.ana.nmct.multimania.data.ApiActions.java be.ana.nmct.multimania.data.DbHelper.java be.ana.nmct.multimania.data.GsonLoader.java be.ana.nmct.multimania.data.MultimaniaContract.java be.ana.nmct.multimania.data.MultimaniaProvider.java be.ana.nmct.multimania.data.NewsItemLoader.java be.ana.nmct.multimania.data.RoomLoader.java be.ana.nmct.multimania.data.TagLoader.java be.ana.nmct.multimania.data.TalkLoader.java be.ana.nmct.multimania.model.IData.java be.ana.nmct.multimania.model.NewsItem.java be.ana.nmct.multimania.model.Room.java be.ana.nmct.multimania.model.Speaker.java be.ana.nmct.multimania.model.Tag.java be.ana.nmct.multimania.model.TalkSpeaker.java be.ana.nmct.multimania.model.TalkTag.java be.ana.nmct.multimania.model.Talk.java be.ana.nmct.multimania.model.User.java be.ana.nmct.multimania.service.AuthenticatorService.java be.ana.nmct.multimania.service.Authenticator.java be.ana.nmct.multimania.service.BootListener.java be.ana.nmct.multimania.service.NotificationReceiver.java be.ana.nmct.multimania.service.NotificationSender.java be.ana.nmct.multimania.service.SyncAdapter.java be.ana.nmct.multimania.service.SyncService.java be.ana.nmct.multimania.ui.AboutFragment.java be.ana.nmct.multimania.ui.LoadActivity.java be.ana.nmct.multimania.ui.MainActivity.java be.ana.nmct.multimania.ui.MapFragment.java be.ana.nmct.multimania.ui.MyScheduleFragment.java be.ana.nmct.multimania.ui.MySchedulesFragment.java be.ana.nmct.multimania.ui.NavigationDrawerFragment.java be.ana.nmct.multimania.ui.NewsFragment.java be.ana.nmct.multimania.ui.NewsItemActivity.java be.ana.nmct.multimania.ui.NewsItemFragment.java be.ana.nmct.multimania.ui.ScheduleFragment.java be.ana.nmct.multimania.ui.SchedulesFragment.java be.ana.nmct.multimania.ui.SettingsFragment.java be.ana.nmct.multimania.ui.SuggestionFragment.java be.ana.nmct.multimania.ui.TalkActivity.java be.ana.nmct.multimania.ui.TalkFragment.java be.ana.nmct.multimania.utils.GoogleCalUtil.java be.ana.nmct.multimania.utils.SettingsHelper.java be.ana.nmct.multimania.utils.SettingsUtil.java be.ana.nmct.multimania.utils.SyncUtils.java be.ana.nmct.multimania.utils.Utility.java be.ana.nmct.multimania.vm.NavigationItem.java be.ana.nmct.multimania.vm.ScheduleTalkVm.java be.ana.nmct.multimania.widget.StaggeredGridView.java com.bulletnoid.android.widget.StaggeredGridView.BulletStaggeredGridView.java com.bulletnoid.android.widget.StaggeredGridView.HeaderFooterListAdapter.java com.bulletnoid.android.widget.StaggeredGridView.ScrollerCompatIcs.java com.bulletnoid.android.widget.StaggeredGridView.ScrollerCompat.java