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;
/ * f r o m w w w . j a v a 2 s . c o m * /
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