Skip to main content

BackUp & Restore in android




How to get the BackUp data into the SD Card & Restore it again into the app?

// Method to get Backup from an app Databaseprivate void exportDB() {
       try {
           File sd = Environment.getExternalStorageDirectory();
           File data = Environment.getDataDirectory();
           if (sd.canWrite()) {
               String currentDBPath = "//data//" + "App Package Name" + "//databases//" + DATABASES[0];
               String backupDBPath = DATABASES[0];
               File currentDB = new File(data, currentDBPath);
               File backupDB = new File(sd, backupDBPath);
               FileChannel src = new FileInputStream(currentDB).getChannel();
               FileChannel dst = new FileOutputStream(backupDB).getChannel();
               dst.transferFrom(src, 0, src.size());
               src.close();
               dst.close();
      
           Toast.makeText(getBaseContext(), backupDB.toString(), Toast.LENGTH_LONG).show();
           }
       } catch (Exception e) {
           Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
       }
   }


// Method to restore data into an app

marysudha[6:45 PM]private void importDB() {
       try {
           File sd = Environment.getExternalStorageDirectory();
           File data = Environment.getDataDirectory();
           if (sd.canWrite()) {
               String backupDBPath = "//data//" + "com.android.e_commerceapp" + "//databases//" + DATABASES[0];
               String currentDBPath = DATABASES[0];
               File currentDB = new File(sd, currentDBPath);
               File backupDB = new File(data, backupDBPath);
               FileChannel src = new FileInputStream(currentDB).getChannel();
               FileChannel dst = new FileOutputStream(backupDB).getChannel();
               dst.transferFrom(src, 0, src.size());
               src.close();
               dst.close();
              Toast.makeText(getBaseContext(), backupDB.toString(), Toast.LENGTH_LONG).show();
           }
       } catch (Exception e) {
           Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
       }
   }

//Database Name//Here we can use multiple database(.db)
private static final String[] DATABASES = {
           "onlineshopping.db",                    
  // DATABASE[0]-- It is 0th array element.
   };

Comments

Popular posts from this blog

SearchView using CursorAdapter

Here  MYFRAGMENT is nothing but name of  a Fragment @Override public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {     inflater.inflate(R.menu.popup, menu);     final SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);     final SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();     searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));     searchView.setSubmitButtonEnabled(false);     searchView.setIconifiedByDefault(true);     //       searchView.setOnCloseListener(this);     SearchView. OnQueryTextListener textChangeListener = new SearchView. OnQueryTextListener () {         @Override         public boolean onQueryTextSubmit(String query) {             cartAdapt...

Fragment

To enable/disable menu items in Different fragments in same Activity: @Override public void onCreate(@Nullable Bundle savedInstanceState)  {     super.onCreate(savedInstanceState);     setHasOptionsMenu(true);  } @Override public void onPrepareOptionsMenu(Menu menu) {     //Disable the SearchView which is enabled in Product Chart     menu.findItem(R.id.action_search).setVisible(false);   // true to enable } ====================================================

To make a ListView to be scrolled inside of ScrollView

To make a ListView to be scrolled inside of ScrollView: lv . setOnTouchListener ( new ListView . OnTouchListener () { @Override public boolean onTouch ( View v , MotionEvent event ) { int action = event . getAction (); switch ( action ) { case MotionEvent . ACTION_DOWN : // Disallow ScrollView to intercept touch events. v . getParent (). requestDisallowInterceptTouchEvent ( true ); break ; case MotionEvent . ACTION_UP : // Allow ScrollView to intercept touch events. v . getParent (). requestDisallowInterceptTouchEvent ( false ); break ; } // Handle ListView touch events. v . onTouchEvent ( event ); return true ; } }); Refer: http://stackoverflow.com/questions/6210895/listview-inside-scrollview-is-not-scrolling-on-android