Android Open Source - DEVIEW2014_AndroidApp_Demo Db Table






From Project

Back to project page DEVIEW2014_AndroidApp_Demo.

License

The source code is released under:

Apache License

If you think the Android project DEVIEW2014_AndroidApp_Demo 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 com.nhn.android.deview.core.db;
/*from  w  w w.  ja va 2 s .  com*/
import java.lang.reflect.Field;
import java.util.HashMap;

import android.content.ContentValues;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

import com.nhn.android.deview.core.connector.DataField;

public class DbTable {
  static HashMap<String,String> TYPEMAP = new HashMap<String, String>(); 
  static {
    TYPEMAP.put("byte", "INTEGER");
    TYPEMAP.put("short", "INTEGER");
    TYPEMAP.put("int", "INTEGER");
    TYPEMAP.put("long", "INTEGER");
    TYPEMAP.put("float", "REAL");
    TYPEMAP.put("double", "REAL");
    TYPEMAP.put("String", "TEXT");
    TYPEMAP.put("byte[]", "BLOB");
    
  }
  public static  boolean createTable(SQLiteDatabase db,String name,Class<?> cls) {
    StringBuilder sb = new StringBuilder();
    sb.append("CREATE TABLE IF NOT EXISTS ");
    sb.append(name);
    sb.append(" (");

    Field[] fields = cls.getFields();
    
    for(int i = 0; i < fields.length; i++) {      
      DataField ref = fields[i].getAnnotation(DataField.class);      
      if (ref != null) {
        String type = fields[i].getType().getSimpleName();
        String colType = TYPEMAP.get(type);
        if (colType == null) {
          return false;
        }
        
        String attr = ref.attr();
        
        if (ref.name().length() > 0) {
          sb.append(ref.name());
        } else {
          sb.append(fields[i].getName());
        }
        sb.append(" ");
        sb.append(type);
        sb.append(" ");
        sb.append(attr);
        if ( fields.length-1 > i ) {
          sb.append(",");
        }
      }
    }
    sb.append(");");
    try {
      db.execSQL(sb.toString());
    } catch (SQLException e) {
      e.printStackTrace();
      return false;
    }
    
    return true;
    
  }
  
  public static ContentValues toContentValues(Object object,String[] names) {
    ContentValues values = new ContentValues();
    
    if (names == null) {
      Field[] fields = object.getClass().getFields();
      names = new String[fields.length];
      
      for(int i = 0; i < fields.length; i++) {
      names[i] = fields[i].getName();  
      }
    }
    
    for(String name:names) {
      try {
        Field field = object.getClass().getField(name);
        String stype = field.getType().getSimpleName();
        if (stype.equals("int") == true) {
          values.put(name,field.getInt(object));
        } else if (stype.equals("float") == true) {
          values.put(name,field.getFloat(object));
        } else if (stype.equals("String") == true) {
          values.put(name, (String)field.get(object));
        }
        
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return values;
  }
}




Java Source Code List

com.nhn.android.deview.AppContext.java
com.nhn.android.deview.AppTable.java
com.nhn.android.deview.DeViewApplication.java
com.nhn.android.deview.DeviewSchemeActivity.java
com.nhn.android.deview.MainDB.java
com.nhn.android.deview.ThreadWorker.java
com.nhn.android.deview.core.connector.DataConnectorListener.java
com.nhn.android.deview.core.connector.DataDoc.java
com.nhn.android.deview.core.connector.DataField.java
com.nhn.android.deview.core.connector.DataSet.java
com.nhn.android.deview.core.connector.DefaultDataConnector.java
com.nhn.android.deview.core.db.CursorReader.java
com.nhn.android.deview.core.db.DbTable.java
com.nhn.android.deview.core.lifecycle.CycleBaseLayout.java
com.nhn.android.deview.core.lifecycle.CycleControllable.java
com.nhn.android.deview.core.lifecycle.CycleControllerActivity.java
com.nhn.android.deview.core.lifecycle.CycleController.java
com.nhn.android.deview.core.lifecycle.CycleFragment.java
com.nhn.android.deview.core.listview.ListCellViewAdapter.java
com.nhn.android.deview.core.listview.ListCellView.java
com.nhn.android.deview.core.listview.PageViewPagerAdapter.java
com.nhn.android.deview.core.listview.PageView.java
com.nhn.android.deview.core.pager.SimplePagerAdapter.java
com.nhn.android.deview.core.transfer.BundleField.java
com.nhn.android.deview.core.transfer.BundleMapper.java
com.nhn.android.deview.core.transfer.IntentUri.java
com.nhn.android.deview.core.transfer.UriObject.java
com.nhn.android.deview.core.view.DeclareView.java
com.nhn.android.deview.core.view.ViewMapper.java
com.nhn.android.deview.dao.DeviewUri.java
com.nhn.android.deview.dao.MyMemoManager.java
com.nhn.android.deview.dao.MyMemo.java
com.nhn.android.deview.dao.MySchedule.java
com.nhn.android.deview.dao.program.ProgramData.java
com.nhn.android.deview.dao.program.ProgramListConnector.java
com.nhn.android.deview.dao.program.ProgramListDoc.java
com.nhn.android.deview.dao.program.ProgramManager.java
com.nhn.android.deview.dao.program.ProgramTrack.java
com.nhn.android.deview.dao.program.TrackListConnector.java
com.nhn.android.deview.ui.main.MainActivity.java
com.nhn.android.deview.ui.main.ProgramCellView.java
com.nhn.android.deview.ui.main.ProgramPageView.java
com.nhn.android.deview.ui.note.MemoCellView.java
com.nhn.android.deview.ui.note.MemoListActivity.java
com.nhn.android.deview.ui.note.MemoRecorder.java
com.nhn.android.deview.ui.note.MyScheduleActivity.java
com.nhn.android.deview.webviewer.MemoWebToolbar.java
com.nhn.android.deview.webviewer.ProgramWebActivity.java
com.nhn.android.deview.webviewer.WebPageView.java